MCP & Connectors — Developer Docs
Remote and local MCP servers, and how MCP tools map to REST operations.
How do I connect over MCP?
Two MCP options wrap the same API:
- Remote MCP - add
https://api.precisiondocs.ai/mcpwhere the client supports a keyless connector: Claude custom connectors, Claude Code (claude mcp add --transport http precisiondocs https://api.precisiondocs.ai/mcp), OpenAI Codex (codex mcp add precisiondocs --url https://api.precisiondocs.ai/mcpthencodex mcp login precisiondocs), or Cursor remote MCP. Authentication is PrecisionDocs OAuth - nopd_live_key. - Local MCP - run
npx -y @precisiondocs/mcp(Claude Desktop, Cursor Local tab, Gemini CLI) with your key inenv.PRECISIONDOCS_API_KEY.
A timed-out remote-MCP ask is not a failure. When a remote-MCP call outlives the hosted connector wait, the proxy answers 504 with mcp_turn_still_running and recovery_action: "list_messages" - the turn behind it is still running and will finish and persist on its own. Do not re-ask (a second ask would charge a second turn): list the project messages in a minute and read the newest turn.
MCP tools and their REST equivalents:
| MCP tool | REST operation |
|---|---|
precisiondocs_plan_check | POST /v1/plan-check |
precisiondocs_resolve_parcels | POST /v1/parcels/resolve |
precisiondocs_preview_parcels | POST /v1/parcels/preview (returned to the client as an MCP image block) |
precisiondocs_create_project | POST /v1/projects |
precisiondocs_add_source | POST /v1/projects/{id}/sources |
precisiondocs_add_gis_source | POST /v1/projects/{id}/gis-sources |
precisiondocs_list_projects | GET /v1/projects |
precisiondocs_get_project | GET /v1/projects/{id} |
precisiondocs_verify_zoning | PATCH /v1/projects/{id}/parcels/{i}/zoning |
precisiondocs_ask_agent | POST /v1/projects/{id}/messages |
precisiondocs_get_message | GET /v1/projects/{id}/messages/{turn_id} |
precisiondocs_list_messages | GET /v1/projects/{id}/messages |
precisiondocs_get_site_knowledge | GET /v1/projects/{id}/site-knowledge |
precisiondocs_export_gis | POST /v1/projects/{id}/gis-exports |
precisiondocs_create_map | POST /v1/projects/{id}/maps |
precisiondocs_get_site_plan | GET /v1/projects/{id}/site-plan |
precisiondocs_get_design_criteria | GET /v1/projects/{id}/design-criteria |
precisiondocs_get_yield_scenario | GET /v1/projects/{id}/yield-scenario |
precisiondocs_export_site_plan | POST /v1/projects/{id}/site-plan-exports |
precisiondocs_search_project | POST /v1/projects/{id}/search |
precisiondocs_create_summary | POST /v1/projects/{id}/summaries |
precisiondocs_generate_report | POST /v1/projects/{id}/reports |
precisiondocs_get_report | GET /v1/projects/{id}/reports/{job_id} |
precisiondocs_list_reports | GET /v1/projects/{id}/reports |
precisiondocs_list_artifacts | GET /v1/projects/{id}/artifacts |
precisiondocs_get_artifact | GET /v1/projects/{id}/artifacts/{artifact_id} |
precisiondocs_get_wallet | GET /v1/wallet |
File uploads (POST /v1/uploads/initiate then POST /v1/uploads/{job_id}/finalize) are REST-only; the MCP tools cover URL sources.
For step-by-step setup with copyable configs, use the in-app Account -> Integrations wizard or the Help Center connector guides.