天气信息MCP服务器

一个简单的MCP服务器,提供基于Open-Meteo API的天气信息查询功能。

  • by johanrin
  • Shell
  • 本地部署
  • 更新于
在 GitHub 查看 johanrin/my-first-mcp-server

使用说明

我的第一台mcp服务器

一个简单的MCP(模型上下文协议)服务器,使用 开放气象API.

特性

  • get_weather(latitude, longitude) -获取任何位置的当前温度和风速
  • 远程HTTP传输(可流式传输HTTP)
  • Docker就绪,支持Azure容器应用部署

需求

安装

uv sync

或者使用pip:

pip install -e .

用法

运行服务器

uv run main.py

服务器将于启动 http://0.0.0.0:8000 默认情况下。

环境变量

变量 默认值 描述
MCP_HOST 0.0.0.0 将服务器绑定到的主机
MCP_PORT 8000 要收听的端口

MCP客户端配置

使用MCP端点URL连接到服务器:

https://your-server-url/mcp

码头工人

构建

docker build -t weather-mcp-server .

跑

docker run -p 8000:8000 weather-mcp-server

Azure部署

使用提供的脚本部署到Azure容器应用程序:

./deploy-azure.sh

此脚本将:

  1. 创建Azure资源组
  2. 设置容器应用程序环境
  3. 从源构建和部署容器
  4. 输出公共MCP端点URL

先决条件

配置

编辑 deploy-azure.sh 自定义:

  • RESOURCE_GROUP -Azure资源组名称
  • LOCATION -Azure区域
  • CONTAINER_ENV -容器应用程序环境名称
  • CONTAINER_APP -容器应用程序名称

示例

连接后,您可以问Claude以下问题:

  • “巴黎的天气怎么样?”(纬度:48.8566,经度:2.3522)
  • “获取东京当前温度”(纬度:35.6762,经度:139.6503)

项目结构

.
├── main.py           # MCP server implementation
├── pyproject.toml    # Project dependencies
├── Dockerfile        # Container configuration
├── deploy-azure.sh   # Azure deployment script
└── CLAUDE.md         # Claude Code instructions

API

此服务器使用免费 开放气象API 其不需要API密钥。