天气查询工具

一个增强的天气查询工具,提供实时天气和未来14天的天气预报功能,适用于需要天气数据的开发者和应用场景。

  • by foohm71
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 foohm71/simplemcp

使用说明

人工智能创客空间:MCP活动-增强型天气工具

这个项目是原始项目的一个分支 AI创客空间MCP事件库,增强了额外的天气功能。最初的项目演示了MCP(模型上下文协议)服务器使用Tavily API进行网络搜索功能。

🆕 新增功能

这个分支使用两个新的天气工具扩展了原始的MCP服务器:

  • get_current_weather:使用RapidAPI weather API检索任何城市的当前天气状况
  • get_forecast_weather:为任何城市提供长达14天的详细天气预报

天气工具使用

天气工具可用于获取实时天气数据和预报:

# Get current weather for a city
get_current_weather(city="London")

# Get weather forecast for a city (1-14 days)
get_forecast_weather(city="Paris", num_days=3)

项目概述

MCP服务器设置为使用Tavily API处理网络搜索查询,并使用RapidAPI weather API处理天气数据。它由以下关键部件组成:

  • TavilyClient:用于与Tavily API交互以执行网络搜索的客户端
  • 天气API集成:与RapidAPI Weather API直接集成,用于当前条件和预报
  • 掷骰子:桌面游戏场景的自定义骰子滚动工具

先决条件

  • Python 3.13或更高版本
  • 有效的Tavily API密钥
  • 有效的RapidAPI密钥(用于天气功能)

⚠️WINDOWS注意事项:⚠️

您需要在 视窗 操作系统的侧面。

这将需要为Powershell获取两个CLI工具,具体操作如下:

  • winget install astral-sh.uv
  • winget install --id Git.Git -e --source winget

拥有这些CLI工具后,请打开Cursor 进入Windows.

然后,您可以在Cursor终端中使用以下命令克隆存储库:

git clone https://github.com/AI-Maker-Space/MCP-Session-Code.git

之后,您可以从步骤2开始。在......下面

安装

  1. 克隆存储库:

    git clone <repository-url>
    cd <repository-directory>
    
  2. 配置环境变量: 复制 .env.sample 向 .env 并添加您的API密钥:

    TAVILY_API_KEY=your_tavily_api_key_here
    RAPIDAPI_KEY=your_rapidapi_key_here
    
  3. 🏗️ 向MCP服务器添加新工具 🏗️

在中创建新工具 server.py 文件,就是这样!

运行MCP服务器

要启动MCP服务器,您需要在Cursor中的MCP配置文件中添加以下内容:

注意:要访问MCP配置。您可以使用命令托盘(CMD/CTRL+SHIFT+P)并选择“查看:打开MCP设置”,然后用下面的JSON blob替换内容。

{
    "mcpServers":  {
        "mcp-server": {
            "command" : "uv",
            "args" : ["--directory", "/PATH/TO/REPOSITORY", "run", "server.py"]
        }
    }
}

服务器将启动并通过标准输入/输出监听命令。

用法

服务器提供了几个工具:

  • web_search:使用Tavily API在web上搜索有关给定查询的信息
  • get_current_weather:获取任何城市的当前天气状况
  • get_forecast_weather:获取任何城市的天气预报(1-14天)
  • roll_dice:使用自定义符号掷骰子(例如“2d20+5”)

原始项目信用

该项目基于原始 AI创客空间MCP事件库 AI Makerspace团队。最初的项目演示了具有网络搜索功能的MCP服务器实现。

许可证

该项目根据MIT许可证获得许可。有关更多详细信息,请参阅LICENSE文件。

贡献

欢迎投稿!请打开问题或提交任何更改的拉取请求。