termdat-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | Bind host (SSE transport only). Loopback by default; set HOST=0.0.0.0 only inside a container | 127.0.0.1 |
| PORT | No | Bind port (SSE transport only) | 8000 |
| TERMDAT_MCP_LOG_LEVEL | No | structlog level (JSON to stderr) | INFO |
| TERMDAT_MCP_TRANSPORT | No | Transport: stdio (local) or sse / streamable-http / http (cloud) | stdio |
| TERMDAT_MCP_VOCAB_TTL | No | Vocabulary cache TTL in seconds | 86400 |
| TERMDAT_MCP_CORS_ORIGINS | No | SSE only: explicit allowed browser origins (default-deny; never a wildcard in production) | [] |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_termsA | Search TERMDAT for official designations of the Swiss Federal Administration. Use this to look up the officially validated German/French/Italian/English name of an authority, department or legal act — for example to check how a body is named in another national language before citing it.
Leave
Scope caveat: TERMDAT holds administrative nomenclature (authority names, titles of legal acts, abbreviations), not domain vocabulary — so a term may genuinely be absent. Establish that with a wildcard retry, not from a single empty result, and never fill the gap with a guessed designation. Coverage caveat: the public API serves a subset of what termdat.bk.admin.ch shows, and the Federal Chancellery confirmed on 2026-08-21 that this is deliberate — the selection follows the needs of the federal administration's translators, and no fuller coverage is planned. Entries the website lists can be missing from the API entirely: not hidden by a filter, simply not served, so no query reaches them. So «not found here» means «not in the API», never «not in TERMDAT»: say which one you mean, and point at www.termdat.ch for the difference. |
| get_entriesA | Fetch known TERMDAT entries by their numeric IDs, with full language variants. Use this to re-retrieve an entry you already found via |
| translate_termA | Get the official equivalent of an administrative term in another national language. Returns the preferred designation (sequence 1) plus accepted variants, per matching entry. Use this for authority names, department titles and titles of legal acts. Matches only against designation fields, so a term merely mentioned in a
definition is never reported as an equivalent. |
| check_termsA | Check a list of terms against validated TERMDAT designations. Intended for communication QA: verify that authority names, department titles and
abbreviations in a draft match the officially validated form. Each term is reported
as |
| list_collectionsA | List the ~140 TERMDAT collections, for use as |
| list_classificationsB | List the 23 subject classifications (e.g. BILD = education), for |
| api_statusA | Availability of the TERMDAT API. Never returns silently empty. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Most tools have clearly distinct purposes: searching, retrieving by ID, translating, batch QA, listing metadata, and status. search_terms and translate_term overlap somewhat since both query designations, but the descriptions make the intended use cases distinct enough for an agent to choose correctly.
Most tools follow a clear verb_noun pattern: search_terms, get_entries, translate_term, check_terms, list_collections, list_classifications. api_status is the one outlier, breaking the pattern by using noun_only style instead of something like get_status.
Seven tools is well-scoped for a read-only terminology lookup server. Each tool has a distinct role: search, retrieval, translation, QA checking, filter metadata, and API status, without redundant utilities.
The domain is Swiss administrative terminology lookup, and the tool surface covers the full lifecycle: discover entries, retrieve by ID, translate, validate batches, enumerate filters, and check API availability. There are no obvious dead ends or missing operations for a read-only API.