github Python re-analysis due

malkreide/swiss-housing-mcp

github

MCP server for the Swiss Building & Dwelling Register (GWR/RegBL) — housing data & construction pipeline

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

Drift inferred · capture-to-capture

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

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

tools

  • address_to_egid
  • buildings_in_bbox
  • construction_pipeline
  • dump_status
  • explain_code
  • lookup_building
  • lookup_dwellings
  • municipality_housing_stats
  • new_construction
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit ca6ffd1 · analyzer v33 · 1w ago

skills & prompt files 1

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

code files: 15

filesystem 9

  • fs (weak) malkreide-swiss-housing-mcp-ca6ffd1/scripts/check_ruff_pin.py :35 import shutil
  • fs (weak) malkreide-swiss-housing-mcp-ca6ffd1/scripts/check_version_sync.py :49 from pathlib import Path
  • fs (weak) malkreide-swiss-housing-mcp-ca6ffd1/scripts/classify_live_run.py :55 from pathlib import Path
  • fs (weak) malkreide-swiss-housing-mcp-ca6ffd1/scripts/record_fixtures.py :29 import shutil
  • fs malkreide-swiss-housing-mcp-ca6ffd1/src/swiss_housing_mcp/gwr.py :29 from pathlib import Path
  • fs (weak) malkreide-swiss-housing-mcp-ca6ffd1/tests/fixture_data.py :18 from pathlib import Path
  • fs (weak) malkreide-swiss-housing-mcp-ca6ffd1/tests/test_classify_live_run.py :21 from pathlib import Path
  • fs (weak) malkreide-swiss-housing-mcp-ca6ffd1/tests/test_recorded_fixtures.py :233 from pathlib import Path
  • fs (weak) malkreide-swiss-housing-mcp-ca6ffd1/tests/test_werkzeug_versionen.py :15 import pathlib

shell / exec 2

  • shell (weak) malkreide-swiss-housing-mcp-ca6ffd1/scripts/check_ruff_pin.py :36 import subprocess
  • shell (weak) malkreide-swiss-housing-mcp-ca6ffd1/scripts/record_fixtures.py :31 import subprocess

network 5

  • net (weak) malkreide-swiss-housing-mcp-ca6ffd1/scripts/record_fixtures.py :38 from urllib.parse import urlencode
  • net malkreide-swiss-housing-mcp-ca6ffd1/src/swiss_housing_mcp/gwr.py :30 from urllib.parse import urlsplit
  • net malkreide-swiss-housing-mcp-ca6ffd1/src/swiss_housing_mcp/server.py :14 import httpx
  • net (weak) malkreide-swiss-housing-mcp-ca6ffd1/tests/test_recorded_fixtures.py :26 import httpx
  • net (weak) malkreide-swiss-housing-mcp-ca6ffd1/tests/test_server.py :12 import httpx

database 3

  • db (weak) malkreide-swiss-housing-mcp-ca6ffd1/scripts/record_fixtures.py :30 import sqlite3
  • db malkreide-swiss-housing-mcp-ca6ffd1/src/swiss_housing_mcp/gwr.py :23 import sqlite3
  • db (weak) malkreide-swiss-housing-mcp-ca6ffd1/tests/test_recorded_fixtures.py :23 import sqlite3

tool registrations 9

  • lookup_building malkreide-swiss-housing-mcp-ca6ffd1/src/swiss_housing_mcp/server.py :76
  • address_to_egid malkreide-swiss-housing-mcp-ca6ffd1/src/swiss_housing_mcp/server.py :109
  • lookup_dwellings malkreide-swiss-housing-mcp-ca6ffd1/src/swiss_housing_mcp/server.py :139
  • new_construction malkreide-swiss-housing-mcp-ca6ffd1/src/swiss_housing_mcp/server.py :171
  • construction_pipeline malkreide-swiss-housing-mcp-ca6ffd1/src/swiss_housing_mcp/server.py :225
  • buildings_in_bbox malkreide-swiss-housing-mcp-ca6ffd1/src/swiss_housing_mcp/server.py :268
  • municipality_housing_stats malkreide-swiss-housing-mcp-ca6ffd1/src/swiss_housing_mcp/server.py :311
  • explain_code malkreide-swiss-housing-mcp-ca6ffd1/src/swiss_housing_mcp/server.py :353
  • dump_status malkreide-swiss-housing-mcp-ca6ffd1/src/swiss_housing_mcp/server.py :382

declared dependencies 7

  • mcp@>=2.0.0,<3
  • httpx@>=0.27
  • pydantic@>=2.7
  • pytest@>=8.0
  • pytest-asyncio@>=0.23
  • respx@>=0.21
  • ruff@==0.16.1