article
README
🚀 MCP 天气服务器
MCP 天气服务器是一个基于模型上下文协议(MCP)构建的天气服务应用程序,能为用户提供实时天气数据和警报访问,为天气相关应用提供有力支持。
🚀 快速开始
先决条件
- Node.js (v18 或更高版本)
- npm 或 yarn 包管理器
安装步骤
# 克隆仓库
git clone https://github.com/cskiro/MCP-Weather-Server.git
# 切换到项目目录
cd MCP-Weather-Server
# 安装依赖项
npm install
# 构建项目
npm run build
# 设置 CLI 工具为可执行文件
chmod +x build/index.js
# 全局安装(可选)
npm install -g .
使用方法
有两种方式可以使用此服务器:
- 直接调用:
weather
- 通过 MCP 兼容客户端/助手: 配置你的 MCP 客户端以使用天气工具进行预报和天气警报的查询。
✨ 主要特性
- 美国天气预报:可通过经纬度参数获取任意美国位置的详细天气预报数据。
- 天气警报:能查询指定美国州内的活跃天气警报。
- MCP 集成:作为 MCP 服务器构建,可实现与 AI 助手的无缝集成。
- 命令行界面:简单安装,拥有易于运行的 CLI 工具。
🏗️ 架构
该应用基于模型上下文协议(MCP)框架构建:
- MCP 服务器层:负责与 MCP 客户端之间的通信。
- 天气工具:实现预报和警报功能模块。
- 外部 API 集成:连接至国家气象局(NWS)API。
组件结构
服务器包含两个主要的天气工具:
- get-forecast:根据经纬度参数获取指定位置的详细天气预报。
- get-alerts:根据州名参数获取指定区域内的活跃天气警报。 这些工具通过与国家气象局 API 的交互,提供可靠的数据支持。
🔧 技术细节
此服务器的技术栈如下:
- Node.js
- TypeScript
- MCP SDK (@modelcontextprotocol/sdk)
- 国家气象局(NWS)API
- Zod(用于输入验证)
💻 使用示例
基础用法
获取天气预报
// 示例:获取旧金山的天气预报
{
经纬度: {
纬度: 37.7749,
经度: -122.4194
}
}
获取天气警报
// 示例:查询加利福尼亚州的天气警报
{
州: "CA"
}
📚 详细文档
API 使用说明
获取天气预报
// 示例:获取旧金山的天气预报
{
经纬度: {
纬度: 37.7749,
经度: -122.4194
}
}
获取天气警报
// 示例:查询加利福尼亚州的天气警报
{
州: "CA"
}
数据来源
此服务器使用 国家气象局 API,该数据源为美国提供官方天气信息。由于数据源限制,目前仅支持美国境内的位置查询。
🤝 贡献指南
欢迎任何贡献!请随时通过 Pull Request 提交代码或建议。
📄 许可证
此项目采用 ISC 许可证,具体内容请查阅 LICENSE 文件。
微信扫一扫