天气信息服务器

一个为AI助手提供实时天气警报和预报的Model Context Protocol (MCP)服务器,集成美国国家气象局API。

  • by JamesTL
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 JamesTL/simpleMCPserver

使用说明

简单的MCP天气服务器

A. 模型上下文协议(MCP)服务器 它为人工智能助手提供天气信息工具。该服务器与美国国家气象局API集成,为美国各地提供实时天气警报和预报。

🌤️ 特性

  • 天气警报:获取美国各州的活跃天气警报(2个字母的代码)
  • 天气预报:使用纬度/经度坐标检索详细预报
  • MCP兼容:与任何符合MCP标准的人工智能助手或客户合作
  • TypeScript:内置全型安全和现代ES模块
  • 零依赖:仅使用基本MCP SDK的轻量级实现

📦 安装

先决条件

  • 支持ES模块的Node.js 16+
  • npm或yarn包管理器

设置

# Clone the repository
git clone https://github.com/JamesTL/simpleMCPserver.git
cd simpleMCPserver

# Install dependencies
npm install

# Build the project
npm run build

🚀 用法

运行服务器

MCP服务器通过stdio传输运行,旨在与MCP客户端一起使用:

# Build and run
npm run build
node build/index.js

成功后,您将看到: Weather MCP Server running on stdio

与Claude Desktop集成

  1. 找到Claude Desktop的配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  2. 添加服务器配置:

{
  "mcpServers": {
    "simplemcpserver": {
      "command": "node",
      "args": ["/path/to/your/simpleMCPserver/build/index.js"]
    }
  }
}
  1. 重新启动克劳德桌面 使更改生效

备注:如果您遇到与Claude Desktop的集成问题,请参阅 官方故障排除指南.

VS代码集成

对于开发和测试,请配置 .vscode/mcp.json:

{
  "mcpServers": {
    "simplemcpserver": {
      "command": "node",
      "args": ["/Users/jameslove/Documents/2025/AI/MCP server/simpleMCPserver/build/index.js"]
    }
  }
}

🛠️ 可用工具

get_alerts

检索美国某个州的活动天气警报。

参数:

  • state (string):两个字母的状态码(例如,“CA”、“TX”、“NY”)

示例用法:

Get weather alerts for California: get_alerts with state "CA"

get_forecast

获取特定坐标的详细天气预报。

参数:

  • latitude (数字):纬度(-90到90)
  • longitude (数字):经度(-180到180)

示例用法:

Get forecast for San Francisco: get_forecast with latitude 37.7749, longitude -122.4194

📁 项目结构

simpleMCPserver/
├── src/
│   └── index.ts          # Main server implementation
├── build/
│   └── index.js          # Compiled JavaScript output
├── .vscode/
│   └── mcp.json         # VS Code MCP configuration
├── package.json         # Project configuration
├── tsconfig.json        # TypeScript configuration
└── README.md           # This file

🔧 发展

脚本

npm run build      # Compile TypeScript to JavaScript
npm run prebuild   # Clean build directory
npm run postbuild  # Display build completion message

建筑

构建过程:

  1. 删除现有 build/ 目录
  2. 使用编译TypeScript tsc
  3. 使输出可执行(chmod 755)

API集成

此服务器使用 美国国家气象局API:

  • 基本URL: https://api.weather.gov
  • 仅支持美国地区
  • 不需要API密钥
  • 返回GeoJSON格式的响应

🏗️ 技术细节

依赖项

运行时间:

  • @modelcontextprotocol/sdk:MCP协议实施
  • zod:模式验证和类型安全

发展:

  • typescript:TypeScript编译器
  • @types/node:Node.js类型定义

配置

  • 目标:ES2022(现代JavaScript功能)
  • 模块:具有Node16分辨率的ES模块
  • 运输:stdio(标准输入/输出)
  • 输出: build/index.js (可执行)

🚨 错误处理

该服务器包括强大的错误处理功能,用于:

  • 网络请求失败
  • 坐标无效(非美国位置)
  • API响应缺失或格式错误
  • 服务器连接问题

📝 许可证

ISC许可证-详见package.json。

🔗 资源

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 使用MCP客户端进行测试
  5. 提交拉取请求

仓库: JamesTL/simpleMCP服务器