使用说明
气象MCP服务器
模型上下文协议(MCP)服务器,使用美国国家气象局API提供天气预报和警报。 需要GitHub身份验证 访问气象工具。
特性
- GitHub身份验证:使用GitHub个人访问令牌进行安全访问
- 天气预报:按坐标获取美国任何地点的详细天气预报
- 天气警报:按州代码检索当前天气警报
安装
NPM安装
npm install -g @dmitry-melnishin/mcp-weather
VS代码中的用法
将其添加到MCP设置文件中(.vscode/mcp.json 或全局设置):
{
"mcpServers": {
"weather": {
"command": "npx",
"args": ["-y", "@dmitry-melnishin/mcp-weather"]
}
}
}
或者,如果全局安装:
{
"mcpServers": {
"weather": {
"command": "mcp-weather"
}
}
}
身份验证设置
在使用天气工具之前,您必须向GitHub进行身份验证:
-
创建GitHub个人访问令牌:
- 转到GitHub设置→ 开发人员设置→ 个人访问令牌→ 代币(经典)
- 点击“生成新令牌(经典)”
- 您不需要选择任何范围,只需命名即可(例如,“MCP天气”)
- 点击“生成令牌”并复制令牌
-
在MCP中进行身份验证:
- 使用
authenticate使用您的GitHub令牌的工具 - 一旦通过身份验证,您就可以使用所有天气工具
- 使用
身份验证示例:
Tool: authenticate
Parameters: { "token": "ghp_your_github_token_here" }
可用工具
验证
使用个人访问令牌在GitHub上进行身份验证。
参数:
token(string):GitHub个人访问令牌
退货: 带有已验证用户名的成功消息或错误消息。
注: 在使用任何天气工具之前,您必须进行身份验证。
获取预测
获取某个地点的天气预报。 需要身份验证。
参数:
latitude(数字):位置的纬度(-90到90)longitude(数字):位置的经度(-180到180)
例子:
Get forecast for latitude 40.7128, longitude -74.0060
获取警报
获取美国某个州的天气警报。 需要身份验证。
参数:
state(string):两个字母的州代码(例如“CA”、“NY”)
例子:
Get weather alerts for CA
安全说明
- 您的GitHub令牌仅在服务器会话期间存储在内存中
- 令牌从不记录或持久化到磁盘
- 不需要特定的GitHub权限/范围
- 该令牌仅用于在GitHub上验证您的身份
发展
先决条件
- Node.js 18或更高版本
- npm或纱线
设置
git clone https://github.com/your-username/mcp-weather
cd mcp-weather
npm install
构建
npm run build
局部测试
您可以通过运行以下命令在本地测试服务器:
node build/index.js
API来源
此服务器使用 美国国家气象局API,它仅提供美国各地的天气数据。
许可证
麻省理工学院
贡献
欢迎投稿!请随时提交拉取请求。