Skip to main content
Glama

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_qc

  • ottawa_on

  • 8 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 8000

Para compatibilidad con MCP:

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

projectpermit-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 -v

Related MCP server: LCS CAD MCP

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 determinista

  • src/projectpermit/address.py — adaptadores municipales de direcciones/GIS

  • src/projectpermit/api.py — API HTTP

  • src/projectpermit/mcp_server.py — servidor MCP estándar

  • data/golden_cases.json — corpus de regresión determinista

  • data/source_manifest.json — registro de fuentes oficiales/metadatos de actualidad

  • schemas/ — esquemas públicos de solicitud/respuesta

  • docs/PHASE0_SPEC.md — alcance de producto e ingeniería

  • docs/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 8000

El 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.py

La 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.

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