Skip to content

parlament-mcp 0.3.0

Choose a tag to compare

@malkreide malkreide released this 30 May 18:33
e215cb8

parlament-mcp 0.3.0

Erstes Release nach dem vollständigen mcp-audit-skill-Audit: 44/44 Checks bestanden, production-ready. Zielt auf MCP-Spec 2025-06-18.

Hinweis: Version 0.2.0 war bereits durch ein früheres PyPI-Release belegt — diese Auslieferung erfolgt daher als 0.3.0.

⚠️ Breaking changes

  • Strukturierte Tool-Returns: Tools liefern jetzt typisierte Pydantic-Objekte statt Strings. Such-/Listen-Tools nutzen einen Envelope (source, license, provenance, match_type, count + typisierte results), parlament_get_business liefert BusinessDetail. FastMCP exponiert dadurch ein Output-Schema.
  • Der Parameter response_format wurde entfernt (Ausgabe ist immer strukturiert; kein Markdown/JSON-Toggle mehr).
  • Tool-Schemas haben sich geändert → Tools im Client neu bestätigen (tool-hashes.json aktualisiert).

🔒 Security

  • Optionale Bearer-Auth + kryptografisches Session-Binding für HTTP (MCP_BEARER_TOKENS, default aus) — SEC-009.
  • Loopback-Default-Binding + NeighborJack-Warnung (SEC-016); Egress-Allow-List Code + NetworkPolicy (SEC-021).
  • Strikte Input-Validation (SEC-018); gehärtetes Docker/K8s-Setup (SEC-007); Tool-Hash-Pinning + gitleaks/Trivy-CI (SEC-022); Gateway-Bausteine für Tool-Allow-List & Poisoning-Detection (SEC-014/015).

✨ Added

  • structlog → stderr (OBS-003/004), OpenTelemetry-Tracing (OBS-006), Context-Injection + Progress (SDK-003).
  • Zentrales Settings-Objekt (ARCH-004), OGD-Lizenz-Attribution im Envelope (CH-004), <use_case>-Tags (ARCH-002).
  • Deployment-Manifeste (docker-compose.yml, railway.toml, deploy/k8s/, deploy/haproxy.cfg); Docs + ADRs; Dependabot.

🔧 Changed

  • ENV-getriebene Transport-Auswahl; gepoolter httpx.AsyncClient via Lifespan (SDK-001); Ausführungsfehler als isError (OBS-001/002); Entry-Point → server:main.

Vollständiges Changelog: CHANGELOG.md

Installation

```bash
uvx parlament-mcp # oder: pip install parlament-mcp==0.3.0
```