天气数据服务器

mcp-weather是一个基于Python的轻量级服务器,通过Model Context Protocol (MCP)将实时天气数据与AI模型集成,为AI助手和大型语言模型提供动态天气信息查询功能。

  • by githubmilind
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 githubmilind/mcp-weather

使用说明

☁️ mcp天气:模型上下文协议(mcp)天气服务器 概述 mcp-weather是一个轻量级的、基于Python的服务器,它通过模型上下文协议(mcp)演示了实时天气数据与人工智能模型的集成。该项目通过公开查询外部天气API的专用“工具”,使人工智能助手和大型语言模型(LLM)能够访问动态天气信息,如当前状况和预报。

mcp-weather的核心目的是展示如何构建mcp服务器,将其连接到第三方服务(默认使用OpenWeatherMap),并使该功能可被任何兼容mcp的AI客户端发现和使用。这增强了人工智能提供与气象数据相关的最新响应的能力。

✨ 特性 实时天气查询:获取任何指定全球城市的当前天气状况。

多日预报:检索未来几天的详细天气预报。

MCP兼容性:与模型上下文协议完全兼容,允许与支持MCP的各种AI客户端无缝集成。

异步操作:利用httpx向外部天气API发出高效、无阻塞的HTTP请求。

安全的API密钥管理:支持通过.env文件安全管理敏感的API密钥的环境变量。

🚀 先决条件 在设置mcp天气之前,请确保您的系统上安装了以下内容:

Python 3.8或更高版本:MCP Python SDK需要最新版本的Python。

uv(推荐)或pip:一个现代快速的Python包安装程序和管理器。您可以通过以下方式安装uv:

curl-LsSfhttps://astral.sh/uv/install.sh|sh

在Windows上,请参阅官方的uv安装指南以获取说明。

OpenWeatherMap API密钥:此项目使用OpenWeatherMap API获取天气数据。一个免费的API密钥通常足以用于开发和测试。在openweathermap.org上注册一个。

🛠️ 安装 按照以下步骤在本地设置和运行您的mcp天气服务器:

克隆存储库:

克隆https://github.com/githubmilind/mcp-weather.git cd-mcp天气

创建并激活虚拟环境: 最好的做法是使用虚拟环境来管理项目依赖关系。

紫外线真空 source.ven/bin/activate#在Windows上:.venv\Scripts\activate

安装项目依赖关系:

uv添加“mcp[cli]”httpx-python-dotenv

配置您的OpenWeatherMap API密钥: 在mcp天气项目的根目录(weather_server.py所在的位置)中创建一个名为.env的新文件。将您的OpenWeatherMap API密钥添加到此文件:

打开WEATHER_API_KEY=YOUR_OPENWEATHERMAP_API_KEY

重要提示:使用从OPENWEATHERMAP获得的实际API密钥替换YOUR_OPENWEATHERMAP_API_KEY。

⚡ 用法 运行MCP气象服务器 要启动mcp天气服务器:

确保您的Python虚拟环境已激活(如安装步骤所示)。

在终端中导航到项目的根目录。

执行服务器脚本:

uv运行weather_server.py

您将看到一条确认消息,指示服务器已启动并正在等待连接。只要您希望服务器可用,请保持此终端窗口打开。

连接到MCP兼容的AI客户端(示例:桌面版的Claude) 要使AI客户端能够使用您的mcp天气服务器,您通常需要配置客户端以识别您的本地mcp服务器。具体步骤可能因您使用的特定AI客户端而异。以下是Claude for Desktop的一般示例:

安装克劳德桌面版:确保您安装了最新版本的克劳德桌面版。

查找客户端配置文件:

macOS:~/库/应用程序支持/Claude/Claude_desktop_config json

Windows:%APPDATA%\Claude\Claude_desktop_config.json

如果此文件不存在,您可能需要创建它。

添加服务器配置:在文本编辑器中打开claude_desktop_config.json文件。添加或更新“mcpServers”部分,以包含您的mcp天气服务器:

{ “mcpServers”:{ “天气”:{ “command”:“/full/path/to/uv”, “args”:[“run”,“weather_server.py”], “cwd”:“/full/path/to/your/mcp天气” } } }

关键替换:

将/full/path/to/uv替换为uv可执行文件的绝对路径。您可以通过在活动虚拟环境中运行which uv(在macOS/Linux上)或where uv(在Windows上)来找到此路径。

将/full/path/to/your/mcp-weather替换为克隆mcp-wealth项目的目录的绝对路径。

保存并重新启动客户端:保存claude_desktop_config.json文件,然后关闭并重新启动claude for desktop应用程序,以使更改生效。

与AI交互:配置后,您现在可以向AI客户端提示与天气相关的问题。人工智能应该识别您的mcp天气服务器中的可用工具,并使用它们来获取数据:

“巴黎现在的气温是多少?”

“给我悉尼三天的天气预报。”

“现在东京的天气怎么样?”

观察你的mcp天气服务器的终端在处理来自AI客户端的请求时的活动。

📸 截图 以下是mcp天气服务器运行的可视化示例,说明了它的设置和与AI客户端的交互:

在终端中运行的服务器: 一个屏幕截图,显示了启动mcp天气服务器并监听连接时的命令行输出。

AI客户端配置示例: 一个示例屏幕截图,演示了如何在mcp兼容的AI客户端(如桌面版的Claude)的设置中配置mcp天气服务器。

人工智能对当前天气的响应: AI客户端成功查询mcp天气以获取当前天气状况,并以对话格式呈现检索到的信息的视觉效果。

人工智能提供天气预报: AI客户端利用mcp天气根据用户请求生成和显示多日天气预报的图示。

🤝 贡献 欢迎投稿、问题和功能请求!请随时查看问题页面。

贡献:

分叉存储库。

创建一个新分支(git checkout-b feature/你的featurename)。

实施您的更改。

提交您的更改(git Commit-m“添加新功能”)。

推送到分支(git推送原始功能/您的功能名称)。

打开一个Pull Request,清楚地描述您的更改。

📄 许可证 该项目根据MIT许可证获得许可。有关完整详细信息,请参阅此存储库中的LICENSE文件。

🙏 致谢 模型上下文协议(MCP)的开发人员,用于实现强大的AI集成。

OpenWeatherMap,用于提供全面和可访问的天气API。

uv项目因其高效的Python依赖管理。