Skip to main content
Glama
ChanghuLiu

projectpermit-mcp

by ChanghuLiu

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: Canadian Building Code MCP Server

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.

F
license - not found
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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
  • A
    license
    A
    quality
    D
    maintenance
    AI-powered property intelligence for instant zoning analysis, buildability assessments, ADU eligibility, flood risk, and development feasibility reports for any US address.
    5
    1
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ChanghuLiu/projectpermit-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server