Skip to content

OpenSwissData

by cammac-creator · remote · local (npm) · no sign-in to list tools · v0.3.1 · published by GitHub user cammac-creator

Swiss customs tariff (TARES), FINMA register, NOGA/NACE/ISIC codes. 3 free tools + search trial.

Changes · 3

7 tools: 3 change things and 4 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http openswissdata https://mcp.openswissdata.com/jsonrpc

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "cross_walk" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "find": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

7 tools

Changes things 3Claude Code: ask
  • classify_textFREE TRIAL without a key: 20 calls per day per IP address in total for tariff_semantic_search, classify_text and finma_search.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    FREE TRIAL without a key: 20 calls per day per IP address in total for tariff_semantic_search, classify_text and finma_search. Each answer states the trial calls left; check every result on the NOGA publications of the Federal Statistical Office before use. Classify a business activity description (French, German, Italian or English) into the closest NOGA 2025 subclasses (6 digits) with their class (the NACE 2.1 class), official hierarchy and a similarity score, using a pinned multilingual mpnet model. A NOGA code as text lists its subclasses. Each answer states the index provenance and the classification reference version; combine with cross_walk for NACE, ISIC or NOGA 2008.

    Annotations the server declares

    • title: NOGA 2025 classification of a business description (free trial, 20 calls per day)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • company_checkLook up a Swiss company by its UID (CHE-xxx.xxx.xxx): commercial register data (LINDAS), FINMA register entries and LEI records (GLEIF), each fact with its source and, when known, …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Look up a Swiss company by its UID (CHE-xxx.xxx.xxx): commercial register data (LINDAS), FINMA register entries and LEI records (GLEIF), each fact with its source and, when known, the date it was read, plus exact cross-checks between sources and checks of the registered address against the official localities and streets directories (swisstopo, when published). No score. When available, the commercial register status (active, in liquidation or deleted, with the deletion date) is read from Zefix (OFRC). FOSC publications, SECO sanctions and officers are not covered.

    Annotations the server declares

    • title: Swiss company check by UID
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • cross_walkFind correspondences between NOGA 2008, NOGA 2025, NACE 2.0, NACE 2.1 and ISIC 4 activity codes (Swiss, EU and UN classifications).1 finding

    Why it is in this group

    • The description's first verb is "find": a word for reading.
    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "cross_walk" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "find": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Find correspondences between NOGA 2008, NOGA 2025, NACE 2.0, NACE 2.1 and ISIC 4 activity codes (Swiss, EU and UN classifications). Returns the exact or approximate relation, its sources and the documented path. Never chains two non-exact relations; a non-exact correspondence needs expert validation.

    Annotations the server declares

    • title: NOGA / NACE / ISIC code correspondence
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 4Claude Code: allow
  • kyc_checkSearch the FINMA register of supervised institutions and the FINMA warnings list by name (case- and accent-insensitive).No findings

    Why it is in this group

    • The description's first verb is "search": a word for reading.
    Description, as the server wrote it
    Search the FINMA register of supervised institutions and the FINMA warnings list by name (case- and accent-insensitive). Returns the closest top_k authorised entities and warning entries (exact name, then whole word, then substring; all words in any order as a fallback) with the total number of matches. Only an identical name is reported as a FINMA warning-list match; a merely similar name is listed separately, to verify, and is never called a match. Use it for basic counterparty screening; no result is not a compliance certificate.

    Annotations the server declares

    • title: FINMA register and warnings list check
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • tariff_lookupLook up the Swiss customs tariff (TARES).No findings

    Why it is in this group

    • The name "tariff_lookup" says "lookup": a word for reading.
    Description, as the server wrote it
    Look up the Swiss customs tariff (TARES). An 8-digit Swiss tariff number (dots allowed) returns the full line: designations in FR/DE/IT/EN, MFN duty, preferential regimes, restrictions and customs relief codes. A 2- to 7-digit HS prefix (for example the international HS6 code) lists the Swiss 8-digit lines under it. Every result carries an unofficial-copy notice that the agent must show to the end user.

    Annotations the server declares

    • title: Swiss customs tariff line (TARES)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.3.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http openswissdata https://mcp.openswissdata.com/jsonrpc

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__openswissdata__tariff_lookup",
      "mcp__openswissdata__kyc_check",
      "mcp__openswissdata__tariff_semantic_search",
      "mcp__openswissdata__finma_search"
    ],
    "ask": [
      "mcp__openswissdata__company_check",
      "mcp__openswissdata__cross_walk",
      "mcp__openswissdata__classify_text"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as openswissdata. Review it before you use it.