Skip to main content
Glama
ChanghuLiu

projectpermit-mcp

by ChanghuLiu

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

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