Connect LLM Agent (MCP)¶
RealtyPad agents talk to your workspace over HTTP MCP at the same public host as the web app (/mcp). Prefer browser OAuth — sign in and authorize; no pasted Bearer token for normal use.
Overview¶
| Production MCP URL | https://app.realtypad.ai/mcp (no trailing slash) |
| Stage MCP URL | https://stage.realtypad.ai/mcp |
| Auth | Browser OAuth (preferred) · long-lived agent JWT (headless fallback) |
| Smoke test | Ask the agent to call list_deals (limit 3) and/or get_agent_manual |
You can copy the MCP URL / config from Account → Agent & API or the Getting started wizard after you sign in.
After connect: agents load procedures with search_docs then get_agent_manual(workflow=…) or read_doc("agents/workflows/….md"). Guides are on this docs site under Agents.
Fallback — static agent JWT¶
For headless clients that cannot complete browser OAuth:
- Sign in at app.realtypad.ai.
- Open Account → Agent & API → Mint agent JWT.
- Configure your client with a Bearer header against the MCP URL above.
Switch workspace in the web app before minting if the token should target a different tenant.
Cursor¶
- Open Cursor Settings → MCP (or edit MCP config).
- Add a server with the MCP URL only:
Production:
{
"mcpServers": {
"RealtyPad": {
"url": "https://app.realtypad.ai/mcp"
}
}
}
Stage:
{
"mcpServers": {
"RealtyPad": {
"url": "https://stage.realtypad.ai/mcp"
}
}
}
- Save and reload MCP. Cursor should prompt to authorize → browser opens app.realtypad.ai at
/oauth/consent→ sign in (if needed) → Authorize. - Ask the agent to call
list_deals(limit 3). You should see deals from your workspace only.
Cursor troubleshooting¶
| Symptom | What to try |
|---|---|
| “Protected resource … does not match expected” | Clear stored OAuth state (remove/re-add the MCP server); use the URL without a trailing slash |
| “Authorization session ended” / browser never opens | Fully quit Cursor (Cmd+Q on macOS) and reconnect, or click Needs authentication again. Open Output → MCP: RealtyPad, find the authorize URL, and paste it into a browser |
JWT fallback in Cursor config:
{
"mcpServers": {
"RealtyPad": {
"url": "https://app.realtypad.ai/mcp",
"headers": {
"Authorization": "Bearer eyJhbGciOiJIUzI1NiIs..."
}
}
}
}
Claude (claude.ai / Claude Desktop)¶
Same MCP URL: https://app.realtypad.ai/mcp (no trailing slash).
- Add RealtyPad as an MCP connector / custom connector with that URL.
- Choose OAuth when prompted.
- Sign in and Authorize in the browser.
- Ask Claude to list a few deals and to call
get_agent_manual.
Claude does not see Cursor project skills. Prefer search_docs then get_agent_manual(workflow=…) or read_doc("agents/workflows/….md"). Omit workflow for the index only. Workflow keys include ingest, research, buyers, … (investors → buyers).
ChatGPT¶
Same MCP URL: https://app.realtypad.ai/mcp (no trailing slash).
- Open Settings → Apps and turn on Developer mode.
- Create a connector, paste the MCP URL, and choose OAuth.
- Sign in and authorize.
- Ask ChatGPT to list a few deals and to call
get_agent_manual.
ChatGPT does not see Cursor project skills. Prefer search_docs then get_agent_manual(workflow=…) or read_doc("agents/workflows/….md").
Troubleshooting¶
| Symptom | What to check |
|---|---|
401 / no authorize prompt |
Re-add the MCP server; complete browser consent; confirm you are on the right host (app vs stage) |
| Consent opens on the wrong site | Use https://app.realtypad.ai/mcp exactly (no trailing slash); clear OAuth state and reconnect |
| Empty deals | Consent or agent JWT was minted for a different workspace — switch workspace, then re-authorize or mint again |
| Connection refused / TLS errors | Production requires HTTPS; check network / VPN |
Revoking access¶
Deny on the consent screen, rotate passwords, or mint a new agent JWT and drop the old one from your client config. OAuth refresh tokens are server-side and expire (~90 days).