Land-Develop-MCP / README.md
razaali10's picture
Upload 13 files
bf988fa verified
|
Raw
History Blame Contribute Delete
3.19 kB
metadata
title: CrossBeam MCP Server
emoji: 🔌
colorFrom: indigo
colorTo: gray
sdk: docker
app_port: 7860
pinned: false

CrossBeam MCP Server — municipal plan review for agentic AI

Exposes the CrossBeam plan-review engine as MCP tools for any agent platform: Claude, ChatGPT, Gemini, n8n, HF UI, local clients, or through a tunnel.

Endpoint: https://<user>-<space>.hf.space/mcp (both /mcp and /mcp/ work)

Tools

Tool What it does
list_municipalities Configured jurisdictions and their code/bylaw frameworks
list_review_tracks Review types (suites, multi-residential, institutional…) + available models
list_knowledge The knowledge base reviews are grounded in
review_plan_set Review a plan set (PDF, base64) → structured findings, technical screening report, and City-style Detailed Review
analyze_corrections_letter Interpret a corrections letter → item-by-item analysis + draft response
generate_checklist Pre-submission checklist for a project type

The first three need no API key. The rest call an LLM provider — pass api_key per call, or set a Space secret (OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, GROQ_API_KEY) and pass just provider.

The agent's own model does not perform the review. These tools run the deterministic engine — scope gate, grounded citations, verdict reconciliation — so the guarantees hold no matter which client calls them. In particular the corrections draft never claims a correction is resolved; every resolution is an [APPLICANT: …] placeholder.

City of Calgary Detailed Review output

For Calgary reviews, pass municipal metadata when it is available:

  • application_number, site_address, applicant, and community
  • land_use_district and use_type
  • planning_contact, date_dr_sent, and response_due_date
  • municipal_records_context for verified City facts not shown on the drawings, such as an existing registered or permitted secondary suite

The returned city_review_letter_markdown follows the City's Development Permit sequence: application header, General Comments, Bylaw Discrepancies (Regulation | Standard | Provided), Prior to Decision Requirements, applicant options, and Advisory Comments. Building-code and engineer-of-record observations remain in the separate technical report and are not presented as City DP conditions.

The Calgary suite track deterministically reconciles parcel coverage, parking for each dwelling unit, backyard-suite rear setback, closest-façade separation, private amenity space, and same-parcel suite density. A missing check becomes a verification item; the engine does not silently omit it or invent compliance.

Running locally (STDIO, e.g. Claude Desktop)

pip install -r requirements.txt
python mcp_server.py          # STDIO
MCP_HTTP=1 MCP_PORT=7860 python mcp_server.py   # HTTP for remote clients

See mcp_config_examples.md for per-client configuration.

Any municipality

Same as the UI Space: add jurisdictions/<city>.yaml and that city's skills/. Callers select it with the municipality argument. See FORKING.md.