ํ”„๋กœํ† ํƒ€์ž… ยท ๋ฏธ๋ฆฌ ๋ณด๊ธฐ: ๊ณต์‹ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์˜ ๋ชจ๋“  ์„œ๋ฒ„๋ฅผ ๋‹ด๊ณ  ์žˆ์œผ๋ฉฐ 30๋ถ„๋งˆ๋‹ค ๋™๊ธฐํ™”ํ•ด์š”. ๋ฆฌ๋ทฐ์™€ ๊ณ„์ • ๊ธฐ๋Šฅ์€ ๋‹ค์Œ ๋‹จ๊ณ„์—์„œ ์—ด๋ ค์š”.
PopNx MCPAI๋ฅผ ์“ฐ๋Š” ์‚ฌ๋žŒ์„ ์œ„ํ•œ MCP ์„œ๋ฒ„ ยท ์‰ฌ์šด ๋ง๋กœ ์„ค๋ช…ํ•ด์š”

Switzerland MCP ๐Ÿ‡จ๐Ÿ‡ญ

์ œ์ž‘์ž: vikramgorla๋ฒ„์ „ 0.9.0iโ˜… โ€“i๋‚ด ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰
๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ด๋ฆ„io.github.vikramgorla/swiss

์„ค์น˜

๊ฐœ์š”

์ œ์ž‘์ž๊ฐ€ ์“ด ์„ค๋ช…(์˜์–ด ์›๋ฌธ)

Swiss open data MCP server. 94 tools, zero API keys. Transport, weather, geodata, catalogue.

PopNx MCP์˜ ์„ธ ๊ธฐ๋‘ฅ

์ด ์„ธ ๊ฐ€์ง€๋Š” ์ ˆ๋Œ€ ํ•˜๋‚˜์˜ ์ ์ˆ˜๋กœ ํ•ฉ์น˜์ง€ ์•Š์•„์š”. ์˜๊ฒฌ, ์ธก์ •, ์ธ๊ธฐ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๊ฒƒ์ด๋‹ˆ๊นŒ์š”.

ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ

์ด ์„œ๋ฒ„๋Š” ์•„์ง ์‰ฌ์šด ๋ง๋กœ ๋œ ์š”์•ฝ์„ ์“ฐ์ง€ ๋ชปํ–ˆ์–ด์š”. ์•„๋ž˜๋Š” ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ ์ฝ์–ด ์˜จ ์‚ฌ์‹ค์ด์—์š”.

  • ์—ฐ๊ฒฐ ๋ฐฉ์‹: ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰
  • ์ „์†ก ๋ฐฉ์‹: stdio
  • ์นดํ…Œ๊ณ ๋ฆฌ: ๊ธฐํƒ€

์„ค์น˜

์“ฐ๊ณ  ์žˆ๋Š” AI ์•ฑ์„ ๊ณ ๋ฅธ ๋‹ค์Œ ์„ค์ •์„ ๋ณต์‚ฌํ•˜์„ธ์š”.

์„ค์น˜ํ•˜๊ธฐ ์ „์—

  • ๊ธฐ๋ณธ ์ ๊ฒ€: 1๊ฐœ ์ค‘ 1๊ฐœ ํ†ต๊ณผ
  • ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ๋‚ด ์‚ฌ์šฉ์ž ๊ณ„์ •์˜ ๊ถŒํ•œ(ํŒŒ์ผ, ๋„คํŠธ์›Œํฌ, ์•ฑ)์œผ๋กœ ์‹คํ–‰๋ผ์š”.
  • ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์ž…๋ ฅํ•ด์•ผ ํ•  ํ‚ค๊ฐ€ ๋‚˜์™€ ์žˆ์ง€ ์•Š์•„์š”.

ํ•„์š”ํ•œ ๊ฒƒ

  • npmNode.js ์„ค์น˜(npx ๋ช…๋ น์–ด์šฉ)

์–ด๋–ค ์•ฑ์„ ์“ฐ์„ธ์š”?

