使用说明
基于Google ADK项目的MCP服务器
该项目使用谷歌的代理开发工具包(ADK)实现了一个模型上下文协议(MCP)服务器,用于构建智能代理和工具。该系统具有多个专门的代理,它们通过协调代理进行协作,以处理不同类型的请求。
项目结构
├── 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
先决条件
- Python 3.9+
- Groq和OpenRouter密钥
工作流程架构
设置
- 克隆此存储库
- 创建虚拟环境:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate - 安装依赖项:
pip install -r requirements.txt - 设置您的Groq和Openrouter密钥: 在.env中添加密钥(如果可用),否则将文件创建为
touch .env
添加密钥
OPENROUTER_API_KEY="ADD_Your_Key"
GROQ_API_KEY="ADD_Your_Key"
运行MCP服务器
python server.py
这将启动MCP服务器 http://0.0.0.0:8080
可用代理
代理程序
协调器代理使用基于LLM的路由将请求定向到最合适的专用代理。它分析请求的内容,并确定哪个代理可以最好地处理它。
搜索代理
执行网络搜索并提供各种主题的信息。
请求示例:
curl -X POST http://localhost:8080/ask -H "Content-Type: application/json" -d '{"query":"What is Model Context Protocol?"}'
数据分析代理
分析各种文件格式(CSV、Excel)的数据,并生成可视化报告。
请求示例:
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"}'
代码生成器代理
基于自然语言描述生成各种编程语言的代码。
请求示例:
curl -X POST http://localhost:8080/ask -H "Content-Type: application/json" -d '{"query":"Python code for fibonacci series","language":"python"}'
API终点
/ask-路由到相应专业代理的通用端点/search-直接网络搜索的端点/analyze-data-数据分析端点/generate-code-代码生成端点/chat/completions-会话交互的聊天完成端点
MCP工具
服务器公开了以下MCP工具:
ask-将用户的查询路由到最合适的代理search-在网上搜索信息analyze_data-分析数据文件并生成可视化报告generate_code-基于自然语言描述生成代码
扩展此项目
要添加新代理,请执行以下操作:
- 在中创建新文件
agents/目录 - 使用async实现代理类
process()方法 - 更新协调器代理以识别并路由到新代理
要添加新工具,请执行以下操作:
- 在中创建新文件
tools/目录 - 使用全面的文档字符串实现工具功能
- 在您的代理中导入和使用该工具
