返回市场
带有MCP的AI代理

带有MCP的AI代理

作者:zayedrais4 星标更新:2025-05-28

项目介绍

使用Google ADK项目的MCP服务器

该项目使用Google的Agent Development Kit (ADK) 实现了一个Model Context Protocol (MCP) 服务器,用于构建智能代理和工具。该系统包含多个专门的代理,通过协调器代理协作处理不同类型的请求。

详情参见Medium文章

项目结构

├── agents/                    # 包含代理实现
│   ├── coordinator_agent.py   # 基于LLM的智能请求路由器
│   ├── data_analysis_agent.py # 分析数据文件并生成可视化结果的代理
│   ├── search_agent.py        # 进行网络搜索和信息检索的代理
│   └── code_generator_agent.py # 根据描述生成代码的代理
├── tools/                     # 包含工具实现
│   ├── code_generator_tool.py # 在多种编程语言中生成代码
│   ├── data_analysis_tool.py  # 分析数据并创建可视化结果
│   ├── data_reader_tool.py    # 从各种文件格式读取数据
│   ├── report_generator_tool.py # 生成格式化的报告
│   └── web_search_tool.py     # 执行网络搜索
├── input_data/                # 输入数据文件目录(CSV, Excel)
├── analysis_output/plots/     # 生成的数据可视化结果
├── reports/                   # 生成的分析报告
├── generated_code/            # 生成的代码输出
├── server.py                  # 使用FastMCP实现的MCP服务器
├── requests_log.txt           # 请求和响应的日志
└── README.md                  # 本文件

预备条件

  • Python 3.9+
  • Groq 和 OpenRouter 密钥

工作流程架构

image

设置

  1. 克隆此仓库
  2. 创建虚拟环境:
    python -m venv venv
    source venv/bin/activate  # 在Windows上:venv\Scripts\activate
    
  3. 安装依赖项:
    pip install -r requirements.txt
    
  4. 设置您的Groq & Openrouter密钥: 如果存在,请在.env文件中添加密钥,否则创建文件
touch .env 

添加密钥

OPENROUTER_API_KEY="ADD_Your_Key"
GROQ_API_KEY="ADD_Your_Key" 

运行MCP服务器

python server.py

这将在http://0.0.0.0:8080启动MCP服务器

可用代理

协调器代理

协调器代理使用基于LLM的路由,将请求定向到最合适的专用代理。它分析请求的内容,并确定哪个代理可以最好地处理它。

搜索代理

执行网络搜索并提供关于各种主题的信息。

示例请求:

curl -X POST http://localhost:8080/ask -H "Content-Type: application/json" -d '{"query":"什么是模型上下文协议?"}'

数据分析代理

分析来自各种文件格式(CSV, Excel)的数据,并生成带有可视化的报告。

示例请求:

curl -X POST http://localhost:8080/ask -H "Content-Type:  application/json" -d '{"file_path": "sales_data.xlsx","query":"为这些数据生成报告"}'

代码生成代理

根据自然语言描述生成多种编程语言的代码。

示例请求:

curl -X POST http://localhost:8080/ask -H "Content-Type: application/json" -d '{"query":"Python斐波那契数列代码","language":"python"}'

API端点

  • /ask - 将用户查询路由到最合适的代理的一般端点
  • /search - 直接进行网络搜索的端点
  • /analyze-data - 数据分析的端点
  • /generate-code - 代码生成的端点
  • /chat/completions - 对话交互的聊天完成端点

MCP工具

服务器暴露以下MCP工具:

  • ask - 将用户的查询路由到最合适的代理
  • search - 在网络上搜索信息
  • analyze_data - 分析数据文件并生成带有可视化的报告
  • generate_code - 根据自然语言描述生成代码

扩展此项目

要添加新的代理:

  1. agents/目录下创建一个新文件
  2. 实现具有异步process()方法的代理类
  3. 更新协调器代理以识别并路由到新代理

要添加新的工具:

  1. tools/目录下创建一个新文件
  2. 实现工具功能,并编写全面的文档字符串
  3. 在您的代理中导入并使用该工具