mcpField
(
(Demo) MCP Server for MeteoSwiss Data

(Demo) MCP Server for MeteoSwiss Data

本地服务
github.com/eins78数据与分析41 周前更新

关于 (Demo) MCP Server for MeteoSwiss Data

该项目通过 MCP 服务、Agent 技能和预报评测提供 MeteoSwiss 天气数据,适合需要瑞士预报、观测、花粉、气候记录或网站内容的 AI 助手与 Agent。同一数据访问能力既有结构化工具,也可通过 Shell 脚本使用。

主要功能

  1. 01查询瑞士各地多日预报
  2. 02获取实时观测并查找站点
  3. 03查询花粉与历史气候数据
  4. 04搜索并读取 MeteoSwiss 网站
  5. 05模糊匹配、地理编码与缓存

适用场景

  1. 01查询瑞士城镇或邮编的天气预报
  2. 02按名称或坐标查找气象站
  3. 03查看花粉水平或长期气候序列
  4. 04搜索并读取 MeteoSwiss 网站信息

MCP 相关

MCP 服务提供七种结构化工具,涵盖预报、实时天气、站点、花粉、气候数据及 MeteoSwiss 网站搜索与读取。可使用托管服务,也可通过 Docker 自行托管。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"meteoswiss": {
"command": "npx",
"args": [
"-y",
"mcp-remote"
]
}
}
}
启动命令npx -y mcp-remote

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-remote

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

🌦️ MeteoSwiss LLM 工具

许可证:CC0-1.0 npm:meteoswiss-mcp Docker 在线 下一版 Cursor 目录

为 AI 助手提供瑞士天气数据 — 由 MeteoSwiss 开放政府数据(OGD)驱动,与 MeteoSwiss 应用和网站使用的数据相同。免费使用,无需 API 密钥。

meteoswiss-mcp.ars.is — 立即试用托管服务,无需设置。

本仓库也提供了一个设计问题的实践答案:应该如何让 AI Agent 访问公共数据集? 它以两种方式实现了相同的 MeteoSwiss 数据访问功能 — 作为Agent 技能(Markdown 说明加 Bash 脚本,无需服务器),以及作为 MCP 服务(结构化工具、模糊匹配、缓存和托管)。我们在 技能与 MCP 案例研究中对这两种方案进行了客观比较。

第三部分 meteoswiss-forecast-evals 展示了由评测驱动的接口设计:通过一个 promptfoo 套件,衡量 13 个大模型读取预报 JSON 的效果,并据此确定了一项实际设计决策 — 本地时间戳优于 UTC;按小时查询的得分约为 100%,而 UTC 约为 0%。

这些工具提供的功能:

  • 多日预报,覆盖约 6,000 个瑞士地点(邮政编码、气象站、地名)
  • 实时测量数据,来自约 300 个气象站(约 160 个提供完整天气数据,约 140 个仅提供降水数据),每 10 分钟更新一次
  • 气象站发现,可按名称、州或 GPS 坐标查找
  • 花粉监测,数据来自瑞士各地约 15 个气象站
  • 气候序列,来自国家基础气候网络(NBCN),可追溯数十年
  • MeteoSwiss 网站搜索和内容检索

本仓库展示的内容

  • Agent 技能 — 教会 Agent 使用 curl/awk/jq 直接获取开放数据:约 630 行 Markdown 和 Bash,无需任何基础设施。→ packages/meteoswiss-skills
  • MCP 服务 — 将相同数据封装为结构化、经过验证的工具,支持气象站模糊匹配、地理编码、按 TTL 分层缓存,配有完整测试套件、Docker 和托管实例。→ packages/meteoswiss-mcp
  • 由评测驱动的接口设计 — 将工具输出视为语言模型的接口,在发布前衡量其可读性。→ packages/meteoswiss-forecast-evals

阅读对比:技能与 MCP 服务:为 AI Agent 提供相同数据的两种方式。

