MCP

MCP

site icon
2025.04.05 5
Python天气查询自然语言处理位置服务
MCP_Server 是一个基于 Model Context Protocol (MCP) 和 Google Gemini AI 的天气数据查询工具,采用客户端-服务器架构。它允许用户通过自然语言查询美国各地的天气警报和详细天气预报。该项目主要用于实践和理解 MCP 的工作原理。
View on GitHub

Overview

基本能力

产品定位

MCP_Server 是一个天气数据查询工具,通过客户端-服务器架构提供美国各地的天气信息查询服务。

核心功能

  • 使用州代码查询美国各州的天气警报
  • 通过经纬度获取特定位置的详细天气预报
  • 由 Google Gemini AI 支持的自然语言界面
  • 使用 Model Context Protocol (MCP) 的客户端-服务器架构

适用场景

  • 需要查询美国各地天气警报的用户
  • 需要获取特定位置详细天气预报的用户
  • 希望通过自然语言交互查询天气信息的应用

工具列表

  • get_alerts: 获取指定美国州的天气警报(使用两字母州代码)
  • get_forecast: 检索特定位置的天气预报(使用经纬度)

常见问题解答

  • 错误处理包括:
  • 无效的服务器脚本路径
  • 与 NWS API 的连接问题
  • API 响应中的无效或缺失数据

使用教程

使用依赖

  • Python 3.8+
  • Node.js(如果运行 JavaScript 服务器)
  • Google Gemini API 密钥

安装教程

  1. 克隆仓库: git clone https://github.com/Abhinavexists/MCP_Server.git cd weather-tool

  2. 安装 uv(如果尚未安装): pip install uv

  3. 创建并激活虚拟环境: uv venv

  4. Windows: .venv\Scripts\activate
  5. macOS/Linux: source .venv/bin/activate

  6. 使用 uv 安装依赖(该项目使用 uv.lock 和 pyproject.toml): uv pip sync

  7. 在项目根目录创建 .env 文件,包含您的 Gemini API 密钥: GEMINI_API_KEY=your_gemini_api_key_here

调试方式

  1. 启动客户端并连接到天气服务器: python client.py server.py

  2. 连接后,您可以询问天气信息: Query: What are the current weather alerts in CA? Query: What's the forecast for latitude 37.7749, longitude -122.4194?

  3. 输入 quit 退出应用程序。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。