项目简介

这是一个展示如何构建基于 Model Context Protocol (MCP) 的后端服务示例仓库。它包含多个AI Agent用例,其中 WeatherAgent 模块提供了一个实现了 MCP 服务器功能的示例,用于向 LLM 客户端提供天气预报和天气预警数据。该示例使用了 'fastmcp' 库来快速构建 MCP 服务器。

主要功能点

  • 提供天气数据: 暴露标准 MCP 工具,允许 LLM 客户端查询美国各州的天气预警和指定地理位置的天气预报。
  • MCP 服务器实现: 使用 'fastmcp' 库实现 MCP 协议,处理客户端的工具调用请求,返回天气数据。
  • 外部API集成: 集成美国国家气象局(NWS)API 获取实时天气数据。
  • AI Agent 示例: 仓库包含一个使用此天气 MCP 服务器的 AI Agent 客户端示例(WeatherAgent.py),演示客户端如何连接服务器并利用其工具。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/cylestio/usecases.git
    cd usecases
  2. 安装依赖:

    pip install -r requirements.txt
  3. 设置环境变量 (可选,主要用于Agent客户端): 虽然天气MCP服务器本身可能不需要API Key,但仓库中的WeatherAgent客户端需要 Anthropic API Key 来调用LLM。建议设置以运行完整示例:

    • 在仓库根目录创建 '.env' 文件。
    • 添加你的API Key:
      ANTHROPIC_API_KEY=your_anthropic_api_key

服务器配置

MCP 服务器通常由 MCP 客户端启动并连接。对于此天气 MCP 服务器示例,MCP 客户端需要配置以下信息才能通过标准 I/O (stdio) 连接并与其通信:

  • 服务器名称 (name): "weather"
  • 启动命令 (command): "python"
  • 命令参数 (args): '["mcp/agents/WeatherAgent/weather_server.py"]' (指定服务器脚本文件的路径)

这些参数会用于配置 MCP 客户端(例如使用 MCP Python SDK 的 'StdioServerParameters' 类)来启动并连接到天气 MCP 服务器进程。

基本使用方法

要运行包含天气 MCP 服务器的完整示例(包括客户端),请执行以下命令:

python -m mcp.agents.WeatherAgent.WeatherAgent

这个命令会启动 WeatherAgent 客户端脚本。该客户端会自动通过 stdio 启动 'mcp/agents/WeatherAgent/weather_server.py' 服务器,并连接到它。成功连接后,你可以在终端中与 AI Agent 交互,提问关于天气预报和预警的问题,AI Agent 会调用后台的 MCP 服务器获取数据并回答你。

输入 'quit' 或 'exit' 退出程序。

信息

分类

网页与API