์œ„์—์„œ ์•ฑ์„ ๊ณ ๋ฅด์„ธ์š”. ๊ธฐ์–ตํ•ด ๋‘์—ˆ๋‹ค๊ฐ€ ๋‹ค์Œ๋ถ€ํ„ฐ๋Š” ๋ฒ„ํŠผ์— โ€œโ€ฆ์— ์„ค์น˜โ€๋ผ๊ณ  ํ‘œ์‹œํ•ด์š”.

Claude Desktop โ†’ Settings โ†’ Developer โ†’ Edit Config๋ฅผ ์—ด๊ณ  claude_desktop_config.json์— ์ด ๋‚ด์šฉ์„ ๋ถ™์—ฌ ๋„ฃ์œผ์„ธ์š”

{
  "mcpServers": {
    "swiss": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-swiss"
      ]
    }
  }
}

ํ„ฐ๋ฏธ๋„์—์„œ ์ด ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์„ธ์š”

claude mcp add swiss -- npx -y mcp-swiss

Cursor์—์„œ ์—ด๊ธฐ

๋˜๋Š” ์„ค์ •์„ ์ง์ ‘ ๋ณต์‚ฌํ•˜๊ธฐ

ํ”„๋กœ์ ํŠธ์˜ .cursor/mcp.json ๋˜๋Š” ~/.cursor/mcp.json์— ๋ถ™์—ฌ ๋„ฃ์œผ์„ธ์š”

{
  "mcpServers": {
    "swiss": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-swiss"
      ]
    }
  }
}

๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์•ฑ์„ ์—ด์ง€ ๋ฌผ์–ด๋ณธ ๋‹ค์Œ, ์•ฑ์ด ์„ค์ •์„ ๋ณด์—ฌ ์ฃผ๊ณ  ํ™•์ธ์„ ์š”์ฒญํ•ด์š”. ํ‚ค ๊ฐ’์€ ๋น„์›Œ ๋‘๋‹ˆ ์ง์ ‘ ์ž…๋ ฅํ•˜์„ธ์š”.

VS Code์—์„œ ์—ด๊ธฐ

๋˜๋Š” ์„ค์ •์„ ์ง์ ‘ ๋ณต์‚ฌํ•˜๊ธฐ

ํ”„๋กœ์ ํŠธ์˜ .vscode/mcp.json์— ๋ถ™์—ฌ ๋„ฃ์œผ์„ธ์š”

{
  "servers": {
    "swiss": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mcp-swiss"
      ]
    }
  }
}

๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์•ฑ์„ ์—ด์ง€ ๋ฌผ์–ด๋ณธ ๋‹ค์Œ, ์•ฑ์ด ์„ค์ •์„ ๋ณด์—ฌ ์ฃผ๊ณ  ํ™•์ธ์„ ์š”์ฒญํ•ด์š”. ํ‚ค ๊ฐ’์€ ๋น„์›Œ ๋‘๋‹ˆ ์ง์ ‘ ์ž…๋ ฅํ•˜์„ธ์š”.

์ด ์„œ๋ฒ„๋Š” ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋˜๋Š”๋ฐ, ChatGPT๋Š” ์ธํ„ฐ๋„ท์— ์žˆ๋Š” ์„œ๋ฒ„์—๋งŒ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์–ด์š”. ๋‹ค๋ฅธ ์•ฑ์„ ๊ณ ๋ฅด์„ธ์š”.

์„ ํƒํ•œ ์•ฑ์€ ์ด ๊ธฐ๊ธฐ์˜ ์ฟ ํ‚ค์—๋งŒ ์ €์žฅ๋ผ์š”. ๊ณ„์ •์€ ํ•„์š” ์—†์–ด์š”.

์ด ์„ค์ •์€ ์ œ์ž‘์ž์˜ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ •๋ณด๋กœ ๋งŒ๋“ค์—ˆ์–ด์š”. README์™€ ๋‹ค๋ฅด๋ฉด README๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ

๋‚ด ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋ผ์š”. ์„ค์น˜ํ•˜๋ฉด AI ์•ฑ์— ๋„๊ตฌ ๋ชฉ๋ก์ด ๋‚˜ํƒ€๋‚˜์š”.

