天气数据服务

一个基于Open-Meteo API的天气信息查询服务,提供当前天气、历史天气和当前时间查询功能。

  • by ray21s
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ray21s/mcp-server-test

使用说明

气象MCP服务器

一种模型上下文协议(MCP)服务器,使用Open-Meteo API提供天气信息。

特性

  • 获取指定城市的当前天气信息。

安装

Pip安装和使用,此软件包可以使用Pip安装:

pip install mcp_weather_server

此服务器设计为通过将其配置添加到 cline_mcp_settings.json 文件。

  1. 将以下条目添加到 mcpServers 对象在你 cline_mcp_settings.json 文件:
{
  "mcpServers": {
    "weather": {
      "command": "python",
      "args": [
        "-m",
        "mcp_weather_server"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
  1. 保存 cline_mcp_settings.json 文件。

配置

此服务器不需要API密钥。它使用Open-Meteo API,这是免费和开源的。

用法

此服务器提供多种工具: get_weather, get_weather_by_datetime_range,以及 get_current_datetime.

get_weather

检索给定城市的当前天气信息。

参数:

  • city (string,必填):城市名称。

例子:

要获取台北的天气,您可以使用以下工具:

<use_mcp_tool>
<server_name>weather</server_name>
<tool_name>get_weather</tool_name>
<arguments>
{
  "city": "Taipei"
}
</arguments>
</use_mcp_tool>

get_weather_by_datetime_range

检索指定城市在开始日期和结束日期之间的天气信息。

参数:

  • city (string,必填):城市名称。
  • start_date (字符串,必填):开始日期,格式为YYYY-MM-DD(ISO 8601)。
  • end_date (字符串,必填):结束日期,格式为YYYY-MM-DD(ISO 8601)。

例子:

要获取2024年1月1日至2024年01月7日伦敦的天气,您可以使用以下工具:

<use_mcp_tool>
<server_name>weather</server_name>
<tool_name>get_weather_by_datetime_range</tool_name>
<arguments>
{
  "city": "London",
  "start_date": "2024-01-01",
  "end_date": "2024-01-07"
}
</arguments>
</use_mcp_tool>

get_current_datetime

检索指定时区的当前时间。

参数:

  • timezone_name (字符串,必填):IANA时区名称(例如,“美国/纽约”、“欧洲/伦敦”)。如果用户没有提供时区,请使用UTC时区。

例子:

要获取纽约的当前时间,您可以使用以下工具:

<use_mcp_tool>
<server_name>weather</server_name>
<tool_name>get_current_datetime</tool_name>
<arguments>
{
  "timezone_name": "America/New_York"
}
</arguments>
</use_mcp_tool>

对于开发者

运行Python前更改工作目录

python -m mcp_weather_server

或者,如果你想让Python无论从哪里运行都能找到你的包,你可以设置PYTHONPATH:

set PYTHONPATH=C:\xxx\mcp_weather_server\src
python -m mcp_weather_server