ResidentialOM exposes an MCP server that lets AI assistants create, edit, and publish property brochures on your behalf. Works with Claude (web, desktop, and Code), ChatGPT, Cursor, Windsurf, and any client that supports the Model Context Protocol.
The only thing you ever need is the connection URL:
https://staging-api.residentialom.com/mcp
The server uses OAuth 2.1 (with dynamic client registration) for authentication. There are no long-lived API keys to copy or rotate — your MCP client signs you in through the browser the first time you connect, and tokens refresh automatically.
Prerequisites
- A ResidentialOM account
- An MCP-compatible client (Claude Code, Cursor, etc.)
Configure Your Client
Add the following to your MCP configuration file. No headers, no keys — just the URL.
Claude Code
Add to .mcp.json in your project root (or ~/.claude/.mcp.json for global access):
{
"mcpServers": {
"residentialom": {
"type": "http",
"url": "https://staging-api.residentialom.com/mcp"
}
}
}Claude (web & desktop)
Open Settings > Connectors > Add custom connector and paste the URL. Custom connectors are available on Claude Pro, Max, Team, and Enterprise. In Claude Desktop you can instead edit the config file under Settings > Developer > Edit Config using the JSON block above.
ChatGPT
Open Settings > Connectors, add a custom connector with transport HTTP, and paste the URL. Available on ChatGPT Plus, Pro, Business, and Enterprise.
Cursor
Open Settings > MCP Servers > Add Server and enter:
- Name: ResidentialOM
- Type: HTTP
- URL:
https://staging-api.residentialom.com/mcp
Sign In
The first time you call a ResidentialOM tool, your client will open a browser tab pointing at residentialom.com/login. Sign in (or sign up) and approve the connection. The client stores the resulting access and refresh tokens and reuses them on subsequent calls.
If you ever want to revoke a client, sign out everywhere from your account settings and the issued tokens will stop working.
Verify the Connection
Restart your client to pick up the new config, then try running a command like:
"List my brochures"
or
"What templates are available?"
If you see results, you're connected.
Available Tools
| Tool | Description | Credits |
|---|---|---|
get_credits | Get your current credit balance, plan, and per-action costs | — |
list_templates | List all available brochure templates with style descriptions | — |
search_properties | Search MLS listings by address, city, or zip | — |
create_property | Create or refresh a property from an MLS listing | — |
create_brochure | Create a new brochure with AI-generated slides from a property | 10 |
list_brochures | List your brochures with optional filters | — |
get_brochure | Get brochure details including slide structure | — |
update_slide | Update specific fields on a slide (validated against the schema) | — |
regenerate_slide | AI-regenerate a slide with a natural language instruction | 2 |
add_slide | Generate and add a new slide with a natural language instruction | 2 |
publish_brochure | Publish a draft brochure, making it publicly accessible | — |
rename_brochure | Rename a brochure | — |
delete_brochure | Permanently delete a brochure | — |
Credits
AI actions consume credits from the same balance as the web app. The credit costs above are exact; call get_credits at any time to see your balance, plan, allotment, and reset date. Every credit-consuming tool reports the credits remaining at the end of its response, so your assistant always knows where you stand. If you run out, the tool returns a clear out-of-credits message with the reset date and an upgrade link — it does not silently fail. Accounts on an unlimited plan are never metered.
Example Workflows
Create a brochure from scratch
"Create a brochure for property
abc123using the sage-green template"
Edit a slide with AI
"Regenerate slide 3 of my latest brochure — make it focus on investment potential"
Publish when ready
"Publish my brochure for 5025 Hoeger Flats"
Authentication
The MCP server speaks OAuth 2.1. Discovery and metadata are published at:
https://staging-api.residentialom.com/.well-known/oauth-authorization-serverhttps://staging-api.residentialom.com/.well-known/oauth-protected-resource
Compliant MCP clients register themselves dynamically, redirect you through the browser sign-in, and refresh tokens automatically. Sessions are scoped to your account — clients can only access your own brochures and properties.
Troubleshooting
401 Unauthorized: Your access token may be expired and your client failed to refresh it. Disconnect and reconnect the MCP server from your client to trigger a fresh sign-in.
406 Not Acceptable: Your client needs to send Accept: application/json, text/event-stream. Most MCP clients handle this automatically.
Server not responding: Ensure you're using the correct URL: https://staging-api.residentialom.com/mcp