天气查询服务器

一个基于MCP协议的天气信息查询服务,为AI代理提供城市天气数据。

  • by bhupendra1011
  • Python
  • 混合部署
  • 更新于
在 GitHub 查看 bhupendra1011/mcp-weather-server

使用说明

MCP气象服务器

一个简单的MCP(模型上下文协议)服务器,为城市提供天气信息。

什么是MCP?

MCP(模型上下文协议)是一种标准协议,允许AI代理与外部工具和服务进行交互。此服务器公开了一个 get_weather AI代理可以调用的工具来获取天气信息。

设置

1.获取Weather API密钥(免费)

  1. 首选 WeatherAPI.com
  2. 注册一个免费帐户
  3. 从仪表板获取API密钥

2.配置环境

# Copy the example env file
cp .env.example .env

# Edit .env and add your API key
# WEATHER_API_KEY=your_actual_api_key

3.安装依赖项

# Create virtual environment (recommended)
python3 -m venv venv
source venv/bin/activate  # On macOS/Linux
# or: venv\Scripts\activate  # On Windows

# Install dependencies
pip install -r requirements.txt

4.运行服务器

python server.py

服务器将于启动 http://localhost:8000

MCP端点

苏格兰和南方能源公司运输(推荐)

  • 统一资源定位符: http://localhost:8000/sse
  • 协议:SSE(服务器发送事件)

HTTP传输

  • 统一资源定位符: http://localhost:8000/mcp
  • 协议:HTTP POST

测试服务器

列出可用工具

curl -X POST http://localhost:8000/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'

调用get_weather工具

curl -X POST http://localhost:8000/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
      "name": "get_weather",
      "arguments": {
        "city": "Tokyo"
      }
    }
  }'

添加到您的代理(Convo AI Studio)

  1. 转到代理的编辑页面
  2. 打开MCP服务器部分
  3. 点击“添加MCP”→ “添加新服务器”
  4. 填写:
    • 名字: weather-server
    • 服务器URL: http://localhost:8000/sse (或您部署的URL)
    • 协议上海证券交易所
    • 超时:10000(10秒)

部署到生产

选项1:Render.com(免费版)

  1. 将代码推送到GitHub
  2. 在渲染时创建新的Web服务
  3. 设置环境变量 WEATHER_API_KEY
  4. 部署!

选项2:Railway.app

  1. 连接GitHub仓库
  2. 添加环境变量
  3. 部署

选项3:Fly.io

fly launch
fly secrets set WEATHER_API_KEY=your_key
fly deploy

了解MCP协议

请求格式(JSON-RPC 2.0)

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "tool_name",
    "arguments": { "arg1": "value1" }
  }
}

响应格式

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "Weather result here..."
      }
    ]
  }
}

后续步骤

掌握了这个例子后,你可以:

  1. 添加更多工具(预测、多个城市等)
  2. 为CRM集成创建HubSpot MCP服务器
  3. 为您的特定用例构建自定义工具