使用说明

项目简介

Tenki 是一个基于 Model Context Protocol (MCP) 构建的天气预报服务器,专注于提供日本城市的天气信息。它通过集成日本气象服务API,为LLM应用提供了一个可调用的工具,用于查询特定地区的天气预报。作为一个MCP服务器,Tenki 旨在以标准化的方式与LLM客户端交互,提供结构化的天气数据,从而增强LLM在处理地理位置相关查询时的上下文理解和信息检索能力。

主要功能点

  • 天气预报查询工具: 提供 'get_forecast' 工具,允许客户端通过指定日本的都道府县名称(例如 "Tokyo", "Osaka")来获取该地区的天气预报信息。
  • 日本城市支持: 内置了日本主要城市的位置信息,支持查询日本大部分地区的天气预报。
  • 标准MCP服务器: 遵循 MCP 协议规范,易于与任何兼容 MCP 协议的 LLM 客户端集成。
  • JSON-RPC 通信: 使用 JSON-RPC 协议与客户端进行通信,保证了交互的标准化和易用性。

安装步骤

  1. 安装 uv: 如果你的环境中没有 'uv',需要先安装 'uv' 包管理器。 通常可以使用 'pip install uv' 命令安装。 根据仓库 'README.md' 建议,使用 'uv sync' 命令同步环境依赖。

    uv sync

服务器配置

MCP 客户端需要配置服务器的启动命令和参数才能连接到 Tenki 服务器。以下是两种配置方式,选择其中一种配置到您的 MCP 客户端中。

配置方式 1: 不克隆仓库直接运行 (推荐)

这种方式下,MCP 客户端可以直接从 GitHub 下载并运行 Tenki 服务器,无需本地克隆仓库。

{
    "mcpServers": {
        "tenki": {
            "command": "uvx",  // 使用 uvx 命令,用于从远程源运行
            "args": ["--from", "git+https://github.com/acxelerator/mcp-tenki.git", "mcp-tenki"]
            // --from git+https://github.com/acxelerator/mcp-tenki.git  指定从 GitHub 仓库地址下载
            // mcp-tenki  指定运行仓库根目录下的 mcp-tenki (这里实际上会执行 mcp_tenki/main.py)
        }
    }
}

配置方式 2: 克隆仓库后运行

这种方式需要先手动克隆仓库到本地,然后配置 MCP 客户端指向本地仓库目录。

首先,克隆仓库到本地指定目录 '/PATH/TO/REPOSITORY/mcp_tenki' (请替换为你的实际路径):

git clone https://github.com/acxelerator/mcp-tenki.git /PATH/TO/REPOSITORY/mcp_tenki

然后,在 MCP 客户端中配置:

{
    "mcpServers": {
        "tenki": {
            "command": "uv",   // 使用 uv 命令,用于在本地目录运行
            "args": ["--directory", "/PATH/TO/REPOSITORY/mcp_tenki", "run", "main.py"]
            // --directory /PATH/TO/REPOSITORY/mcp_tenki  指定本地仓库目录
            // run main.py  指定在仓库目录下运行 main.py 文件
        }
    }
}

基本使用方法

  1. 启动服务器: 配置好 MCP 客户端后,启动 Tenki MCP 服务器。 具体的启动方式取决于 MCP 客户端的实现。

  2. 调用 'get_forecast' 工具: 在 LLM 客户端中,可以调用 'tenki.get_forecast' 工具来查询天气预报。 需要提供日本的都道府县名称作为参数。

    例如,要查询东京的天气预报,可以向 MCP 服务器发送类似如下的请求(具体的请求格式取决于 MCP 客户端的实现,这里仅为示例):

    {
        "jsonrpc": "2.0",
        "method": "call",
        "params": {
            "server": "tenki",
            "tool": "get_forecast",
            "arguments": {
                "prefecture": "Tokyo"  //  指定要查询的都道府县名称 (英文)
            }
        },
        "id": "1"
    }

    服务器会返回包含东京天气预报信息的 JSON-RPC 响应。

注意: 'prefecture' 参数需要使用英文拼写的日本都道府县名称,例如 "Tokyo", "Osaka", "Hokkaido" 等。 请参考 'mcp_tenki/main.py' 文件中的 'location_data' 变量,以获取支持的都道府县列表。

信息

分类

网页与API