项目简介

MCP天气工具服务是一个遵循Model Context Protocol (MCP) 标准的应用后端,旨在为大型语言模型(LLM)客户端提供天气相关的上下文信息和功能。它通过调用免费的OpenWeatherMap API获取数据,并将结果以标准格式返回给LLM, enabling LLMs to access real-time weather information.

主要功能点

  • 当前天气查询: 获取指定地点的实时天气状况,包括温度、湿度、风速、日出日落时间等。
  • 天气预报查询: 获取指定地点的未来5天的天气预报详情。
  • 单位配置: 支持摄氏度(c)、华氏度(f)和开尔文(k)三种温度单位。
  • 多语言支持: 支持多种语言显示天气描述。

安装步骤

  1. 获取OpenWeatherMap API Key: 访问 https://openweathermap.org/api 注册并获取一个免费API Key。
  2. 克隆仓库: 打开终端,使用git命令克隆项目仓库:
    git clone https://github.com/mschneider82/mcp-openweather.git
    cd mcp-openweather
  3. 构建服务程序: 确保已安装Go 1.20或更高版本,然后在项目目录中运行构建命令:
    go build -o mcp-weather
    这将在当前目录生成一个名为 'mcp-weather' 的可执行文件。

服务器配置

MCP服务器由MCP客户端负责启动和管理。您需要在您的MCP客户端(如某些支持MCP协议的LLM应用或框架)中配置该天气服务。配置信息通常是一个JSON对象,用于告诉客户端如何找到并运行这个MCP服务。

配置示例结构(实际配置方式取决于您的MCP客户端):

"mcpServers": {
    "mcp-openweather": { // 服务器的内部名称,可自定义
        "command": "/path/to/your/mcp-weather", // 指向您刚才构建的可执行文件的完整路径
        "args": [], // 如果服务需要命令行参数,在此添加
        "env": { // 运行服务时需要设置的环境变量
            "OWM_API_KEY": "YOUR_OPENWEATHERMAP_API_KEY" // 您的OpenWeatherMap API Key
        }
    }
}

在客户端配置中,您需要将 '"command"' 的值替换为您实际的可执行文件路径,并将 '"OWM_API_KEY"' 的值替换为您在第一步中获取的API Key。

基本使用方法

当MCP客户端成功配置并连接到MCP天气工具服务后,LLM可以通过调用名为 'weather' 的工具来获取天气信息。调用时需要提供必要的参数。

  • 工具名称: 'weather'
  • 必需参数:
    • 'city': 字符串类型,指定要查询天气的城市名称。如果城市名包含空格,例如 "New York",通常需要用双引号括起来,但MCP客户端处理参数时会自动处理,您只需提供字符串值即可。
  • 可选参数:
    • 'units': 字符串类型,指定温度单位。可选值包括 '"c"' (摄氏度)、'"f"' (华氏度)、'"k"' (开尔文)。默认为 '"c"'。
    • 'lang': 字符串类型,指定天气描述的语言。例如 '"en"' (英语)、'"de"' (德语)、'"fr"' (法语) 等。默认为 '"en"'。

LLM客户端会构造一个JSON-RPC请求来调用此工具,服务接收请求、查询OpenWeatherMap API并返回包含天气信息的文本结果给客户端。

信息

分类

网页与API