mcpField
M
MeteoSwiss MCP Server

MeteoSwiss MCP Server

远程服务
github.com/eins78地图与出行41 周前更新
代码仓库

关于 MeteoSwiss MCP Server

MeteoSwiss MCP Server 为 AI 助手提供来自 MeteoSwiss Open Data 的天气和气候信息,涵盖瑞士各地的预报与实时观测,以及站点查询、花粉数据、气候序列和网站搜索。

主要功能

  1. 01瑞士地点的多日天气预报
  2. 02气象站的实时测量数据
  3. 03按名称、州或坐标查找站点
  4. 04获取花粉及历史气候数据
  5. 05搜索并获取 MeteoSwiss 网站内容

适用场景

  1. 01查询瑞士城镇或邮政编码的天气预报
  2. 02查看气象站的风速、温度等实时读数
  3. 03查找花粉测量值或长期气候序列
  4. 04搜索 MeteoSwiss 页面并获取内容

MCP 相关

将 MeteoSwiss 预报、测量数据、站点搜索、花粉和气候数据,以及网站搜索与抓取作为 MCP 工具提供。托管服务地址为 `https://meteoswiss-mcp.ars.is/mcp`,也可自行托管。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://meteoswiss-mcp.ars.is/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
npmmeteoswiss-mcp2.0.2

工具

7
参数类型必填说明
pageinteger否用于分页的页码(从 1 开始)。上游 API 始终每页返回 10 条结果;页面大小不可配置。
sortenum否结果的排序顺序。注意:date-asc 会严重降低相关性——结果主要按页面年代而非查询匹配度排列。relevance | date-desc | date-asc
querystring是搜索查询字符串
languageenum否搜索结果的语言de | fr | it | en
contentTypeenum否按内容类型筛选。默认为 "content",以排除应用页面。官方报告请使用 "publication"。content | press-release | blog-article | publication

详细介绍

🌦️ MeteoSwiss MCP 服务

npm version License: CC0-1.0 Node.js >= 22 Cursor Directory

用于获取 MeteoSwiss 天气数据的 MCP 服务,由 MeteoSwiss Open Data 提供支持,与 MeteoSwiss 应用和网站使用的数据相同。

本软件包是此代码库 技能与 MCP 案例研究中的服务端部分——相同的数据也可通过无需基础设施的Agent 技能获取。

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

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

使用托管服务

无需安装——服务托管在 https://meteoswiss-mcp.ars.is。

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

将以下内容添加到配置文件(macOS 上的 ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "meteoswiss": {
      "command": "npx",
      "args": ["mcp-remote", "https://meteoswiss-mcp.ars.is/mcp"]
    }
  }
}
Cursor

从 Cursor Directory 安装,或通过 Settings → MCP → Add Server 手动添加,并粘贴 https://meteoswiss-mcp.ars.is/mcp。

Claude.ai

前往 Settings → Integrations → Add MCP Server,并粘贴 https://meteoswiss-mcp.ars.is/mcp。

示例问题
  • “苏黎世本周的天气预报是什么?”
  • “明天伯尔尼的天气怎么样?”
  • “日内瓦的天气怎么样?”
  • “卢加诺的天气怎么样?”
  • “现在少女峰有多大风?”
  • “显示苏黎世的花粉数据”

可用工具

工具描述
meteoswissLocalForecast根据邮政编码、气象站或地名查询瑞士任意地点的多日预报
meteoswissCurrentWeather获取自动气象站的实时测量数据(温度、风、湿度、气压)
meteoswissStations按名称、州或坐标搜索和浏览 MeteoSwiss 气象站网络
meteoswissPollenData获取监测站的当前花粉浓度数据
meteoswissClimateDataNBCN 气候序列——温度、降水、日照和气候指标,数据可追溯数十年
search搜索 MeteoSwiss 网站内容(德语、法语、意大利语、英语)
fetch以 Markdown、文本或 HTML 格式获取 MeteoSwiss 网页的完整内容

提示词

为常见天气查询预先配置的提示词:

提示词语言描述
wetterNordschweiz德语瑞士北部的天气预报和当前天气
wetterSchweiz德语瑞士任意地点的天气
meteoSuisseRomande法语瑞士西部的天气预报和当前天气
meteoTicino意大利语瑞士南部的天气预报和当前天气

自托管

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

使用自定义 URL:

docker run -p 3000:3000 -e PUBLIC_URL=https://your-domain.com ghcr.io/eins78/meteoswiss-mcp:latest
Docker Compose
docker compose up
从源代码构建
git clone https://github.com/eins78/meteoswiss-llm-tools.git
cd meteoswiss-llm-tools/packages/meteoswiss-mcp
pnpm install
pnpm build
pnpm start

服务将在 http://localhost:3000 上可用。MCP 端点:http://localhost:3000/mcp。

本地 MCP 配置
{
  "mcpServers": {
    "meteoswiss-local": {
      "command": "npx",
      "args": ["mcp-remote", "http://localhost:3000/mcp"]
    }
  }
}

环境变量

变量默认值描述
PORT3000服务端口
PUBLIC_URL—用于生成 URL 的完整公开 URL(例如 https://meteoswiss-mcp.ars.is)
USE_TEST_FIXTURESfalse使用本地测试数据,而非实时 API
BIND_ADDRESS0.0.0.0要绑定的接口
MAX_SESSIONS100最大并发会话数
MAX_SESSIONS_PER_CLIENT10每个客户端 IP(通过 TRUST_PROXY 获取)的最大并发会话数;后续初始化请求将收到 429
SESSION_TIMEOUT_MS300000会话超时时间(毫秒)
TRUST_PROXY0要信任的反向代理跳数,用于确定客户端 IP(X-Forwarded-For)。如果位于一个代理(例如 Caddy)之后,请设为 1;如果客户端直接访问服务端,则保持为 0,否则客户端可能伪造 IP 以绕过速率限制
DEBUG—调试命名空间(例如 mcp:*)

开发

先决条件
  • Node.js v22+(推荐使用 nvm)
  • pnpm
设置
nvm use
pnpm install
命令
命令描述
pnpm dev启动并启用热重载
pnpm start启动服务
pnpm build构建 TypeScript
pnpm test运行测试
pnpm run lint类型检查 + ESLint
pnpm run fix自动修复 lint 错误
pnpm run ci完整 CI(lint + build + test)
pnpm run dev:inspect使用 MCP Inspector 进行测试
项目结构
src/
  index.ts              # Entry point
  server.ts             # MCP server (factory pattern)
  data/                 # Data access and transformation
  schemas/              # Zod schemas for validation
  tools/                # MCP tool implementations
  support/              # Logging, validation, HTTP, sessions
  views/homepage/       # Server homepage content
test/
  integration/          # Integration tests for all tools
  __fixtures__/         # Test data
调试

使用 DEBUG 环境变量启用调试输出:

DEBUG=mcp:* pnpm dev          # All debug output
DEBUG=mcp:tools pnpm dev      # Tool execution only
DEBUG=mcp:transport pnpm dev  # Transport layer only

更多信息请参阅 docs/debugging-guide.md。

贡献

欢迎贡献!提交前请运行 pnpm run fix && pnpm run ci。

发布流程请参阅 docs/releasing.md。

许可证

CC0-1.0 — 公共领域

评论

支持 Markdown

第一次接触 MCP?

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

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