๊ธฐ๋ณธ ์ ๊ฒ€i

๋ˆ„๊ตฌ๋‚˜ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๋ฅผ ์ ๊ฒ€ํ–ˆ๊ณ , ์ฝ”๋“œ๋Š” ์ฝ์ง€ ์•Š์•˜์–ด์š”. ํ•ด๋‹นํ•˜์ง€ ์•Š๋Š” ํ•ญ๋ชฉ์€ ๊ฐœ์ˆ˜์—์„œ ๋บ์–ด์š”. ยท 2026๋…„ 11์›” 7์ผ ์ ๊ฒ€

  • โœ“ ํ†ต๊ณผ

    ์ œ์ž‘์ž์™€ ์ €์žฅ์†Œ ์ผ์น˜

    ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ด๋ฆ„์ด GitHub ๊ณ„์ • vikramgorla ๊ธฐ์ค€์œผ๋กœ ํ™•์ธ๋˜์—ˆ๊ณ , ์ด ๊ณ„์ •์ด ์ €์žฅ์†Œ๋ฅผ ์†Œ์œ ํ•˜๊ณ  ์žˆ์–ด์š”

  • โ€ฆ ์•„์ง ์ ๊ฒ€ ์•ˆ ํ•จ

    ๊ณ„์† ๊ด€๋ฆฌ๋˜๊ณ  ์žˆ์Œ

    ์•„์ง GitHub์—์„œ ์ด ์ €์žฅ์†Œ๋ฅผ ์ฝ์–ด ์˜ค์ง€ ์•Š์•˜์–ด์š”

  • โ€ฆ ์•„์ง ์ ๊ฒ€ ์•ˆ ํ•จ

    ๋ผ์ด์„ ์Šค ์žˆ์Œ

    ์•„์ง GitHub์—์„œ ์ด ์ €์žฅ์†Œ๋ฅผ ์ฝ์–ด ์˜ค์ง€ ์•Š์•˜์–ด์š”

  • โ€“ ํ•ด๋‹น ์—†์Œ

    ์—”๋“œํฌ์ธํŠธ ์‘๋‹ต

    ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋˜๋Š” ์„œ๋ฒ„๋ผ ์ธํ„ฐ๋„ท ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์—†์–ด์š”

  • โ€“ ํ•ด๋‹น ์—†์Œ

    OAuth๋กœ ๋กœ๊ทธ์ธ

    ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋˜๋ฉฐ, ๋Œ€์‹  ๋กœ์ปฌ ์„ค์ •์„ ์‚ฌ์šฉํ•ด์š”

  • โ€ฆ ์•„์ง ์ ๊ฒ€ ์•ˆ ํ•จ

    ๋„๊ตฌ ์„ค๋ช…์— ์ˆจ๊ฒจ์ง„ ์ง€์‹œ ์—†์Œ

    ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋ผ์š”. ๋„๊ตฌ ๋ชฉ๋ก์€ ์ธํ„ฐ๋„ท ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์žˆ๋Š” ์„œ๋ฒ„์—์„œ๋งŒ ์ฝ์„ ์ˆ˜ ์žˆ์–ด์š”

๊ธฐํƒ€ ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ์„œ๋ฒ„์™€ ๋น„๊ตi

  • ์ด ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ์„œ๋ฒ„ 32537๊ฐœ ์ค‘ 0%๋ณด๋‹ค ์Šคํƒ€๊ฐ€ ๋งŽ์•„์š”
  • ์ด ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ์„œ๋ฒ„ 32537๊ฐœ ์ค‘ 90%๋ณด๋‹ค ์ตœ๊ทผ์— ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ๊ณต๊ฐœ๋์–ด์š”
  • ๊ธฐ๋ณธ ์ ๊ฒ€ ๊ฒฐ๊ณผ๊ฐ€ ์ด ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ์„œ๋ฒ„ 32537๊ฐœ ์ค‘ 100%์™€ ๊ฐ™๊ฑฐ๋‚˜ ๋” ์ข‹์•„์š”

๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ ์ด ์นดํ…Œ๊ณ ๋ฆฌ์˜ ํ™œ์„ฑ ์„œ๋ฒ„ ์ „์ฒด์™€ ๋น„๊ตํ–ˆ์–ด์š”. ์Šคํƒ€๋Š” ๊ฒŒ์‹œ์ž๊ฐ€ ์ €์žฅ์†Œ๋ฅผ ์†Œ์œ ํ•œ ๊ฒฝ์šฐ์—๋งŒ ์„ธ์š”.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

Switzerland MCP ๐Ÿ‡จ๐Ÿ‡ญ, ์•ˆ์ „ํ•œ๊ฐ€์š”?

ํ•ด๋‹นํ•˜๋Š” ๊ธฐ๋ณธ ์ ๊ฒ€ 1๊ฐœ ์ค‘ 1๊ฐœ๋ฅผ ํ†ต๊ณผํ–ˆ์–ด์š”. ์ฝ”๋“œ๋Š” ์ฝ์ง€ ์•Š์•˜์–ด์š”. ํ‚ค๋‚˜ ํ† ํฐ์„ ๋„ฃ๊ธฐ ์ „์— ์„œ๋ฒ„๊ฐ€ ์–ด๋–ค ๊ถŒํ•œ์„ ์š”๊ตฌํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ๊ผญ ํ•„์š”ํ•œ ๊ถŒํ•œ๋งŒ ์žˆ๋Š” ํ‚ค๋ฅผ ์“ฐ์„ธ์š”.

์–ด๋–ค ํ‚ค๋‚˜ ์ฝ”๋“œ๊ฐ€ ํ•„์š”ํ•œ๊ฐ€์š”?

๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ํ•„์ˆ˜ ํ‚ค๊ฐ€ ๋‚˜์™€ ์žˆ์ง€ ์•Š์•„์š”. ๋‹ค๋งŒ ์ฒ˜์Œ ์“ธ ๋•Œ ๋กœ๊ทธ์ธ์„ ์š”๊ตฌํ•˜๋Š” ์„œ๋ฒ„๋„ ์žˆ์–ด์š”.

๋‚ด ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋˜๋‚˜์š”, ํด๋ผ์šฐ๋“œ์—์„œ ์‹คํ–‰๋˜๋‚˜์š”?

๋‚ด ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋ผ์š”. AI ์•ฑ์ด ํ•„์š”ํ•  ๋•Œ ์‹คํ–‰ํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋Š” ์ œ์ž‘์ž์˜ ์„œ๋ฒ„๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š์•„์š”(์„œ๋ฒ„ ์ž์ฒด๊ฐ€ ์˜จ๋ผ์ธ ์„œ๋น„์Šค๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ์ œ์™ธ).

์•„์ง ๊ด€๋ฆฌ๋˜๊ณ  ์žˆ๋‚˜์š”?

GitHub ์ €์žฅ์†Œ๋Š” ๋งˆ์ง€๋ง‰์œผ๋กœ โ€“ ๋ณ€๊ฒฝ๋๊ณ , ์ตœ์‹  ๋ฒ„์ „(0.9.0)์€ 4์ผ ์ „ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์˜ฌ๋ผ์™”์–ด์š”.

์–ด๋–ค ์•ฑ์—์„œ ์“ธ ์ˆ˜ ์žˆ๋‚˜์š”?

Claude Desktop, Claude Code, Cursor, VS Code์ฒ˜๋Ÿผ MCP๋ฅผ ์ง€์›ํ•˜๋Š” ์•ฑ์—์„œ ์“ธ ์ˆ˜ ์žˆ์–ด์š”. ๋‚ด ์ปดํ“จํ„ฐ์— Node.js๋„ ์žˆ์–ด์•ผ ํ•ด์š”.

๋Œ€์‹  ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ฑด ๋ญ๊ฐ€ ์žˆ๋‚˜์š”?

๊ฐ™์€ ์นดํ…Œ๊ณ ๋ฆฌ์—๋Š”: Spec Driven Development, Remote Desktop Commander, TF Rooms

๋Œ€์•ˆ

