projectpermit-mcp
ProjectPermit / BuildRequirements — Fase 0
ProjectPermit es un motor de verificación previa de permisos municipales vinculado a evidencia para proyectos de construcción y renovación. BuildRequirements es el motor de reglas determinista que contiene.
La Fase 0 admite:
gatineau_qcottawa_on8 familias de proyectos
resolución de direcciones mediante GIS/geocodificadores municipales
resultados que tienen en cuenta la versión de reglas y las superposiciones
evidencia de fuentes oficiales en cada resultado de regla
un endpoint FastAPI y una herramienta MCP estándar
separación lista para x402 entre la capa de transporte de pago y el motor de reglas
El motor deliberadamente no llama a un LLM. Un agente de llamada normaliza el alcance en lenguaje natural a hechos estructurados; BuildRequirements aplica reglas municipales deterministas.
Inicio rápido
python -m venv .venv
source .venv/bin/activate
pip install -e .
uvicorn projectpermit.api:app --host 127.0.0.1 --port 8000Para compatibilidad con MCP:
pip install -e '.[mcp]'
projectpermit-mcpprojectpermit-mcp usa el SDK de Python MCP v2 Streamable HTTP, respuestas JSON y HTTP sin estado. Escucha en 127.0.0.1:8001 de forma predeterminada. Anúlalo con PROJECTPERMIT_MCP_HOST y PROJECTPERMIT_MCP_PORT.
Ejecutar pruebas:
PYTHONPATH=src python -m unittest discover -s tests -vRelated MCP server: Canadian Building Code MCP Server
API
POST /v1/check-project-requirements
Ejemplo:
{
"jurisdiction": "ottawa_on",
"address": "110 Laurier Ave W, Ottawa, ON",
"resolve_address": false,
"project": {
"family": "window_door",
"action": "enlarge_existing_window",
"structural_change": true
}
}El resultado es un paquete de información de verificación previa, no una autorización municipal, asesoramiento legal, certificación de ingeniería ni aprobación de diseño de código de construcción.
Mapa del repositorio
src/projectpermit/engine.py— motor de reglas deterministasrc/projectpermit/address.py— adaptadores municipales de direcciones/GISsrc/projectpermit/api.py— API HTTPsrc/projectpermit/mcp_server.py— servidor MCP estándardata/golden_cases.json— corpus de regresión deterministadata/source_manifest.json— registro de fuentes oficiales/metadatos de actualidadschemas/— esquemas públicos de solicitud/respuestadocs/PHASE0_SPEC.md— alcance de producto e ingenieríadocs/X402_ARCHITECTURE.md— diseño de pago/descubrimiento
Perfil de smoke de Base Sepolia x402
Se proporciona un perfil de testnet solo con valores públicos en config/x402.base-sepolia.env.example.
Está dirigido a Base Sepolia (eip155:84532) y al facilitador de testnet x402.org.
La dirección receptora es pública; nunca pongas una clave privada ni una frase semilla en este repositorio.
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 8000El recurso protegido es POST /v1/check-project-requirements. /health permanece gratuito para la supervisión del despliegue.
Prueba de smoke de pago real
Ejecútala solo en tu propia máquina. Mantén la clave privada del pagador local; nunca la pegues ni la confirmes.
python -m venv .venv-buyer
source .venv-buyer/bin/activate
pip install -e '.[buyer]'
export EVM_PRIVATE_KEY='0x...'
python scripts/x402_paid_smoke.pyLa billetera del pagador debe tener suficiente USDC de Base Sepolia para el pago de prueba de $0.01. Una ejecución exitosa debería devolver HTTP 200 y una respuesta de liquidación decodificada. El servidor en sí nunca necesita la clave privada del pagador.
Límite de seguridad de la Fase 0
Las determinaciones usan intencionalmente lenguaje de verificación previa como LIKELY_REQUIRED, LIKELY_NOT_REQUIRED, ADDITIONAL_REVIEW_REQUIRED y MUNICIPAL_CONFIRMATION_REQUIRED donde existe incertidumbre. El motor no debe presentarse como un municipio, emisor de permisos, abogado, arquitecto o ingeniero.
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