使用说明

项目简介

claudemcp 是一个用于学习和探索 Claude MCP 的项目,其中包含一个基于 Python 'mcp' 库构建的天气 MCP 服务器示例。该服务器通过调用美国国家气象局 (NWS) 的 API,向 MCP 客户端提供天气服务,包括查询指定地区的天气警报和天气预报。

主要功能点

  • 提供天气信息查询工具: 实现了 'get-alerts' 和 'get-forecast' 两个工具,分别用于获取天气警报和天气预报。
  • 基于 MCP 协议: 遵循 Model Context Protocol 标准,使用 JSON-RPC 与客户端通信。
  • 可与 MCP 客户端集成: 例如 Claude Desktop,允许用户通过自然语言指令调用天气服务。
  • 使用标准 I/O 通信: 服务器通过标准输入/输出流与客户端进行数据交换。

安装步骤

  1. 安装 uv 包管理器 (如果未安装): 请参考 uv installation guide 安装 uv。
  2. 初始化项目: 在本地克隆或下载仓库后,在项目根目录下运行以下命令初始化 Python 项目环境:
    uv init
  3. 添加依赖: 安装项目所需的 'mcp' 和 'httpx' 依赖库:
    uv add mcp httpx

服务器配置

要将此天气 MCP 服务器集成到 MCP 客户端(例如 Claude Desktop),您需要配置客户端以连接到此服务器。以下是 Claude Desktop 客户端的 MCP 服务器配置示例,您需要将其添加到 Claude Desktop 的配置文件 'claude_desktop_config.jsonz' 中的 'mcpServers' 部分:

{
  "mcpServers": {
    "weather": {
      "command": "uv",
      "args": ["--directory", "src/weather", "run", "weather"]
    }
  }
}

配置参数说明:

  • server name: 'weather' (服务器名称,客户端用此名称标识和调用)
  • command: 'uv' (启动服务器的命令,这里使用 uv 包管理器)
  • args: '["--directory", "src/weather", "run", "weather"]' (传递给 'uv' 命令的参数,'--directory src/weather' 指定了服务器代码所在的目录,'run weather' 运行 'weather' 脚本,该脚本在 'pyproject.toml' 文件中被定义为启动 'src/weather/init.py' 中的 'main' 函数)

注意: 请确保您的 MCP 客户端配置文件路径正确,并根据您的实际环境调整 'command' 和 'args'。

基本使用方法

  1. 启动服务器: 在项目根目录下,运行以下命令启动天气 MCP 服务器:

    uv run src/weather/server.py

    或者,如果您配置了 'pyproject.toml' 中的 'weather' 脚本,可以直接运行:

    uv run weather
  2. 配置 MCP 客户端: 根据上述 服务器配置 部分,配置您的 MCP 客户端(如 Claude Desktop)连接到 'weather' 服务器。

  3. 通过 MCP 客户端与服务器交互: 在 MCP 客户端中,您可以使用自然语言指令来调用天气服务。例如,在 Claude Desktop 中,您可以尝试以下 prompt:

    • 'fetch the weather at 37.2431° N, 115.7930° W' (获取指定经纬度的天气预报)
    • 'can you get weather alerts for Nevada' (获取内华达州的天气警报)
    • 'weather get alerts for CA' (使用 'weather' 服务器的 'get-alerts' 工具查询加州的天气警报)

    客户端会将这些指令转换为 MCP 协议请求发送给 'weather' 服务器,服务器会调用相应的工具并返回结果。

信息

分类

网页与API