🌤️ 气象MCP服务器
一个强大的 模型上下文协议(MCP) 服务器,提供全面的天气信息,包括全球各地的预报、警报和当前状况。
 ](https://nodejs.org/) 
✨ 特性
- 🌍 全球天气覆盖:获取全球任何地点的天气数据
- ⚠️ 天气警报:检索美国各州的活动天气警报
- 📊 详细预测:获取温度、风和条件的综合天气预报
- 🏙️ 基于城市的查询:按城市名称、坐标或城市、州、国家格式搜索天气
- 🇺🇸 美国天气一体化:使用美国国家气象局(NWS)API获取准确的美国天气数据
- 🌐 国际支持:对于美国以外的地点,返回到wttr.in API
🚀 快速开始
先决条件
- Node.js v22.14.0或更高版本
- npm或纱线
安装
- 克隆存储库:
git clone https://github.com/abhishek-ganesan/mcp-node-starter.git
cd mcp-node-starter- 安装依赖项:
npm install- 构建项目:
npm run build📖 用法
运行服务器
该服务器在stdio上运行,旨在与Cursor等MCP兼容客户端一起使用。
开发模式:
npm start生产方式:
node build/index.js配置
将服务器添加到MCP配置文件中(例如。, ~/.cursor/mcp.json):
{
"mcpServers": {
"weather-server": {
"command": "/path/to/node",
"args": ["/path/to/mcp-node-starter/build/index.js"],
"cwd": "/path/to/mcp-node-starter"
}
}
}🛠️ 可用工具
1. get_alerts
获取美国某个州的天气警报。
参数:
state(string):两个字母的状态码(例如,“CA”、“NY”、“TX”)
例子:
{
"state": "CA"
}2. get_forecast
使用坐标获取某个位置的天气预报。
参数:
latitude(数字):位置的纬度(-90到90)longitude(数字):位置的经度(-180到180)
例子:
{
"latitude": 37.7749,
"longitude": -122.4194
}3. get_weather_by_city
获取全球任何城市的当前天气和预报。
参数:
location(string):位置名称或坐标
- 城市名称: "New York" - 城市、州、国家: "Bangalore,India" - 协调: "12.9716,77.5946"
例子:
{
"location": "London,UK"
}📁 项目结构
mcp-node-starter/
├── src/
│ └── index.ts # Main server implementation
├── build/ # Compiled JavaScript output
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # This file🏗️ 发展
脚本
npm run build-将TypeScript编译为JavaScriptnpm start-使用tsx在开发模式下运行服务器
技术栈
- TypeScript:类型安全的JavaScript
- @模型上下文协议/sdk:Node.js官方MCP SDK
- 萨德:工具参数的模式验证
- NWS API:美国国家气象局API获取美国天气数据
- wttr.in:国际天气API
🤝 贡献
欢迎投稿!请随时提交拉取请求。
- 分叉存储库
- 创建功能分支(
git checkout -b feature/AmazingFeature) - 提交您的更改(
git commit -m 'Add some AmazingFeature') - 推到分支(
git push origin feature/AmazingFeature) - 打开拉取请求
📝 许可证
该项目根据ISC许可证获得许可。
🙏 致谢
📧 联系
有关问题和疑问,请在 .
______________________________________________________________________
⭐ 如果你觉得这个项目有用,请考虑给它一颗星!