选择适合你的方式

两种方式都能回答相同的天气问题。选择安装哪种方式取决于你的 Agent:

MCP 服务Agent 技能
是什么独立服务,通过 MCP 提供 7 个结构化工具Markdown 指令 + 5 个由 Agent 直接运行的 bash 脚本
适用于Claude Desktop、Claude.ai、Cursor,以及任何 MCP 客户端Claude Code、Cursor,以及任何可访问 shell 的 Agent
覆盖范围天气预报、当前天气、气象站、花粉、气候序列、网站搜索天气预报、当前天气、气象站、花粉
额外功能模糊匹配、地理编码、缓存、DE/FR/IT 提示词、结构化 JSON无需服务,无需 Node.js——只用 curl、awk、jq
规模约 6.6k 行 TypeScript,在 CI 中测试约 630 行 Markdown + bash
安装方式一行命令(托管实例)、npm 或 Docker插件市场、Skills CLI 或符号链接

完整对比——功能对照表、工程权衡、上下文开销以及如何选择:docs/skill-vs-mcp.md。

MCP 服务——快速开始

使用托管实例(无需安装):

# Claude Code
claude mcp add meteoswiss https://meteoswiss-mcp.ars.is/mcp

对于 Cursor,可从 Cursor Directory 安装,或通过 Settings → MCP 手动添加。

也可以使用 Docker 自托管:

docker run -p 3000:3000 ghcr.io/eins78/meteoswiss-mcp:latest

Claude Desktop 设置、环境变量和完整文档,请参阅 meteoswiss-mcp README。

Agent 技能——快速开始

通过 Claude Code 插件市场安装:

/plugin marketplace add eins78/meteoswiss-llm-tools
/plugin install meteoswiss-skills@meteoswiss-marketplace

也可以使用 Skills CLI:

pnpx skills add https://github.com/eins78/meteoswiss-llm-tools.git#packages/meteoswiss-skills --global --agent claude-code --all

手动安装和详情请参阅 meteoswiss-skills README。

可用工具(MCP 服务)

工具说明
meteoswissLocalForecast按邮政编码、气象站或地名查询多日天气预报
meteoswissCurrentWeather实时测量数据(温度、风、湿度、气压)
meteoswissStations按名称、州或坐标搜索气象站网络
meteoswissPollenData监测站的花粉浓度数据
meteoswissClimateDataNBCN 气候序列——温度、降水、日照和可追溯数十年的气候指标
search搜索 MeteoSwiss 网站内容(DE、FR、IT、EN)
fetch获取 MeteoSwiss 页面完整内容

示例问题

两种方式均适用——只需使用瑞士的四种语言中的任意一种提问:

  • “What's the weather forecast for Zurich this week?”
  • “Wie wird das Wetter in Bern morgen?”
  • “Quelle est la météo à Genève?”
  • “Che tempo fa a Lugano?”

软件包

软件包版本说明
meteoswiss-mcpnpmMCP 服务,提供结构化工具、模糊匹配和地理编码
meteoswiss-skills1.0.0Agent 技能——直接通过 HTTP 访问,无需服务
meteoswiss-forecast-evals—用于评估天气预报 JSON 格式的 LLM 评估套件(独立项目,不属于工作区成员)

文档

开发

git clone https://github.com/eins78/meteoswiss-llm-tools.git
cd meteoswiss-llm-tools
nvm use && pnpm install

各软件包专属命令请参阅对应软件包的 README。此仓库使用 changesets 管理版本。

手动生成的特定时间点测试报告(例如实时 MCP 工具测试通过报告)位于 docs/test-reports/。

数据来源

所有天气数据均来自 MeteoSwiss Open Government Data (OGD)——瑞士联邦气象与气候局官方免费提供的数据。这些数据也用于 MeteoSwiss 应用和网站。

许可证

CC0-1.0——公有领域

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。