io.github.chrischall/onehome-mcp
OneHome (CoreLogic) real-estate access for Claude — search, property details, photos, saved homes
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
onehome-mcpclaude mcp add onehome-mcp -e 'ONEHOME_TOKEN=<ONEHOME_TOKEN>' -e 'ONEHOME_MAGIC_LINK=<ONEHOME_MAGIC_LINK>' -e 'ONEHOME_WS_PORT=<ONEHOME_WS_PORT>' -e 'ONEHOME_COMMUNITIES_FILE=<ONEHOME_COMMUNITIES_FILE>' -e 'FETCHPROXY_WS_HOST=<FETCHPROXY_WS_HOST>' -e 'FETCHPROXY_IDENTITY_DIR=<FETCHPROXY_IDENTITY_DIR>' -- npx -y onehome-mcp@1.1.10
{
"mcpServers": {
"onehome-mcp": {
"command": "npx",
"args": [
"-y",
"onehome-mcp@1.1.10"
],
"env": {
"ONEHOME_TOKEN": "<ONEHOME_TOKEN>",
"ONEHOME_MAGIC_LINK": "<ONEHOME_MAGIC_LINK>",
"ONEHOME_WS_PORT": "<ONEHOME_WS_PORT>",
"ONEHOME_COMMUNITIES_FILE": "<ONEHOME_COMMUNITIES_FILE>",
"FETCHPROXY_WS_HOST": "<FETCHPROXY_WS_HOST>",
"FETCHPROXY_IDENTITY_DIR": "<FETCHPROXY_IDENTITY_DIR>"
}
}
}
}
Variables d'environnement
ONEHOME_TOKENBearer token for services.onehome.com. Paste the raw JWT (Authorization header value, minus the 'Bearer ' prefix) from your signed-in portal.onehome.com session.ONEHOME_MAGIC_LINKMagic-link URL with ?token=... from your real-estate agent. The MCP extracts the token query param and uses it directly as the bearer.ONEHOME_WS_PORTOverride the fetchproxy WebSocket port (default 37149). Only used when ONEHOME_TOKEN / ONEHOME_MAGIC_LINK are unset and the MCP boots in capture-from-tab mode.ONEHOME_COMMUNITIES_FILEPath to a JSON array of community names used for feature extraction; overrides the built-in Lake Lure / mountain-NC default vocabulary.FETCHPROXY_WS_HOSTBind interface for the fetchproxy concentrator, a literal IP only (default 127.0.0.1). Keep on loopback; it exists for hosted deployments that run each MCP in its own network namespace.FETCHPROXY_IDENTITY_DIRAbsolute path where the fetchproxy long-term identity keypair is stored (default ~/.fetchproxy/identity/).
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
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 |
|---|---|---|
env_token | ONEHOME_TOKEN=<jwt> | Paste the raw bearer from devtools Network panel. Most direct. |
magic_link | ONEHOME_MAGIC_LINK=https://portal.onehome.com/...?token=... | Paste the full URL your agent sent — we extract the token param. |
fetchproxy_capture | (no env) + ContextMint Bridge browser extension installed (Chrome: load the release's chrome zip unpacked; Safari isn't available yet — it will ship inside the ContextMint app, so use Chrome for now) + signed-in portal.onehome.com tab | We wait for your tab to fire any GraphQL request, snapshot the Authorization header, and reuse it. |
ContextMint Bridge is the fetchproxy browser extension under its new name, from the same maintainer — fetchproxy's own README (fetchproxy#extension) points to it. Its source is public at nullnet-app/contextmint-bridge: build it yourself, or check a release zip against the .sha256 file published beside it (shasum -a 256 -c contextmint-bridge-chrome-<version>.zip.sha256).
Tools
| Tool | What it does |
|---|---|
onehome_get_user | Smallest auth probe — returns your OneHome profile (name, email) and the groups your agent shared. |
onehome_get_groups | List the OneHome "groups" your agent has shared with you (each one a market / curated listing bucket). |
onehome_get_saved_search | Fetch an agent-curated saved search by id — name, filter criteria, polygon, and the OSK listing ids that compose the share. |
onehome_get_saved_search_with_listings | The "show me my saved homes" flow in one round trip — saved search plus its inflated listings. |
onehome_search_properties | Listings within a group; optionally scoped to a saved search. |
onehome_search_suggestions | Free-text suggestion search (address, MLS #) across all feeds. |
onehome_get_by_address | Resolve a single free-text street address to a listing's portal URL + id. |
onehome_resolve_addresses | Bulk-resolve up to 100 structured addresses to portal URLs + listing ids; concurrent, per-row error capture. |
onehome_get_property | Full property record by listing id or portal URL. |
onehome_bulk_get | Fetch up to N listings in one call — one structured row per id, per-row error capture. |
onehome_get_property_photos | Full media gallery — Thumbnail / Medium / Large variants + room descriptions. |
onehome_compare_properties | 2-8 listings side-by-side. Per-row error capture; calls are concurrent. |
onehome_get_schools | Local-Logic primary + high schools near a lat/lng. |
onehome_get_walk_score | Local-Logic walk / transit / bike / car friendliness scores. |
onehome_graphql | Power-user escape hatch — send a raw read-only GraphQL document (queries only; mutations and subscriptions are refused) with variables. |
onehome_calculate_mortgage | Local PITI calculator. Same math as the other realty MCPs. |
onehome_calculate_affordability | Local 28/36 DTI solver — max home price you can afford. |
onehome_set_auth | Add another authenticated session at runtime (magic link / JWT / email-token) for buyers holding shares across multiple agents. |
onehome_set_active_session | Force a specific registered session to be the active one (overrides MLS-suffix routing). |
onehome_get_session_context | List every registered session — auth mode, token expiry, and the group / saved-search / agent scope each bootstrapped. |
onehome_healthcheck | End-to-end auth + GraphQL smoke check with token-expiry diagnostics. |
Install
The simplest path is the published Claude plugin (.mcpb install). Its settings take an optional OneHome magic link or bearer token (both stored as sensitive values); leave both blank to use browser-bridge capture instead. For local dev:
git clone https://github.com/chrischall/onehome-mcp
cd onehome-mcp
npm install
npm run build
Then 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.js
Tests 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.
Questions fréquentes
Qu'est-ce que io.github.chrischall/onehome-mcp ?
OneHome (CoreLogic) real-estate access for Claude — search, property details, photos, saved homes
Comment installer io.github.chrischall/onehome-mcp ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add onehome-mcp -e 'ONEHOME_TOKEN=<ONEHOME_TOKEN>' -e 'ONEHOME_MAGIC_LINK=<ONEHOME_MAGIC_LINK>' -e 'ONEHOME_WS_PORT=<ONEHOME_WS_PORT>' -e 'ONEHOME_COMMUNITIES_FILE=<ONEHOME_COMMUNITIES_FILE>' -e 'FETCHPROXY_WS_HOST=<FETCHPROXY_WS_HOST>' -e 'FETCHPROXY_IDENTITY_DIR=<FETCHPROXY_IDENTITY_DIR>' -- npx -y onehome-mcp@1.1.10. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour io.github.chrischall/onehome-mcp ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
io.github.chrischall/onehome-mcp est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient io.github.chrischall/onehome-mcp ?
Il est publié par chrischall. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.