使用说明

项目简介

本项目是一个演示性质的 MCP 服务器,它实现了 Model Context Protocol,并提供了一个用于查询航空气象信息的工具。通过该服务器,LLM 客户端可以调用 'get_aviation_weather' 工具,输入机场 ICAO 代码,获取该机场的 METAR 气象报告。

主要功能点

  • 提供航空气象数据查询工具: 服务器注册了一个名为 'get_aviation_weather' 的工具,该工具可以根据用户提供的机场代码,从 aviationweather.gov 网站抓取并返回该机场的 METAR 报告。
  • 基于 MCP 协议: 使用 'fastmcp' 库构建,符合 MCP 服务器规范,能够与 MCP 客户端进行通信。
  • 易于本地运行: 提供了简单的启动命令,方便开发者本地部署和测试。

安装步骤

  1. 安装依赖: 首先确保你的环境中安装了 'uv' 包管理器 (根据仓库 'uv sync' 命令推断)。在项目根目录下运行以下命令安装项目依赖:
    uv sync
  2. 激活虚拟环境: 安装完成后,激活项目创建的虚拟环境:
    source .venv/bin/activate

服务器配置

为了让 MCP 客户端连接到此服务器,你需要提供如下配置信息。客户端需要配置 'command' 和 'args' 来启动服务器进程,并指定 'server name' 以标识该服务器。

{
  "server_name": "aviation_weather",  // 服务器名称,与 server.py 中 FastMCP 初始化时定义的名称一致
  "command": "mcp",                   // 运行 mcp 命令
  "args": [                           // mcp 命令的参数
    "dev",                            // 使用 dev 模式启动,方便开发
    "src/mcp_aviation_weather/server.py" // 服务器入口文件路径
  ]
}

注意: 'server name' 必须与 'src/mcp_aviation_weather/server.py' 文件中 'FastMCP("aviation_weather")' 初始化的名称 '"aviation_weather"' 完全一致。

基本使用方法

  1. 启动服务器: 在激活虚拟环境后,于项目根目录下运行以下命令启动 MCP 服务器:

    mcp dev src/mcp_aviation_weather/server.py

    服务器成功启动后,会监听 MCP 客户端的请求。

  2. 客户端调用工具: 配置好 MCP 客户端后,客户端可以向 'aviation_weather' 服务器发送请求,调用 'get_aviation_weather' 工具,并提供机场 ICAO 代码作为参数。服务器将返回该机场的 METAR 气象报告。

    例如,客户端可以发送类似以下的 JSON-RPC 请求来调用工具 (这只是示例,实际客户端实现可能不同):

    {
      "jsonrpc": "2.0",
      "method": "call_tool",
      "params": {
        "tool_name": "get_aviation_weather",
        "tool_args": {
          "airport": "KJFK"  //  示例机场代码:纽约肯尼迪国际机场
        }
      },
      "id": 1
    }

    服务器会返回包含 KJFK 机场 METAR 信息的 JSON-RPC 响应。

信息

分类

网页与API