Skip to main content
Glama

ProjectPermit / BuildRequirements — Phase 0

ProjectPermit ist eine belegverknüpfte Preflight-Engine für kommunale Genehmigungen bei Bau- und Renovierungsprojekten. BuildRequirements ist die darin enthaltene deterministische Regel-Engine.

Phase 0 unterstützt:

  • gatineau_qc

  • ottawa_on

  • 8 Projektfamilien

  • Adressauflösung mithilfe kommunaler GIS-/Geocoder-Dienste

  • Ergebnisse unter Berücksichtigung von Regelversionen und Overlays

  • offizielle Quellenbelege für jedes Regelergebnis

  • einen FastAPI-Endpunkt und ein Standard-MCP-Tool

  • x402-fähige Trennung zwischen der bezahlten Transportschicht und der Regel-Engine

Die Engine ruft bewusst kein LLM auf. Ein aufrufender Agent normalisiert den natürlichsprachlichen Projektumfang zu strukturierten Fakten; BuildRequirements wendet deterministische kommunale Regeln an.

Schnellstart

python -m venv .venv
source .venv/bin/activate
pip install -e .
uvicorn projectpermit.api:app --host 127.0.0.1 --port 8000

Für MCP-Unterstützung:

pip install -e '.[mcp]'
projectpermit-mcp

projectpermit-mcp verwendet das MCP Python SDK v2 mit Streamable HTTP, JSON-Antworten und zustandslosem HTTP. Standardmäßig lauscht es auf 127.0.0.1:8001. Überschreiben lässt sich das mit PROJECTPERMIT_MCP_HOST und PROJECTPERMIT_MCP_PORT.

Tests ausführen:

PYTHONPATH=src python -m unittest discover -s tests -v

Related MCP server: LCS CAD MCP

API

POST /v1/check-project-requirements

Beispiel:

{
  "jurisdiction": "ottawa_on",
  "address": "110 Laurier Ave W, Ottawa, ON",
  "resolve_address": false,
  "project": {
    "family": "window_door",
    "action": "enlarge_existing_window",
    "structural_change": true
  }
}

Das Ergebnis ist ein Preflight-Informationspaket, keine kommunale Genehmigung, keine Rechtsberatung, keine bautechnische Zertifizierung und keine bauordnungsrechtliche Entwurfsgenehmigung.

Repository-Übersicht

  • src/projectpermit/engine.py — deterministische Regel-Engine

  • src/projectpermit/address.py — Adapter für kommunale Adressen/GIS

  • src/projectpermit/api.py — HTTP-API

  • src/projectpermit/mcp_server.py — Standard-MCP-Server

  • data/golden_cases.json — deterministisches Regressionskorpus

  • data/source_manifest.json — Register offizieller Quellen/Aktualitätsmetadaten

  • schemas/ — öffentliche Anfrage-/Antwortschemas

  • docs/PHASE0_SPEC.md — Produkt- und Entwicklungsumfang

  • docs/X402_ARCHITECTURE.md — Zahlungs-/Discovery-Design

Base Sepolia x402-Smoke-Testprofil

Ein Testnetz-Profil, das ausschließlich öffentliche Werte enthält, wird unter config/x402.base-sepolia.env.example bereitgestellt. Es zielt auf Base Sepolia (eip155:84532) und den x402.org-Testnetz-Facilitator. Die Empfängeradresse ist öffentlich; niemals einen privaten Schlüssel oder eine Seed-Phrase in dieses Repository legen.

set -a
source config/x402.base-sepolia.env.example
set +a
pip install -e '.[x402]'
uvicorn projectpermit.api:app --host 0.0.0.0 --port 8000

Die geschützte Ressource ist POST /v1/check-project-requirements. /health bleibt für das Deployment-Monitoring kostenlos.

Diesen Test nur auf dem eigenen Rechner ausführen. Den privaten Schlüssel des Zahlers lokal aufbewahren; niemals einfügen oder committen.

python -m venv .venv-buyer
source .venv-buyer/bin/activate
pip install -e '.[buyer]'
export EVM_PRIVATE_KEY='0x...'
python scripts/x402_paid_smoke.py

Die Wallet des Zahlers muss über genügend Base Sepolia USDC für die $0.01-Testzahlung verfügen. Ein erfolgreicher Lauf sollte HTTP 200 und eine dekodierte Settlement-Antwort zurückgeben. Der Server selbst benötigt niemals den privaten Schlüssel des Zahlers.

Sicherheitsgrenze von Phase 0

Feststellungen verwenden bewusst Preflight-Formulierungen wie LIKELY_REQUIRED, LIKELY_NOT_REQUIRED, ADDITIONAL_REVIEW_REQUIRED und MUNICIPAL_CONFIRMATION_REQUIRED, wenn Unsicherheit besteht. Die Engine sollte nicht als Gemeinde, Genehmigungsbehörde, Anwalt, Architekt oder Ingenieur dargestellt werden.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Professional building code compliance assistant that interfaces with municipal building codes, helping contractors and builders navigate complex regulatory requirements with precision.
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Exposes Pre-DCR and Auto-DCR building scrutiny workflows as AI-consumable tools, enabling AI assistants to open DXF drawings, validate layers, compute areas, run regulatory checks, and generate compliance reports via natural language.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables users to run deterministic rule checks against their own metrics or HTTP/CSV sources and pull back a short decision brief: only the items that crossed a threshold, each with the number that tripped it and suggested next steps. Users can also record accept/reject/edit feedback so subsequent briefs reflect their own playbook, all without API keys or a live LLM.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to retrieve verbatim U.S. mortgage regulations with citations and effective dates, verify quotes, and run guided compliance playbooks without sending user documents to the server.
    MIT