天气信息服务

一个基于TypeScript的MCP服务器,提供天气数据资源管理、获取和更新功能,并支持生成天气摘要。

  • by chaminda360
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 chaminda360/weather-server

使用说明

气象服务器MCP服务器

测试天气服务器工具

这是一个基于TypeScript的MCP服务器,实现了一个天气信息系统。它通过提供以下内容展示了MCP的核心概念:

  • 用URI和元数据表示天气数据的资源
  • 获取和更新天气信息的工具
  • 生成天气摘要的提示

特性

资源

  • 通过以下方式列出和访问天气数据 weather:// URI
  • 每个天气条目都有一个位置、温度和元数据
  • 用于结构化数据访问的JSON mime类型

工具

  • fetch_weather -获取当前天气信息

    • 将位置作为必需参数
    • 从外部API检索天气数据
  • update_weather -更新天气信息

    • 将位置和新的天气数据作为所需参数
    • 更新服务器状态下的天气数据

鼓励

  • summarize_weather -生成当前天气数据的摘要
    • 包括所有天气条目作为嵌入式资源
    • 返回LLM摘要的结构化提示

发展

安装依赖项:

npm install

重命名 .envexample 向 .env:

mv .envexample .env

更新 OPENWEATHER_API_KEY 在 .env 文件:

OPENWEATHER_API_KEY=Your_Own_OpenWeather_API_KEY

构建服务器:

npm run build

对于自动重建的开发:

npm run watch

安装

要与Claude Desktop一起使用,请添加服务器配置:

在MacOS上: ~/Library/Application Support/Claude/claude_desktop_config.json 在Windows上: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "weatherserver": {
      "command": "/path/to/weatherserver/build/index.js"
    }
  }
}

调试

由于MCP服务器通过stdio进行通信,调试可能具有挑战性。我们建议使用 MCP检查员,可作为包脚本使用:

npm run inspector

检查器将提供一个URL,用于访问浏览器中的调试工具。