onehome-mcp
onehome-mcp
MCP server for OneHome (CoreLogic) — search the listings your real-estate agent curated for you, fetch property details + photos, compare houses side-by-side, and run mortgage / affordability math from within Claude.
Sister project to zillow-mcp, redfin-mcp, compass-mcp, and homes-mcp. Same tool ergonomics — different upstream auth model.
This project was developed and is maintained by AI (Claude). Use at your own discretion.
What's different about OneHome
OneHome isn't a public listings site. Buyers usually reach it through a magic link an agent emails them — https://portal.onehome.com/...?token=eyJ.... That token query param IS the per-user bearer that the portal SPA hands to every GraphQL request.
So instead of routing every fetch through your signed-in browser tab (like the other realty MCPs), onehome-mcp talks directly to services.onehome.com/graphql from Node, with Authorization: Bearer <jwt> attached. We support three ways to source that bearer:
Mode | How to enable | Notes |
|
| Paste the raw bearer from devtools Network panel. Most direct. |
|
| Paste the full URL your agent sent — we extract the |
| (no env) + fetchproxy extension installed + signed-in | We wait for your tab to fire any GraphQL request, snapshot the Authorization header, and reuse it. |
Tools
Tool | What it does |
| Smallest auth probe — returns your OneHome profile (name, email) and the groups your agent shared. |
| List the OneHome "groups" your agent has shared with you (each one a market / curated listing bucket). |
| Fetch an agent-curated saved search by id — name, filter criteria, polygon, and the OSK listing ids that compose the share. |
| The "show me my saved homes" flow in one round trip — saved search plus its inflated listings. |
| Listings within a group; optionally scoped to a saved search. |
| Free-text suggestion search (address, MLS #) across all feeds. |
| Resolve a single free-text street address to a listing's portal URL + id. |
| Bulk-resolve up to 100 structured addresses to portal URLs + listing ids; concurrent, per-row error capture. |
| Full property record by listing id or portal URL. |
| Fetch up to N listings in one call — one structured row per id, per-row error capture. |
| Full media gallery — Thumbnail / Medium / Large variants + room descriptions. |
| 2-8 listings side-by-side. Per-row error capture; calls are concurrent. |
| Local-Logic primary + high schools near a lat/lng. |
| Local-Logic walk / transit / bike / car friendliness scores. |
| Power-user escape hatch — send a raw GraphQL document with variables. |
| Local PITI calculator. Same math as the other realty MCPs. |
| Local 28/36 DTI solver — max home price you can afford. |
| Add another authenticated session at runtime (magic link / JWT / email-token) for buyers holding shares across multiple agents. |
| Force a specific registered session to be the active one (overrides MLS-suffix routing). |
| List every registered session — auth mode, token expiry, and the group / saved-search / agent scope each bootstrapped. |
| End-to-end auth + GraphQL smoke check with token-expiry diagnostics. |
Install
The simplest path is the published Claude plugin (.mcpb install). For local dev:
git clone https://github.com/chrischall/onehome-mcp
cd onehome-mcp
npm install
npm run buildThen point your MCP host at node /abs/path/to/onehome-mcp/dist/bundle.js with one of:
// claude_desktop_config.json
{
"mcpServers": {
"onehome-mcp": {
"command": "node",
"args": ["/abs/path/to/onehome-mcp/dist/bundle.js"],
"env": {
"ONEHOME_MAGIC_LINK": "https://portal.onehome.com/en-US/properties/map?token=eyJ..."
}
}
}
}Development
npm test # vitest, mocked transport, no network
npm run test:watch
npm run test:coverage
npx tsc --noEmit
npm run build # tsc --noEmit + esbuild → dist/bundle.jsTests use a FakeTransport (in tests/helpers.ts) that registers per-operationName handlers — there's no live network in the test suite. The tests/index.test.ts smoke check loads the same tool registrations src/index.ts uses against an in-memory MCP client/server pair, so "I wrote the tool file but forgot to wire it up" mistakes fail loudly.
License
MIT.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/chrischall/onehome-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server