MCP server for the Lobbywatch.ch lobby database — Swiss parliamentarians' conflicts of interest
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · streamable-http · http · sse
verified
reported
listed in the official MCP registry counts 0 tools · 0 res
· 0 prompts
permission surface via code analysis
No tools enumerated yet for this server.
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 5e7b228 · analyzer v33 · 1w ago
skills & prompt files 1
- agent-rules malkreide-lobbywatch-mcp-5e7b228/CLAUDE.md
danger signals1
- suspicious endpoint 169.254.169.254 (cloud metadata) malkreide-lobbywatch-mcp-5e7b228/tests/test_client.py :94
request = httpx.Request("GET", "http://169.254.169.254/latest/meta-data/")
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 24
filesystem 13
- fs (weak) malkreide-lobbywatch-mcp-5e7b228/scripts/check_ruff_pin.py :35
import shutil - fs (weak) malkreide-lobbywatch-mcp-5e7b228/scripts/check_version_sync.py :49
from pathlib import Path - fs (weak) malkreide-lobbywatch-mcp-5e7b228/scripts/classify_live_run.py :55
from pathlib import Path - fs (weak) malkreide-lobbywatch-mcp-5e7b228/scripts/record_fixtures.py :38
from pathlib import Path - fs malkreide-lobbywatch-mcp-5e7b228/src/lobbywatch_mcp/client.py :27
from pathlib import Path - fs malkreide-lobbywatch-mcp-5e7b228/src/lobbywatch_mcp/config.py :10
from pathlib import Path - fs (weak) malkreide-lobbywatch-mcp-5e7b228/tests/conftest.py :9
from pathlib import Path - fs (weak) malkreide-lobbywatch-mcp-5e7b228/tests/fixture_data.py :18
from pathlib import Path - fs (weak) malkreide-lobbywatch-mcp-5e7b228/tests/test_classify_live_run.py :21
from pathlib import Path - fs (weak) malkreide-lobbywatch-mcp-5e7b228/tests/test_client.py :8
from pathlib import Path - fs (weak) malkreide-lobbywatch-mcp-5e7b228/tests/test_recorded_fixtures.py :223
from pathlib import Path - fs (weak) malkreide-lobbywatch-mcp-5e7b228/tests/test_version.py :11
from pathlib import Path - fs (weak) malkreide-lobbywatch-mcp-5e7b228/tests/test_werkzeug_versionen.py :15
import pathlib
shell / exec 2
- shell (weak) malkreide-lobbywatch-mcp-5e7b228/scripts/check_ruff_pin.py :36
import subprocess - shell (weak) malkreide-lobbywatch-mcp-5e7b228/scripts/record_fixtures.py :34
import subprocess
network 5
- net (weak) malkreide-lobbywatch-mcp-5e7b228/scripts/record_fixtures.py :40
from urllib.parse import quote, urlencode - net malkreide-lobbywatch-mcp-5e7b228/src/lobbywatch_mcp/client.py :29
from urllib.parse import quote, urlsplit - net malkreide-lobbywatch-mcp-5e7b228/src/lobbywatch_mcp/server.py :29
import httpx - net (weak) malkreide-lobbywatch-mcp-5e7b228/tests/test_client.py :10
import httpx - net (weak) malkreide-lobbywatch-mcp-5e7b228/tests/test_recorded_fixtures.py :23
import httpx
declared dependencies 13
- mcp@>=2.0.0,<3
- httpx@>=0.27.0
- pydantic@>=2.7.0
- rapidfuzz@>=3.9.0
- structlog@>=24.0,<27
- pytest@>=8.0
- pytest-asyncio@>=0.23
- respx@>=0.21
- ruff@==0.16.1
- opentelemetry-api@>=1.20
- opentelemetry-sdk@>=1.20
- opentelemetry-exporter-otlp-proto-http@>=1.20
- opentelemetry-instrumentation-httpx@>=0.45b0