MCP Server with Google ADK

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.

Category
Visit Server

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.

Details in Medium Post

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

image

Setup

  1. Clone this repository
  2. Create a virtual environment:
    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. Install dependencies:
    pip install -r requirements.txt
    
  4. 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 agent
  • search - Searches the web for information
  • analyze_data - Analyzes data files and generates reports with visualizations
  • generate_code - Generates code based on natural language descriptions

Extending This Project

To add new agents:

  1. Create a new file in the agents/ directory
  2. Implement the agent class with an async process() method
  3. Update the coordinator agent to recognize and route to the new agent

To add new tools:

  1. Create a new file in the tools/ directory
  2. Implement the tool functionality with comprehensive docstrings
  3. Import and use the tool in your agents

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured