The first Swiss MCP server for Claude Code & Cursor.
Plug Swiss federal datasets (TARES, NOGA, FINMA) directly into your AI agent. JSON-RPC 2.0, pre-computed multilingual embeddings, signed cryptographic manifest. Free tier 100 req/day.
Connect openswissdata to Claude Code in 30 seconds.
Step 1 · Add the server
In ~/.claude/mcp.json or via claude mcp add:
{
"mcpServers": {
"openswissdata": {
"url": "https://mcp.openswissdata.com/mcp/jsonrpc",
"transport": "http"
}
}
} Step 2 · Restart Claude Code
The 8 tools will appear automatically in Claude Code's MCP picker (/mcp command).
Step 3 · Test
Try for example: "find the TARES code for 18-carat gold jewellery" and the agent will call tariff_semantic_search automatically.
Similar configuration for Cursor (~/.cursor/mcp.json) and other MCP-compatible clients. Full docs at github.com/openswissdata.
Three data packs. Nine endpoints.
// pack TARES
tariff_lookup ✓ live Lookup a Swiss customs tariff (HS8) and return full row + parents + non-official disclaimer.
curl example ↓
curl -X POST https://mcp.openswissdata.com/mcp/jsonrpc \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tariff_lookup",
"arguments": {
"hs8": "0901.10.10",
"lang": "fr"
}
}
}' tariff_semantic_search ✓ live Semantic search across TARES descriptions (sentence-transformers paraphrase-multilingual-mpnet-base-v2, 768d, ~7,500 FR vectors).
curl example ↓
curl -X POST https://mcp.openswissdata.com/mcp/jsonrpc \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tariff_semantic_search",
"arguments": {
"query": "18-carat gold jewellery",
"top_k": 5
}
}
}' tariff_changelog ✓ live Historical changelog of MFN duty rates for an HS8 code over a 12-24 month rolling window. Irreplicable by scraping.
curl example ↓
curl -X POST https://mcp.openswissdata.com/mcp/jsonrpc \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "tariff_changelog",
"arguments": {
"hs8": "0901.10.10",
"since": "2025-01-01"
}
}
}' // pack Classifications
cross_walk ✓ live Translate a code between NOGA 2008/2025, NACE 2.0/2.1, ISIC 4.
curl example ↓
curl -X POST https://mcp.openswissdata.com/mcp/jsonrpc \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "cross_walk",
"arguments": {
"code": "47.29",
"source": "NOGA_2025",
"target": "NACE_2.1"
}
}
}' classify_text ✓ live Classify free-text into top-K NOGA 2025 codes with confidence scores.
curl example ↓
curl -X POST https://mcp.openswissdata.com/mcp/jsonrpc \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "classify_text",
"arguments": {
"text": "retail of coffee beans and roasting",
"top_k": 3
}
}
}' statent_lookup ✓ live Swiss enterprise statistics (BFS STATENT 2023) for a NOGA division × canton: number of establishments, jobs, and full-time equivalents (FTE). 2,270 rows of pre-aggregated public-domain BFS data.
curl example ↓
curl -X POST https://mcp.openswissdata.com/mcp/jsonrpc \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "statent_lookup",
"arguments": {
"noga_division": "62",
"canton_code": "1"
}
}
}' // pack FINMA
kyc_check ✓ live Unified KYC: FINMA registry + warnings list cross-referenced.
curl example ↓
curl -X POST https://mcp.openswissdata.com/mcp/jsonrpc \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "kyc_check",
"arguments": {
"name": "UBS Switzerland AG"
}
}
}' finma_search ✓ live Fuzzy search FINMA registry by name (Levenshtein, normalised noise tokens AG/SA/Sàrl).
curl example ↓
curl -X POST https://mcp.openswissdata.com/mcp/jsonrpc \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "finma_search",
"arguments": {
"name": "Vontobel",
"top_k": 5,
"include_warnings": true
}
}
}' entity_history ✓ live Timeline of changes for a FINMA-supervised entity: registration, authorisation changes, withdrawals.
curl example ↓
curl -X POST https://mcp.openswissdata.com/mcp/jsonrpc \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "entity_history",
"arguments": {
"uid": "CHE-101.329.561"
}
}
}' Without installing Claude Code, test the endpoints from your browser.
→ Free tier: 100 req/day per IP. No account required to test.
→ Select a tool, adjust the arguments, click "Try it"…
Free tier capable. Pro for production workflows.
100 req/day per IP. No account required. Mandatory non-official disclaimer in the response.
- ✓ 9 tools
- ✓ No auth required
- ✗ No SLA
No additional cost after purchasing a dataset (TARES 299 / Classifications 399 / FINMA 299 CHF). 1,000 req/month for 12 months.
- ✓ 9 core tools
- ✓ Persistent bearer token
- ✓ Email support within 48h
Included with Classifications Pro. 10,000 req/month for 12 months. Access to advanced tools tariff_semantic_search, classify_text, entity_history.
- ✓ Embeddings DE/IT/EN (1,845 NOGA codes)
- ✓ NAICS 2022 cross-walks (~1,700)
- ✓ EN labels NACE Rev 2.1
- ✓ Priority support within 12h
Recurring subscription. 5,000 req/month renewed monthly. MCP only — no raw ZIP. For API-only use cases.
- ✓ 9 core tools
- ✓ Cancel monthly
- ✗ No downloadable ZIP
- ✗ No DE/IT/EN embeddings
The first Swiss MCP for your agents.
Free tier 100 req/day. No account required to test. Open MCP spec 2025-06-18.