MCP Server with Google ADK
An MCP server using Google's Agent Development Kit with multiple specialized agents (search, data analysis, code generation) coordinated by an LLM-based router for intelligent request handling.
README
MCP Server with Google ADK Project
This project implements a Model Context Protocol (MCP) server using Google's Agent Development Kit (ADK) for building intelligent agents and tools. The system features multiple specialized agents that collaborate through a coordinator agent to handle different types of requests.
Project Structure
├── agents/ # Contains agent implementations
│ ├── coordinator_agent.py # LLM-based intelligent request router
│ ├── data_analysis_agent.py # Agent for analyzing data files with visualization
│ ├── search_agent.py # Agent for web searches and information retrieval
│ └── code_generator_agent.py # Agent for generating code based on descriptions
├── tools/ # Contains tool implementations
│ ├── code_generator_tool.py # Generates code in various programming languages
│ ├── data_analysis_tool.py # Analyzes data and creates visualizations
│ ├── data_reader_tool.py # Reads data from various file formats
│ ├── report_generator_tool.py # Generates formatted reports
│ └── web_search_tool.py # Performs web searches
├── input_data/ # Directory for input data files (CSV, Excel)
├── analysis_output/plots/ # Generated data visualizations
├── reports/ # Generated analysis reports
├── generated_code/ # Generated code outputs
├── server.py # MCP Server implementation using FastMCP
├── requests_log.txt # Log of requests and responses
└── README.md # This file
Prerequisites
- Python 3.9+
- Groq and OpenRouter Key
Working Flow Architecture
Setup
- Clone this repository
- Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate - Install dependencies:
pip install -r requirements.txt - Set up your Groq & Openrouter Key: add key in .env if available otherwise create file as
touch .env
add key
OPENROUTER_API_KEY="ADD_Your_Key"
GROQ_API_KEY="ADD_Your_Key"
Running the MCP Server
python server.py
This will start the MCP server on http://0.0.0.0:8080
Available Agents
Coordinator Agent
The coordinator agent uses LLM-based routing to direct requests to the most appropriate specialized agent. It analyzes the content of the request and determines which agent can best handle it.
Search Agent
Performs web searches and provides information on various topics.
Example Request:
curl -X POST http://localhost:8080/ask -H "Content-Type: application/json" -d '{"query":"What is Model Context Protocol?"}'
Data Analysis Agent
Analyzes data from various file formats (CSV, Excel) and generates reports with visualizations.
Example Request:
curl -X POST http://localhost:8080/ask -H "Content-Type: application/json" -d '{"file_path": "sales_data.xlsx","query":"make a report for these data"}'
Code Generator Agent
Generates code in various programming languages based on natural language descriptions.
Example Request:
curl -X POST http://localhost:8080/ask -H "Content-Type: application/json" -d '{"query":"Python code for fibonacci series","language":"python"}'
API Endpoints
/ask- General endpoint that routes to the appropriate specialized agent/search- Endpoint for direct web searches/analyze-data- Endpoint for data analysis/generate-code- Endpoint for code generation/chat/completions- Chat completion endpoint for conversational interaction
MCP Tools
The server exposes the following MCP tools:
ask- Routes the user's query to the most appropriate agentsearch- Searches the web for informationanalyze_data- Analyzes data files and generates reports with visualizationsgenerate_code- Generates code based on natural language descriptions
Extending This Project
To add new agents:
- Create a new file in the
agents/directory - Implement the agent class with an async
process()method - Update the coordinator agent to recognize and route to the new agent
To add new tools:
- Create a new file in the
tools/directory - Implement the tool functionality with comprehensive docstrings
- Import and use the tool in your agents
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.