Releases: malkreide/parlament-mcp
Release list
v0.3.5
[0.3.5] - 2026-08-02
Fixed
-
structlogcarried no upper bound, and the index already serves a major past
the floor. The declared range wasstructlog>=24.0.0; PyPI has been serving
26.1.0. The artefact does not change — the resolver's answer to the next
fresh install does, and that is exactly howswiss-energy-mcp0.3.3 became
uninstallable whenmcp2.0.0 removed the module it imported.Now
structlog>=24.0.0,<27. The bound is measured rather than guessed: this package
installs and imports againststructlog 26.1.0today, so the cap admits what
demonstrably works and stops only the next, unknown major.
A dependency range only reaches users through a new release, hence the
version bump. No code changed.
parlament-mcp 0.3.0
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.0war bereits durch ein früheres PyPI-Release belegt — diese Auslieferung erfolgt daher als0.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+ typisierteresults),parlament_get_businessliefertBusinessDetail. FastMCP exponiert dadurch ein Output-Schema. - Der Parameter
response_formatwurde entfernt (Ausgabe ist immer strukturiert; kein Markdown/JSON-Toggle mehr). - Tool-Schemas haben sich geändert → Tools im Client neu bestätigen (
tool-hashes.jsonaktualisiert).
🔒 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.AsyncClientvia Lifespan (SDK-001); Ausführungsfehler alsisError(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
```
v0.2.0 — Initial PyPI Release
Align repo structure, language, and config to portfolio conventions - Switch dependency from fastmcp to mcp[cli] (official MCP SDK) - Add .gitignore and remove committed __pycache__ files - Add .github/workflows (CI with Python 3.11/3.12/3.13 + PyPI publish via OIDC) - Add claude_desktop_config.json for Claude Desktop integration - Translate server.py docstrings, comments, and tool titles to German - Use StrEnum, X | None syntax, _handle_error(), --http/--port entrypoint - Add dev dependencies and ruff.lint config to pyproject.toml - Update CONTRIBUTING.md to reference pip install -e ".[dev]" - Translate test comments/docstrings to German, clean unused imports Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
v0.1.0 – Initial Release
Fix license formatting in README.md