AI代理工具

一个基于OpenRouter和Model Context Protocol (MCP)的AI代理,支持天气查询和网络搜索功能。

  • by edeesdar
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 edeesdar/MCP

使用说明

MCP代理演示(OpenRouter)

该项目展示了一个由 OpenRouter(Meta Llama 3.3) 使用 模型上下文协议(MCP) 访问外部工具(天气和网络搜索)。

🚀 如何跑步

1.运行AI代理(主)

这将使用以下命令运行交互式代理 uvicorn 为FastAPI后端提供服务。

uv run uvicorn main:app

服务器将在以下时间启动 http://127.0.0.1:8000. 您可以通过 /chat 终点。

2.运行工具测试仪(调试)

这将运行一个简单的脚本来验证工具是否正常工作,而无需调用LLM。

uv run mcp_client.py

⚙️ 配置

环境变量从以下位置加载 .env:

  • openrouter_api_key:LLM(OpenRouter)需要。
  • OPENWEATHER_API_KEY:需要天气数据。
  • TAVILY_API_KEY:网络搜索需要。
  • LANGFUSE_PUBLIC_KEY:Langfuse可观察性要求。
  • LANGFUSE_SECRET_KEY:Langfuse可观察性要求。
  • LANGFUSE_HOST:Langfuse主机(例如。, https://cloud.langfuse.com).

🔍 可观测性

与集成 浪伏 提供代理执行和工具调用的完整跟踪。

  • 关机时会自动清除痕迹。
  • 访问您的Langfuse仪表板查看痕迹。

📝 组件

  • main.py:FastAPI应用程序通过HTTP端点为代理提供服务(例如。, /chat).
  • gemini_agent.py:核心逻辑。初始化OpenRouter客户端,通过Stdio连接到MCP服务器,并管理会话循环。
  • mcp_server.py:定义工具(get_weather, web_search)使用 mcp 图书馆。
  • mcp_client.py:用于验证工具功能的独立测试脚本。