Gemini Terminal Agent
A powerful terminal-based agent using Googleβs Gemini model with web search capabilities. This agent lets you interact with Gemini through your terminal while leveraging real-time web search for up-to-date information.
Features
- π€ Conversational AI Interface - Talk with Googleβs Gemini models directly from your terminal
- π Web Search Integration - Get real-time information from the web
- π¬ Conversation History - Maintain context throughout your conversation
- π οΈ Advanced Search Options - Filter by domains, exclude sites, and more
- π Clean, Modular Architecture - Well-structured codebase thatβs easy to extend
Installation
Prerequisites
- Python 3.9+
- Google API key for Gemini models
- Google Custom Search Engine (CSE) API key and ID
Setup
Clone the repository:
git clone https://github.com/yourusername/gemini-terminal-agent.git cd gemini-terminal-agentCreate a virtual environment (recommended):
python -m venv venv source venv/bin/activate # On Windows: venvScriptsactivateInstall dependencies:
pip install -r requirements.txtCreate a
.envfile in the project root with your API keys:GOOGLE_GENAI_API_KEY=your_gemini_api_key_here SEARCH_ENGINE_API_KEY=your_google_api_key_here SEARCH_ENGINE_CSE_ID=your_cse_id_here DEFAULT_MODEL=gemini-2.5-flash-preview-04-17
Setting Up Google Search Engine
To use the web search functionality, you need to set up a Google Custom Search Engine:
Get a Google API Key:
- Go to Google Cloud Console
- Create a new project or select an existing one
- Navigate to βAPIs & Servicesβ > βLibraryβ
- Search for βCustom Search APIβ and enable it
- Go to βAPIs & Servicesβ > βCredentialsβ
- Create an API key and copy it (this will be your
SEARCH_ENGINE_API_KEY)
Create a Custom Search Engine:
- Go to Programmable Search Engine
- Click βCreate a Programmable Search Engineβ
- Add sites to search (use
*.comto search the entire web) - Give your search engine a name
- In βCustomizeβ > βBasicsβ, enable βSearch the entire webβ
- Get your Search Engine ID from the βSetupβ > βBasicsβ page (this will be your
SEARCH_ENGINE_CSE_ID)
Get a Gemini API Key:
- Go to Google AI Studio
- Sign in with your Google account
- Go to βAPI Keysβ and create a new API key
- Copy the API key (this will be your
GOOGLE_GENAI_API_KEY)
Usage
Run the agent from the terminal:
python main.py
Commands
- Type your question or prompt to interact with the agent
- Type
helpto see available tools and commands - Type
clearto clear the conversation history - Type
exit,quit, orqto exit the program
Example Queries
>>> What is the capital of France?
Paris is the capital of France. It is located in the north-central part of the country on the Seine River.
>>> search for recent developments in quantum computing
Searching the web for recent developments in quantum computing...
[Agent response with up-to-date information]
>>> help
π Available Tools:
- search: Search for information online based on a query
- advanced_search: Perform an advanced search with domain filtering and time range options
β¨οΈ Terminal Commands:
- help: Show this help message
- clear: Clear conversation history
- exit/quit/q: Exit the program
Project Structure
gemini-terminal-agent/
β
βββ main.py # Main entry point
βββ search_server.py # Search server entry point
βββ .env # Environment variables (not versioned)
β
βββ agent/ # Agent implementation
β βββ __init__.py
β βββ terminal_agent.py # Core agent implementation
β βββ config.py # Agent configuration
β
βββ search/ # Search functionality
β βββ __init__.py
β βββ server.py # MCP search server
β βββ engine.py # Search engine implementation
β βββ content.py # Web content extraction
β
βββ utils/ # Shared utilities
βββ __init__.py
βββ config.py # Global configuration
βββ logging.py # Logging setup
Advanced Configuration
You can customize the agentβs behavior by modifying settings in your .env file:
# Model settings
DEFAULT_MODEL=gemini-2.5-flash-preview-04-17
# Other models: gemini-1.5-pro, gemini-1.5-flash
# Search settings
MAX_CONCURRENT_REQUESTS=5
CONNECTION_TIMEOUT=10
CONTENT_TIMEOUT=15
MAX_CONTENT_LENGTH=5000
CACHE_TTL=3600
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- This project uses LangChain for the agent framework
- Web search functionality powered by Google Custom Search Engine
- Built with Googleβs Gemini models
MCP Search Server
Project Details
- Nghiauet/mcp-agent
- MIT License
- Last Updated: 4/19/2025
Recomended MCP Servers
Simple curl script to play aloud what you type, useful if your voice is suddenly broken.
A Model Context Protocol (MCP) server that enables AI assistants to query and analyze Azure Data Explorer databases...
mcp server for sns
δΈδΈͺε―δ»₯δ½Ώη¨cambridge dictionaryζ₯θ―’εθ―ηmcpζε‘ε¨
MCP server for Naver Search API integration. Provides comprehensive search capabilities across Naver services (web, news, blog, shopping,...
MCP Server for Roam Research Graph Integration
mcp learning
MCP-Server to query the experimental Anthropic Prompt Tools API
MCP server for applying a Claude Shannon-inspired problem-solving pattern
An MCP Server to utilize Codelogic's rich software dependency data in your AI programming assistant.
MCP server for RootData API integration