๊ฐ™์€ ์นดํ…Œ๊ณ ๋ฆฌ์—์„œ ๋‹ค๋ฅธ ์ œ์ž‘์ž๊ฐ€ ๋งŒ๋“  ์„œ๋ฒ„์˜ˆ์š”. ์Šคํƒ€ ์ˆœ์œผ๋กœ ์ •๋ ฌํ–ˆ์–ด์š”.

์นด๋“œ ๋ณด๋Š” ๋ฒ•:โ˜… GitHub ์Šคํƒ€i์„ธ ๊ธฐ๋‘ฅ: ๋ฆฌ๋ทฐ ยท ์ ๊ฒ€ ยท ์‚ฌ์šฉ ์ •๋„i์—…๋ฐ์ดํŠธ = ์ตœ์‹  ๋ฒ„์ „์„ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ๊ณต๊ฐœํ•œ ๋‚ i

Spec Driven Development

์ œ์ž‘์ž: formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

๋‚ด ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰โ˜… 440MIT14๊ฐœ์›” ์ „ ์—…๋ฐ์ดํŠธ
์„ค์น˜

Remote Desktop Commander

์ œ์ž‘์ž: desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

ํด๋ผ์šฐ๋“œ์—์„œ ์‹คํ–‰โ˜… 211์–ด์ œ ์—…๋ฐ์ดํŠธ
์„ค์น˜

TF Rooms

์ œ์ž‘์ž: tfrooms.com

Live room availability, rates and stay quotes for 12 New Leaf motels in Twin Falls, Idaho.

ํด๋ผ์šฐ๋“œ์—์„œ ์‹คํ–‰์˜ค๋Š˜ ์—…๋ฐ์ดํŠธ
์„ค์น˜

์ œ์ž‘์ž์˜ README

README ์—ด๊ธฐ

์ œ์ž‘์ž์˜ ์ €์žฅ์†Œ์—์„œ ์“ฐ์ธ ๊ทธ๋Œ€๋กœ ๊ฐ€์ ธ์™”์–ด์š”. PopNx MCP๊ฐ€ ๊ฒ€ํ† ํ•˜๊ฑฐ๋‚˜ ๋ณด์ฆํ•œ ๋‚ด์šฉ์ด ์•„๋‹ˆ์—์š”. HTML, ์ด๋ฏธ์ง€, ์Šคํฌ๋ฆฝํŠธ๋Š” ์ œ๊ฑฐํ–ˆ์–ด์š”. ๋งํฌ๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ด ์‚ฌ์ดํŠธ๋ฅผ ๋ฒ—์–ด๋‚˜์š”.

mcp-swiss

Swiss open data for AI โ€” zero config, zero API keys

Install ยท Tools ยท Demo ยท Data Sources


mcp-swiss is a Model Context Protocol server that gives any AI assistant direct access to Swiss open data โ€” trains, weather, rivers, maps, and companies.

94 tools. No API keys. No registration. No server to run. Just `npx mcp-swiss`.

๐Ÿš† Transport    โ€” SBB, PostBus, trams, live departures, journey planning

