使用说明

项目简介

本项目实现了一个 MCP 服务器,用于提供天气信息。它利用 OpenWeatherMap API 获取指定城市的实时天气状况和天气预报,并以 MCP 协议标准的方式提供给支持 MCP 协议的客户端,例如 Claude Desktop。

主要功能点

  • 资源 (Resources):
    • 提供当前天气资源:通过 'weather://旧金山/current' URI 可以访问美国旧金山的实时天气数据,包括温度、天气状况、湿度和风速等信息。
  • 工具 (Tools):
    • 'get_forecast' 工具:允许用户查询指定城市未来 1-5 天的天气预报。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的电脑上已经安装了 Node.js 和 npm 包管理器。
  2. 克隆仓库: 将 'mcp-test-serve' 仓库克隆到本地:
    git clone https://github.com/crp1212/mcp-test-serve.git
  3. 进入仓库目录: 导航到克隆下来的仓库目录:
    cd mcp-test-serve
  4. 安装依赖: 使用 npm 安装项目依赖:
    npm install
  5. 构建服务器: 构建 TypeScript 代码:
    npm run build
  6. 设置 API 密钥: 你需要申请 OpenWeatherMap API 密钥。访问 https://openweathermap.org/api 注册并获取免费的 API 密钥。获取密钥后,将其设置为名为 'OPENWEATHER_API_KEY' 的环境变量

服务器配置

要将此 MCP 服务器配置到 MCP 客户端(如 Claude Desktop),你需要编辑客户端的配置文件。以 Claude Desktop 为例,你需要修改 'claude_desktop_config.json' 文件,添加 'mcpServers' 配置。

Claude Desktop 配置文件路径

  • MacOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%/Claude/claude_desktop_config.json'

在配置文件中添加如下 JSON 配置,以注册名为 'weather-server' 的 MCP 服务器:

{
  "mcpServers": {
    "weather-server": {
      "command": "/path/to/mcp-test-serve/build/index.js"
    }
  }
}
  • 将 '/path/to/mcp-test-serve/build/index.js' 替换为你在本地构建后的 'index.js' 文件的实际路径

基本使用方法

配置完成后,启动你的 MCP 客户端。客户端将通过标准输入输出 (stdio) 与 'weather-server' 建立连接。

  • 访问当前天气资源: 在支持资源访问的 MCP 客户端中,你可以使用 URI 'weather://旧金山/current' 来访问旧金山的当前天气数据。客户端会向服务器请求该资源,服务器返回 JSON 格式的天气信息。
  • 使用 'get_forecast' 工具: 在支持工具调用的 MCP 客户端中,你可以调用名为 'get_forecast' 的工具,并提供城市名称作为参数,例如 '{ "city": "北京" }'。服务器会返回北京未来几天的天气预报数据。 你还可以通过 'days' 参数指定预报天数(1-5天),例如 '{ "city": "北京", "days": 3 }'。

请注意,本服务器默认城市为旧金山,并需要配置 OpenWeatherMap API 密钥才能正常工作。

信息

分类

网页与API