projectpermit-mcp
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_qcottawa_on8 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 8000Für MCP-Unterstützung:
pip install -e '.[mcp]'
projectpermit-mcpprojectpermit-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 -vRelated 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-Enginesrc/projectpermit/address.py— Adapter für kommunale Adressen/GISsrc/projectpermit/api.py— HTTP-APIsrc/projectpermit/mcp_server.py— Standard-MCP-Serverdata/golden_cases.json— deterministisches Regressionskorpusdata/source_manifest.json— Register offizieller Quellen/Aktualitätsmetadatenschemas/— öffentliche Anfrage-/Antwortschemasdocs/PHASE0_SPEC.md— Produkt- und Entwicklungsumfangdocs/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 8000Die 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.pyDie 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.
This server cannot be installed
Maintenance
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
- AlicenseNot gradedqualityDmaintenanceProfessional building code compliance assistant that interfaces with municipal building codes, helping contractors and builders navigate complex regulatory requirements with precision.1MIT
- AlicenseBqualityDmaintenanceEnables users to search and navigate over 22,500 indexed sections across 16 Canadian building codes and user guides. It supports keyword searches, hierarchy navigation, and optional full-text extraction from user-provided PDF documents.72MIT
- AlicenseAqualityDmaintenanceAI-powered property intelligence for instant zoning analysis, buildability assessments, ADU eligibility, flood risk, and development feasibility reports for any US address.51MIT
- AlicenseNot gradedqualityBmaintenanceEnables construction professionals to query project documents with conflict-aware RAG, detect contradictions, and trace change impacts through any MCP client.430MIT
Related MCP Connectors
Stateless advisor + validator for Conducted Development: kickoff, artifact validation, rule checks.
Author rules from policy docs, then decide: a Rete engine gives the verdict, an LLM explains why.
Resolve, search and verify legal citations against the official sources, with provenance.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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