๐ŸŒค๏ธ Weather โ€” MeteoSwiss live conditions + historical data ๐ŸŒŠ Hydrology โ€” BAFU river & lake levels (great for Aare swimming!) ๐Ÿ—บ๏ธ Geodata โ€” swisstopo geocoding, solar potential, geographic layers ๐Ÿข Companies โ€” ZEFIX federal registry, all 700K+ Swiss companies ๐ŸŽ„ Holidays โ€” Swiss public & school holidays by canton ๐Ÿ›๏ธ Parliament โ€” Bills, votes, members, speeches, cantonal affairs (OpenParlData.ch) ๐Ÿ”๏ธ Avalanche โ€” SLF danger bulletins and warning regions ๐Ÿ’จ Air Quality โ€” NABEL stations, Swiss legal limits (LRV) ๐Ÿ“ฎ Swiss Post โ€” Postcode lookup and parcel tracking โšก Energy โ€” Electricity tariffs by municipality (ElCom) ๐Ÿ“Š Statistics โ€” Population, demographics, BFS datasets ๐Ÿฆ SNB Rates โ€” Swiss National Bank CHF exchange rates, historical data โ™ป๏ธ Recycling โ€” Zurich city waste collection calendar (OpenERZ) ๐Ÿ“ฐ Swiss News โ€” SRF news headlines and keyword search ๐Ÿ—ณ๏ธ Voting โ€” Swiss popular vote results (Basel-Stadt open data) ๐ŸŒŠ Dams โ€” Swiss federal dam registry (SFOE/swisstopo) ๐Ÿฅพ Hiking โ€” Swiss trail closures and hiking alerts (swisstopo) ๐Ÿ  Real Estate โ€” Swiss property prices, rent index, housing data (BFS) ๐Ÿš— Traffic โ€” ASTRA counting stations, daily volumes ๐ŸŒ Earthquakes โ€” Swiss Seismological Service (SED/ETH Zรผrich), FDSN API โ„๏ธ Snow โ€” SLF snow depth, stations, and measurements ๐ŸŒฟ Pollen โ€” MeteoSwiss pollen concentrations at the published stations ๐Ÿ  Buildings โ€” Federal register of buildings and dwellings (GWR) ๐Ÿ“‚ Catalogue โ€” opendata.swiss dataset search, metadata, and downloads ๐ŸŒก๏ธ Meteo OGD โ€” SwissMetNet stations and measurements (STAC CSV) ๐Ÿงญ Map layers โ€” geo.admin layer search, identify, and attribute find ๐Ÿš‰ SBB Data โ€” station passengers, punctuality, and step-free access


Installation

Quick Start
npx mcp-swiss

That's it. No API keys, no .env files, no accounts. Pick your client below and paste the config.


One-Click Install (.mcpb)

.mcpb bundles work with Claude Desktop and any MCP Bundle-compatible app.

โฌ‡ Download mcp-swiss.mcpb

Open the downloaded file โ€” your app handles the rest. No config editing, no terminal, no API keys.


Claude Desktop

Edit your config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{

"mcpServers": { "swiss": { "command": "npx", "args": ["-y", "mcp-swiss"] } } }

Restart Claude Desktop after saving.


Claude Code (CLI)
claude mcp add swiss -- npx -y mcp-swiss

That's it โ€” Claude Code will use it in your next session.


Cursor

Requires Cursor 0.45.6+

Option A: Project config โ€” create .cursor/mcp.json in your project root:

{

"mcpServers": { "swiss": { "command": "npx", "args": ["-y", "mcp-swiss"] } } }

Option B: Global config โ€” create ~/.cursor/mcp.json:

{

"mcpServers": { "swiss": { "command": "npx", "args": ["-y", "mcp-swiss"] } } }

Option C: Via Cursor Settings UI

  1. Open Cursor Settings
  2. Go to Features โ†’ MCP Servers
  3. Click + Add new global MCP server
  4. Paste the JSON config above

VS Code (GitHub Copilot)
One-click Install

CLI Install
# VS Code

code --add-mcp '{"name":"swiss","command":"npx","args":["-y","mcp-swiss"]}'

VS Code Insiders

code-insiders --add-mcp '{"name":"swiss","command":"npx","args":["-y","mcp-swiss"]}'

Manual Config

Add to your VS Code User Settings (JSON) โ€” press Ctrl+Shift+P โ†’ Preferences: Open User Settings (JSON):

{

"mcp": { "servers": { "swiss": { "command": "npx", "args": ["-y", "mcp-swiss"] } } } }

Or add to .vscode/mcp.json in your workspace (shareable with your team):

{

"servers": { "swiss": { "command": "npx", "args": ["-y", "mcp-swiss"] } } }


Windsurf

Add to ~/.codeium/windsurf/model_config.json:

{

"mcpServers": { "swiss": { "command": "npx", "args": ["-y", "mcp-swiss"] } } }


Cline (VS Code)

Open VS Code settings.json and add:

{

"cline.mcpServers": { "swiss": { "command": "npx", "args": ["-y", "mcp-swiss"] } } }


