简单的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集成
- 找到Claude Desktop的配置文件:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- 添加服务器配置:
{
"mcpServers": {
"simplemcpserver": {
"command": "node",
"args": ["/path/to/your/simpleMCPserver/build/index.js"]
}
}
}- 重新启动克劳德桌面 使更改生效
备注:如果您遇到与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建筑
构建过程:
- 删除现有
build/目录 - 使用编译TypeScript
tsc - 使输出可执行(
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。
🔗 资源
🤝 贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 使用MCP客户端进行测试
- 提交拉取请求
______________________________________________________________________
