Skip to main content
Glama

ProjectPermit / BuildRequirements — Фаза 0

ProjectPermit — это движок предварительной проверки муниципальных разрешений для строительных и реновационных проектов с привязкой к подтверждающим источникам. BuildRequirements — детерминированный движок правил внутри него.

Фаза 0 поддерживает:

  • gatineau_qc

  • ottawa_on

  • 8 семейств проектов

  • резолвинг адресов с помощью муниципальных ГИС/геокодеров

  • результаты с учётом версий правил и оверлеев

  • подтверждение из официальных источников для каждого результата правила

  • endpoint FastAPI и стандартный инструмент MCP

  • готовое к x402 разделение платного транспортного уровня и движка правил

Движок намеренно не вызывает LLM. Вызывающий агент нормализует объём работ, описанный на естественном языке, в структурированные факты; BuildRequirements применяет детерминированные муниципальные правила.

Быстрый старт

python -m venv .venv
source .venv/bin/activate
pip install -e .
uvicorn projectpermit.api:app --host 127.0.0.1 --port 8000

Для поддержки MCP:

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

projectpermit-mcp использует MCP Python SDK v2 Streamable HTTP, ответы в формате JSON и HTTP без сохранения состояния. По умолчанию он прослушивает 127.0.0.1:8001. Переопределить можно с помощью PROJECTPERMIT_MCP_HOST и PROJECTPERMIT_MCP_PORT.

Запуск тестов:

PYTHONPATH=src python -m unittest discover -s tests -v

Related MCP server: LCS CAD MCP

API

POST /v1/check-project-requirements

Пример:

{
  "jurisdiction": "ottawa_on",
  "address": "110 Laurier Ave W, Ottawa, ON",
  "resolve_address": false,
  "project": {
    "family": "window_door",
    "action": "enlarge_existing_window",
    "structural_change": true
  }
}

Результат — это информационный пакет предварительной проверки, а не муниципальное разрешение, юридическая консультация, инженерная сертификация или согласование проектной документации по строительным нормам.

Структура репозитория

  • src/projectpermit/engine.py — детерминированный движок правил

  • src/projectpermit/address.py — адаптеры муниципальных адресов/ГИС

  • src/projectpermit/api.py — HTTP API

  • src/projectpermit/mcp_server.py — стандартный MCP-сервер

  • data/golden_cases.json — детерминированный корпус регрессионных тестов

  • data/source_manifest.json — реестр официальных источников/метаданные актуальности

  • schemas/ — публичные схемы запросов/ответов

  • docs/PHASE0_SPEC.md — объём продукта и разработки

  • docs/X402_ARCHITECTURE.md — дизайн платежей/обнаружения

Смоук-профиль Base Sepolia x402

Профиль тестовой сети только с публичными значениями приведён в config/x402.base-sepolia.env.example. Он нацелен на Base Sepolia (eip155:84532) и фасилитатор тестовой сети x402.org. Адрес получателя публичный; никогда не помещайте приватный ключ или сид-фразу в этот репозиторий.

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

Защищённый ресурс — POST /v1/check-project-requirements. /health остаётся бесплатным для мониторинга развёртывания.

Реальный платный смоук-тест

Запускайте это только на своей машине. Держите приватный ключ плательщика локально; никогда не вставляйте и не коммитьте его.

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

На кошельке плательщика должно быть достаточно Base Sepolia USDC для тестового платежа в $0.01. Успешный запуск должен вернуть HTTP 200 и декодированный ответ о расчёте. Самому серверу приватный ключ плательщика никогда не нужен.

Границы безопасности фазы 0

Заключения намеренно используют формулировки предварительной проверки, такие как LIKELY_REQUIRED, LIKELY_NOT_REQUIRED, ADDITIONAL_REVIEW_REQUIRED и MUNICIPAL_CONFIRMATION_REQUIRED, там, где есть неопределённость. Движок не следует выдавать за муниципалитет, орган выдачи разрешений, юриста, архитектора или инженера.

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