Any MCP Client

mcp-swiss uses stdio transport and requires no environment variables. Upstream calls time out after 30 seconds (MCP_SWISS_TIMEOUT_MS overrides that) and retry once on a dropped connection or a rate limit. The universal config:

{

"command": "npx", "args": ["-y", "mcp-swiss"] }

This works with any MCP-compatible client โ€” just plug it in.

Docker
docker pull vikramgorla/mcp-swiss

Use with any MCP client that supports Docker-based servers. The container uses stdio transport:

# Run directly (stdio)

docker run -i vikramgorla/mcp-swiss

Use with Claude Desktop

For Claude Desktop, update your config to use Docker:

{

"mcpServers": { "swiss": { "command": "docker", "args": ["run", "-i", "--rm", "vikramgorla/mcp-swiss"] } } }

Also available on GitHub Container Registry:

docker pull ghcr.io/vikramgorla/mcp-swiss

Streamable HTTP

stdio is still the default. For a local HTTP client, run:

npx mcp-swiss --http

That listens on 127.0.0.1:3000 and serves MCP at POST /mcp (also GET and DELETE) plus GET /health. --port, --host, PORT, HOST, and MCP_TRANSPORT=http are the other switches.

A bind that is not loopback (127.0.0.1, localhost, or ::1) refuses to start unless both MCP_AUTH_TOKEN and MCP_ALLOWED_HOSTS are set. Sessions are capped (MCP_MAX_SESSIONS, default 64) and idle ones expire. This is the transport half of #64. It does not deploy a hosted instance.


Module Filtering

By default, mcp-swiss loads all 27 modules (94 tools). The full tools/list schema is about 9,300 tokens (37,011 characters). For a smaller startup list, load only the modules you need.

Discovery mode

Search, then execute. The server lists three meta-tools instead of every schema (about 330 tokens versus about 9,300):

{

"mcpServers": { "swiss": { "command": "npx", "args": ["-y", "mcp-swiss", "--discovery"] } } }

MCP_SWISS_MODE=discovery and --mode discovery do the same thing. swiss_search_tools finds tools by keyword or module and returns their input schemas. swiss_call_tool checks those arguments, then runs the tool. swiss_list_modules is the catalog. The default, with no flag, is still the full tool list.

Select specific modules
{

"mcpServers": { "swiss": { "command": "npx", "args": ["-y", "mcp-swiss", "--modules", "transport,weather"] } } }

Use presets
{

"mcpServers": { "swiss": { "command": "npx", "args": ["-y", "mcp-swiss", "--preset", "commuter"] } } }

PresetModulesToolsToken Savings
commutertransport, weather, holidays1483%
outdoorweather, avalanche, hiking, earthquakes, dams, snow, pollen2274%
businesscompanies, geodata, post, energy, statistics, snb, gwr2768%
citizenparliament, voting, holidays, news1780%
minimaltransport594%
fullall 27 modules (default)94โ€”

Combine preset + modules: --preset commuter --modules parliament

List available: npx mcp-swiss --list-modules or npx mcp-swiss --list-presets


Demo Prompts

Once connected, try asking your AI:

PromptWhat it uses
*"Next 5 trains from Zรผrich HB to Geneva"*get_connections
*"Is the Aare in Bern warm enough to swim?"*get_water_level
*"Weather in Lugano vs Zรผrich today"*get_weather
*"Find blockchain companies registered in Zug"*search_companies
*"Solar potential of Bundesplatz 3, Bern"*geocode + get_solar_potential
*"Live departures from Bern HB"*get_departures
*"What rivers are near Thun?"*list_hydro_stations + get_water_level

| *"Plan my Saturday: train to Interlaken, check weather"* | Multiple

์•ž๋ถ€๋ถ„๋งŒ ๋ณด์—ฌ ๋“œ๋ ค์š”. ๋‚˜๋จธ์ง€๋Š” ์ €์žฅ์†Œ์—์„œ ์ฝ์–ด ๋ณด์„ธ์š”

PopNx์—๊ฒŒ ๋ฌป๊ธฐ