MCP Tool Reference
Generated reference for the Bucky tools exposed over the Model Context Protocol.
These tools are exposed over Bucky's MCP server at POST /api/mcp. Each entry is
generated from the runtime registry. tools/list advertises the full catalog to every
caller; authenticated tools still require a Bucky account at call time.
Guidance
Get the Bucky MCP guide
getBuckyMcpGuide
Return a static guide to the Bucky MCP surface: what works without sign-in, how to start OAuth by calling a gated tool, how to connect Cursor or the CLI with a real account, and feasibility safety rules. Makes no database, geocoding, AI, or third-party API call.
Read-only: yes
Parameters:
No parameters.
Explain a Bucky feasibility status
explainFeasibilityStatus
Explain one Bucky coverage or per-fact provenance status and the safe next action. This is a pure static lookup: it does not inspect an address, retrieve property data, or call a database, geocoder, AI model, or third-party API.
Read-only: yes
Parameters:
status(enum: "live" | "live_unavailable" | "planned_not_live" | "geo_division_uncatalogued" | "unseeded_place" | "geocode_failed" | "cited" | "cited_conditional" | "conditional_unresolved" | "no_limit_in_bylaw" | "not_extracted" | "unverified_default", required) — A Bucky coverage resolution status or per-fact provenance status returned by a feasibility result.
Feasibility
Get feasibility snapshot for an address
getFeasibilitySnapshot
Look up what can be built at a specific street address in Canada or the US. Returns the lot (area, width, depth), its zone and permitted uses, and the building envelope (height, storeys, site coverage, FSR, and front/rear/side/flanking setbacks) in one call. Use when someone asks what they can build, how tall, how close to the property line, how big their lot is, or what their property is zoned for. Do not use for questions that are not about a specific address — it resolves one address at a time and cannot search or compare. Every envelope value carries a status. A null value with status no_limit_in_bylaw means the bylaw sets no limit; a null value with status not_extracted means the value is unknown to Bucky. Never report not_extracted as "no limit" or as zero.
Read-only: yes
Parameters:
address(string, required) — Street address to analyse, e.g. "4170 Sophia St, Vancouver BC".source(enum: "zoning_lookup" | "lot_dimensions" | "setback_lookup" | "height_limit_lookup" | "full", required) — Which question the caller is answering. Used for attribution and to pick the link back; the payload is the same either way.
Projects
Run project feasibility analysis
runFeasibilityAnalysis
Enqueue a fresh deterministic analysis run for a saved project. Returns immediately with agentStatus; poll getProjectContext until status is current or failed. Does not block on completion.
Read-only: no
Parameters:
projectId(string, required) — Project UUID to analyse.
Get project context bundle
getProjectContext
Load one project with analysis envelope, compact agentStatus, document summaries, evidence summaries, and the project memory digest. Use before composing reports or after scheduling analysis.
Read-only: yes
Parameters:
projectId(string, required) — Project UUID to load.documentsLimit(integer, required)evidenceLimit(integer, required)
Create or attach to a project
saveToProject
Create a new project from a site (create) or attach a knowledge reference to an existing project (attach_reference). Supports idempotency-key on create.
Read-only: no
Parameters:
action(enum: "create" | "attach_reference", required) — create: new project from a site. attach_reference: link a knowledge section to an existing project.name(string, optional)address(string, optional)lat(number, optional)lng(number, optional)projectId(string, optional)sectionUuid(string, optional)idempotencyKey(string, optional)
Update project fields
updateProject
Patch project metadata (name, description, lifecycle status). Returns prior and updated values. Does not archive or delete projects.
Read-only: no
Parameters:
projectId(string, required)name(string, optional)description(string, optional)lifecycleStatus(string, optional)
Compose and export a project report PDF
produceProjectReport
Compose a grounded report plan, optionally preview without spending export meter (preview=true), or confirm export (confirm=true) to save the plan and return a short-lived signed download URL — never PDF bytes in the tool result. Export spends the records.exports meter.
Read-only: no
Parameters:
projectId(string, required)audience(enum: "investor" | "owner" | "board" | "resident", required)detail(enum: "brief" | "detailed", required)request(string, optional)preview(boolean, required) — When true, compose only — no export meter spend and no download URL.confirm(boolean, required) — When true, compose (if needed), save, export PDF, and return a download URL. Required when preview is false.planName(string, optional)
Feedback
Submit feedback to Bucky
submitBuckyFeedback
Open a human-reviewed feedback form and submit it to the Bucky product team. Call only when the user explicitly asks to send feedback, report a problem, suggest an improvement, or praise something. The server asks the MCP client to show the form; nothing is saved unless the human accepts it. Do not use for silent agent self-reporting.
Read-only: no
Parameters:
submissionId(string, required) — A new UUID generated for this submission. Reuse the same UUID when retrying this exact feedback.affectedToolName(string, optional) — Tool the user is commenting on, when already known