github Python re-analysis due

malkreide/termdat-mcp

github

MCP server for TERMDAT — official multilingual terminology of the Swiss Federal Administration (DE/FR/IT/EN). Validated authority names, legal act titles and abbreviations for AI agents.

maintainer
malkreide
license
MIT
first seen
2026-07-19
last seen
2026-08-24
releases · 30d
2
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 7 tools
transport stdio · http · sse verified reported listed in the official MCP registry counts 7 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • api_status
  • check_terms
  • get_entries
  • list_classifications
  • list_collections
  • search_terms
  • translate_term
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit d81ab70 · analyzer v33 · 1w ago

skills & prompt files 1

danger signals1

code evidence vv0.1.3 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 20

filesystem 7

  • fs (weak) malkreide-termdat-mcp-d81ab70/scripts/check_ruff_pin.py :35 import shutil
  • fs (weak) malkreide-termdat-mcp-d81ab70/scripts/check_version_sync.py :35 from pathlib import Path
  • fs (weak) malkreide-termdat-mcp-d81ab70/scripts/classify_live_run.py :55 from pathlib import Path
  • fs (weak) malkreide-termdat-mcp-d81ab70/scripts/record_fixtures.py :24 from pathlib import Path
  • fs (weak) malkreide-termdat-mcp-d81ab70/tests/fixture_data.py :18 from pathlib import Path
  • fs (weak) malkreide-termdat-mcp-d81ab70/tests/test_classify_live_run.py :21 from pathlib import Path
  • fs (weak) malkreide-termdat-mcp-d81ab70/tests/test_recorded_fixtures.py :249 from pathlib import Path

shell / exec 1

  • shell (weak) malkreide-termdat-mcp-d81ab70/scripts/check_ruff_pin.py :36 import subprocess

network 6

  • net (weak) malkreide-termdat-mcp-d81ab70/scripts/record_fixtures.py :26 from urllib.parse import urlencode
  • net malkreide-termdat-mcp-d81ab70/src/termdat_mcp/client.py :16 from urllib.parse import urlsplit
  • net (weak) malkreide-termdat-mcp-d81ab70/tests/test_client.py :3 import httpx
  • net (weak) malkreide-termdat-mcp-d81ab70/tests/test_recorded_fixtures.py :20 import httpx
  • net (weak) malkreide-termdat-mcp-d81ab70/tests/test_retry_policy.py :16 import httpx
  • net (weak) malkreide-termdat-mcp-d81ab70/tests/test_server.py :5 import httpx

tool registrations 7

  • search_terms malkreide-termdat-mcp-d81ab70/src/termdat_mcp/server.py :89
  • get_entries malkreide-termdat-mcp-d81ab70/src/termdat_mcp/server.py :159
  • translate_term malkreide-termdat-mcp-d81ab70/src/termdat_mcp/server.py :179
  • check_terms malkreide-termdat-mcp-d81ab70/src/termdat_mcp/server.py :275
  • list_collections malkreide-termdat-mcp-d81ab70/src/termdat_mcp/server.py :311
  • list_classifications malkreide-termdat-mcp-d81ab70/src/termdat_mcp/server.py :325
  • api_status malkreide-termdat-mcp-d81ab70/src/termdat_mcp/server.py :339

declared dependencies 9

  • mcp@>=2.0.0,<3
  • httpx@>=0.27
  • pydantic@>=2.7
  • pydantic-settings@>=2.0
  • structlog@>=24.1,<27
  • pytest@>=8
  • pytest-asyncio@>=0.23
  • respx@>=0.21
  • ruff@==0.16.1

transport_posture 1

  • network-listening, binds all interfaces, no auth detected malkreide-termdat-mcp-d81ab70/tests/test_transport_security.py :40 assert build_transport_security(_cfg(host="0.0.0.0")) is None