Every other CRE tool wants to be the place you live. DealDesk goes the other way — a protocol surface that works inside Claude Desktop, Cowork, Claude Code, Cursor, and any MCP-compatible client your team picks up next.
dealdesk › list_deals(stage: "open", limit: 50)Or use Cowork, Claude Code, or any MCP client that supports remote HTTP transport.
https://getdealdesk.co/api/mcpClaude Desktop will pick up the OAuth metadata automatically. The consent screen lists exactly what the connector can do (read-only by default).
"What's the largest deal in my pipeline?" · "Pull recent SoMa office comps under 15k SF." · "Summarize the lease at 270 Park."
Same Postgres rows, same RLS, scoped to your firm. When a deal moves stage in DealDesk, Claude sees it on the next query.
dealdesk › list_deals(stage: "open", limit: 50)Paste this into your MCP client's config file. The OAuth flow runs in your browser the first time you connect.
{
"mcpServers": {
"dealdesk": {
"url": "https://getdealdesk.co/api/mcp",
"transport": "http"
}
}
}Or paste an existing API key from Settings → API to skip the OAuth handshake, useful when you want a long-lived token tied to a specific firm role.
Every tool is firm-scoped: the OAuth token is bound to your workspace, and every query filters by org_id server-side. Claude never sees another firm's deals.
list_deals(limit?, stage?)Pipeline overview, newest first. Optional stage filter.
get_deal(id)One deal with full economic terms, parties, stage history.
list_abstracts(limit?)Lease abstracts metadata. Pair with get_abstract.
get_abstract(id)Full extracted_data JSON, every clause, every cited page.
list_lois(limit?, deal_id?)Drafted Letters of Intent.
get_loi(id)Full LOI body and party details.
search_comps(market?, property_type?, min_sf?, max_sf?, limit?)Firm comp library. Filter by submarket, type, SF.
pipeline_summary()Deals by stage + estimated commission + 7-day activity.