article
README
🚀 天气 MCP 服务器
这是一个基于模型上下文协议(MCP)的服务器,借助国家气象局(NWS)API,为美国地区提供精准的天气信息和警报。该服务器专为AI代理量身打造,通过模型上下文协议实现数据交互。
🚀 快速开始
此服务器专为AI代理通过模型上下文协议设计,借助国家气象局(NWS)API,为美国地区提供精准的天气信息和警报。
✨ 主要特性
- 🔔 获取特定美国州份天气警报的工具。
- 🌍 使用坐标获取任何地理位置详细天气预报的工具。
- 🌡️ 支持温度、风力条件和简要天气描述。
- ⏱️ 来自国家气象局的实时数据。
📦 安装指南
先决条件
- Node.js(v16或更高版本)
- npm 或 yarn 包管理器
安装步骤
- 克隆仓库:
git clone https://github.com/akaramanapp/weather-mcp-server.git
cd weather-mcp-server
- 安装依赖项:
npm install
- 构建应用程序:
npm run build
💻 使用示例
MCP 工具
该服务器提供两个MCP工具,供AI代理使用:
get-alerts
获取特定美国州份的天气警报。
参数:
state:两位字母的状态代码(例如CA、NY)
示例响应:
{
"content": [
{
"type": "text",
"text": "CA 状态的活跃警报:..."
}
]
}
get-forecast
使用坐标获取特定位置的天气预报。
参数:
latitude:位置的纬度(-90 到 90)longitude:位置的经度(-180 到 180)
示例响应:
{
"content": [
{
"type": "text",
"text": "早晨:温度:72°F,风速:5mph NW,多云..."
}
]
}
📚 详细文档
项目结构
weather/
├── src/
│ └── index.ts # 主服务器代码,包含MCP工具实现
├── build/ # 编译后的 JavaScript 文件
├── package.json # 项目依赖和脚本
└── tsconfig.json # TypeScript 配置
开发
要修改或扩展服务器:
- 在
src/index.ts文件中进行更改 - 重建应用程序:
npm run build
依赖项
- @modelcontextprotocol/sdk:MCP 服务器实现框架
- zod:工具参数的运行时类型检查和验证
- TypeScript:用于类型安全的开发依赖
🔧 技术细节
- 使用 TypeScript 开发。
- 实现模型上下文协议(MCP)服务器。
- 使用 @modelcontextprotocol/sdk 进行MCP服务器实现。
- 与国家气象局(NWS)API接口交互。
- 目标为 ES2022,使用 Node16 模块解析。
📄 许可证
ISC
重要提示
⚠️ 重要提示
- 该服务器仅适用于美国地区,因为它使用国家气象局 API。
- API 请求受到速率限制,并且需要 User-Agent 标头。
- 所有坐标应为十进制度数格式。
- 这不是一个独立的 CLI 应用程序,而是一个通过模型上下文协议为AI代理提供工具的服务器。
微信扫一扫