article
README
🚀 天气 MCP 服务器
这是一个简单的 MCP(模型控制协议)服务器,借助国家气象局 API 来提供天气信息。该服务器提供了两个实用工具,能帮助用户获取天气相关数据:
get_alerts:可获取美国某州的天气预警。get_forecast:能获取特定位置的天气预报。
🚀 快速开始
先决条件
- 需要 Python 3.10 或更高版本。
- 推荐使用
uv包管理器,也可以使用pip。
📦 安装指南
- 克隆此仓库:
git clone <your-repo-url>
cd simple_mcp_server
- 配置您的 Python 环境:
- 使用
uv(推荐):
# 如果尚未安装 uv,请先安装
curl -LsSf https://astral.sh/uv/install.sh | sh
# 创建并激活虚拟环境
uv venv
source .venv/bin/activate # Windows 系统请使用:.venv\Scripts\activate
# 安装依赖项
uv add "mcp[cli]" httpx
- 使用
pip:
python -m venv .venv
source .venv/bin/activate # Windows 系统请使用:.venv\Scripts\activate
pip install "mcp[cli]" httpx
💻 使用示例
基础用法
1. 运行服务器:
mcp dev main.py
2. 配置 Claude for Desktop:
- 打开您的 Claude for Desktop 应用配置文件,路径为
~/Library/Application Support/Claude/claude_desktop_config.json。 - 添加以下配置:
{
"mcpServers": {
"weather": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/simple_mcp_server",
"run",
"main.py"
]
}
}
}
- 将
/ABSOLUTE/PATH/TO/simple_mcp_server替换为您实际项目的完整路径。 - 保存文件并重新启动 Claude for Desktop。
3. 测试服务器:
- 打开 Claude for Desktop。
- 查找界面中的锤子图标。
- 您应该会看到两个工具:
get_alerts和get_forecast。 - 尝试提出以下问题:
- "NY 的天气怎么样?"
- "NY 有哪些活跃的天气预警?"
📚 详细文档
可用工具
get_alerts
获取美国某州的天气预警。
| 参数 | 详情 |
| ---- | ---- |
| state (str) | 美国两个字母的状态代码(例如 'CA','NY') |
get_forecast
获取特定位置的天气预报。
| 参数 | 详情 |
| ---- | ---- |
| latitude (float) | 位置的纬度 |
| longitude (float) | 位置的经度 |
🔧 技术细节
故障排除
1. 如果服务器未被 Claude for Desktop 检测到:
- 确保配置文件路径正确。
- 验证配置中的绝对路径是否正确。
- 确认所有依赖项已安装。
- 尝试重新启动 Claude for Desktop。
2. 如果出现天气 API 错误:
- 检查您的互联网连接。
- 验证坐标或状态代码是否有效。
- 国家气象局 API 仅适用于美国地区。
Scan to join WeChat group