Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.chrischall/onehome-mcp

NPM · ONEHOME-MCP

OneHome (CoreLogic) real-estate access for Claude — search, property details, photos, saved homes

Available components

0 this week 91 Trust /100

Last scanned (9 hours ago)

Scores higher than 94% of npm servers

Category E-commerce

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 0 of 8 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to chrischall/onehome-mcp). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 0 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability59
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 5083 tokens (~242/item across 21 items; 21 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage81
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 42% of tool parameters carry a description.Partial
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 21 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 21 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +12
    • Known CVEs: unverified → pass ▲ security
    • Dependency health: unverified → 1.00 ▲ functional
  • 4 Nov 26 −12
    • Known CVEs: pass → unverified ▼ security
    • Stability: pass → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Dependency health: 1.00 → unverified ▼ functional
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Package version: 1.1.10 → 1.2.1 functional
    • Package version: 1.1.10 → 1.2.0 functional
  • 17 Oct 26 +4
    • Known CVEs: partial → pass ▲ security
    • Stability: 0.90 → pass security
    • Dependency health: partial → 1.00 functional
    • Package version: 1.1.9 → 1.1.10 functional
  • 16 Oct 26 −4
    • Stability: pass → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Known CVEs: pass → partial ▼ security
    • Capabilities: pass → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Dependency health: 1.00 → partial functional
    • Stability: pass → 0.90 functional
    • Package version: 1.1.8 → 1.1.9 functional
  • 14 Oct 26 +42
    • Injection markers: unverified → pass ▲ security
    • Stability: unverified → pass ▲ security
    • Tool coverage: unverified → 100 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
  • 12 Oct 26 0
    • Security disclosure: unverified → fail ▼ functional
  • 11 Oct 26 −42
    • Stability: pass → unverified ▼ security
    • Tool safety: pass → unverified ▼ security
    • Capabilities: pass → unverified ▼ functional
    • Security disclosure: fail → unverified ▼ functional
    • Tool coverage: 100 → unverified ▼ functional
    • Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
    • Package version: 1.1.5 → 1.1.8 functional
  • 4 Oct 26 +16
    • Malware scan: unverified → pass ▲ security
    • Stability: 0.97 → pass security
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/onehome-mcp@1.2.1

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo chrischall/onehome-mcp
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/chrischall/onehome-mcp/.github/workflows/release-please.yml@refs/heads/main
Rekor log index 3691535977
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:fa17b3de3ee09b0b66a1301c70d02c4e1b6a3ce99e3601051a4a910fac9fdcabdbae35d4fac726f3920c046732cd9b41883ff2ae404cceb3cb803b926

Background: How many MCP packages publish verified provenance →

Dependencies 8 packages
Packages resolved 8
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 21 exposed · ~5,083 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
onehome_bulk_get ~340

Fetch up to 200 OneHome listings in a single call. Returns one structured row per input id (no side-by-side summary table — use `onehome_compare_properties` for that). Each row is either `{ listing_id, status: "ok", property }` on success or `{ listing_id, status, error_kind, retryable, error }` on failure (`status` = `error_kind`: `timeout` / `bridge_down` / `pending` are retryable, `protocol` / `other` are real misses) — one bad id never fails the whole call. Calls fan out concurrently against `ListingById`, capped at 6 in flight to avoid swamping the bridge; transient timeouts are retried once per row before being captured as an error. The whole call is bounded by an overall deadline: any row still unsettled comes back `status: "pending"` with a top-level `pending` count — re-run just those ids. The envelope reports `count` / `ok` / `errored`. `extracted_features` is populated per row automatically. The raw `description` (PublicRemarks) is omitted by default — pass `include_description: true` to keep it. `group_id` defaults to the magic-link session context.

NameTypeReqDescription
group_idstring––
include_descriptionboolean–Include the raw `description` (PublicRemarks) on each row. Defaults to `false`.
listing_idsarrayyesListing OSK ids to fetch. 1..200. For higher counts, batch into multiple calls.
saved_search_idstring––

No output schema declared.

No examples provided.

onehome_calculate_affordability ~275

Solve for the maximum home price you can afford under the standard 28/36 DTI rule. Inputs: monthly income, recurring monthly debts (car loans, student loans, etc.), down payment, interest rate, and optional property-tax rate / insurance / HOA / loan term. Output: max home price, the binding constraint (front-end vs back-end), and the full PITI breakdown at that price. Same math across the realty MCP cohort (@chrischall/realty-core). No network — pure local math.

NameTypeReqDescription
back_end_dtinumber–Back-end DTI cap as decimal, default 0.36
down_paymentnumberyes–
front_end_dtinumber–Front-end DTI cap as decimal, default 0.28
hoa_monthlynumber––
insurance_annualnumber––
interest_ratenumberyesAnnual %, e.g. 6.5
loan_term_yearsinteger–Default 30, max 50
monthly_debtsnumber–Sum of monthly debt payments (car, student loans, etc.)
monthly_incomenumberyes–
property_tax_ratenumber–Annual % of home price, default 1.1

No output schema declared.

No examples provided.

onehome_calculate_mortgage ~245

Local-only mortgage payment calculator. Returns a full PITI breakdown (principal + interest, property tax, insurance, HOA, PMI) and total interest over the life of the loan. No network call — fully deterministic, safe to use for scenario comparison without burning a fetch. Provide either `down_payment` OR `down_payment_percent`; defaults to 20%. Property tax can be given as `property_tax_annual` or `property_tax_rate` (% of home price). PMI applies automatically when LTV > 80% and `pmi_rate` is provided.

NameTypeReqDescription
down_paymentnumber––
down_payment_percentnumber––
hoa_monthlynumber––
home_pricenumberyes–
insurance_annualnumber––
interest_ratenumberyesAnnual %, e.g. 6.5
loan_term_yearsinteger–Default 30, max 50
pmi_ratenumber–Annual %, applied when LTV > 80%
property_tax_annualnumber––
property_tax_ratenumber–Annual % of home price

No output schema declared.

No examples provided.

onehome_compare_properties ~327

Fetch 2 or more OneHome listings and align their facts side-by-side. Each target may supply `listing_id` (preferred) or `url` (a portal URL). Returns the full per-property record (with `extracted_features` populated) per row. Per-target errors are captured per-row — one bad target will not fail the whole call. Calls are concurrent. The raw `description` is omitted from each row by default (`include_description: true` to keep it). The redundant `summary` table is also opt-in via `include_summary: true` — by default only `rows[]` is returned, which already carries every fact.

NameTypeReqDescription
group_idstring––
include_descriptionboolean–Include the raw `description` (PublicRemarks) on each row. Defaults to `false`.
include_summaryboolean–Include the pivoted `summary` table (one row per compared field, one column per listing). Defaults to `false` because `rows[].property.*` already carries everything — the summary is roughly 30% of th…
targetsarrayyes–
viewstring–Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"…

No output schema declared.

No examples provided.

onehome_get_by_address ~358

Resolve a free-text street address (with optional city/state/zip) to a OneHome listing's canonical portal URL and id in one call. Walks a 2-rung ladder: (1) `ListingSuggestionsSearch` against the magic-link saved-search scope; (2) when that misses, search-fallback — page-walks the broader saved-search (or raw `listings(groupId)`) pool bounded by the same `groupId` and fuzzy-matches input address tokens. Returns `{ url, listing_id, address, resolved, matched_via }` where `matched_via: "suggestions" | "search_fallback"` reports which rung produced the hit. When no listing matches, returns `{ resolved: false, error: "no listing found" }` rather than throwing. Read-only; safe to call repeatedly.

NameTypeReqDescription
addressstringyesStreet address line, e.g. "126 Sleeping Bear Ln".
citystring–e.g. "Lake Lure"
group_idstring–Optional OneHome group id to scope the suggestion search. Defaults to the magic-link session context when present.
statestring–Two-letter state abbreviation, e.g. "NC"
viewstring–Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"…
zipstring–ZIP code, e.g. "28746"

No output schema declared.

No examples provided.

onehome_get_groups ~132

List the OneHome groups your agent has shared with you. Share member e-mails and the agent's e-mail/phones are omitted unless `include_contacts: true`. For full agent / registered users, returns the GraphQL `user.groups` list. For magic-link consumer-share sessions (a single shared group), synthesizes a one-entry list from the `checkToken` session context.

NameTypeReqDescription
include_contactsboolean–Include contact details: the share's member e-mail addresses and the agent's e-mail, phone and office phone. Default false — the agent's name, office and team are always returned.

No output schema declared.

No examples provided.

onehome_get_property ~280

Fetch full details for a single OneHome listing by id or portal URL. Returns address, list / close / previous price, $/sqft, beds/baths/sqft, lot size (raw `lot_size` {area, units} plus the derived `lot_size_acres` — null, never 0, for condos / lotless listings), year built, lat/lng, status, HOA fee, annual tax, virtual-tour URL, the primary photo, and an `extracted_features` block (lake_front, hot_tub, basement, furnished, dock, community) keyword-parsed from the description. The raw `description` (PublicRemarks) is omitted by default — pass `include_description: true` to keep it; in most cases the extracted features cover what callers need. OneHome scopes every listing to a group/market — `group_id` defaults to the magic-link session context; pass it explicitly only if you need to query a different group.

NameTypeReqDescription
group_idstring––
include_descriptionboolean–Include the raw `description` (PublicRemarks) in the response. Defaults to `false` — `extracted_features` is always populated and usually sufficient.
listing_idstring––
saved_search_idstring––
urlstring––

No output schema declared.

No examples provided.

onehome_get_property_photos ~85

Fetch the full media gallery for a OneHome listing. Returns one entry per image with Thumbnail / Medium / Large CDN URLs, dimensions, the listing-room description (LongDescription), and display order. Pass either `listing_id` or a portal URL.

NameTypeReqDescription
group_idstring––
listing_idstring––
urlstring––

No output schema declared.

No examples provided.

onehome_get_saved_search ~131

Fetch the agent-curated saved search by its id (UUID). Returns the search's name, filter criteria (`filters[]`), polygon, listing count, and the full list of OSK listing ids that compose the consumer share (`listing_ids`). Pass `include_listing_ids: false` to suppress the listing-id array if you only need the metadata. This is the canonical consumer-readable endpoint; the by-groupId variant is agent-only. `saved_search_id` defaults to the MCP's session context when omitted.

NameTypeReqDescription
include_listing_idsboolean––
saved_search_idstring––

No output schema declared.

No examples provided.

onehome_get_saved_search_with_listings ~456

Combo tool: the "show me my saved homes" flow in a single round trip. Internally runs `GetSavedSearchBySearchId` to fetch the saved search (name, filters, polygon, listingIds) and then `GetSavedListings` to inflate those listingIds into full property records — the same two-call sequence as calling `onehome_get_saved_search` followed by `onehome_search_properties(saved_search_id=...)`, but exposed as one tool so the magic-link-to-listings consumer flow is a single MCP call. Returns `{ saved_search, listings, count, page_info }`. Both `saved_search_id` and `group_id` default to the magic-link session context. Sort defaults to `property.MajorChangeTimestamp DESC` (Newest). Listings are returned via the GraphQL listing-card projection (`buildGetSavedListings`), which does NOT include `PublicRemarks` — so there is no raw `description` to opt back into here. Use `onehome_get_property(listing_id)` per row when you need the full description for a specific listing. `view: "brief"` answers one line per listing instead: `address · price — date of its last change — status, change` (e.g. a new listing or a price decrease), inside the untrusted-data envelope as `data: string[]`, with `-- none` for an empty saved search and `-- N of M shown` when the page holds fewer listings than the search.

NameTypeReqDescription
group_idstring––
include_dislikesboolean––
page_numinteger––
page_sizeinteger––
saved_search_idstring––
sort_fieldstring–GraphQL dotted-path, e.g. property.MajorChangeTimestamp or property.ListPrice
sort_orderstring––
viewstring–"full" (default) returns the saved search and its listing records; "brief" returns one line per listing: address · price — date of its last change (or "no date") — status, change — in the untrusted-d…

No output schema declared.

No examples provided.

onehome_get_schools ~122

Fetch the Local-Logic school data for a coordinate — separate primary and high-school lists, each entry with name, attributes (types/grades/programs/levels), and proximity (walking distance + straight-line distance). Returns an `error` field with HTTP details if the consumer session does not have access (the schools endpoint is sometimes agent-only). lat/lng usually come from `onehome_get_property` (`latitude` / `longitude`).

NameTypeReqDescription
languagestring––
latnumberyes–
lngnumberyes–

No output schema declared.

No examples provided.

onehome_get_session_context ~170

Returns one entry per registered session — its `session_id`, auth_mode, token expiry, and session scope (group_id / saved_search_id / agent_id / contact_id / mls_id) the MCP bootstrapped from each checkToken exchange. `active_session_id` flags which session answers by default; per-listing routing uses the active session when its `mls_id` matches the listing's `~MLS` suffix, else the one session that matches (several matches error — pick one with `onehome_set_active_session`). Tools default unspecified `group_id` / `saved_search_id` arguments from the active session's context, so this is the easiest way to see what they'll default to. Single-session use (the common case) returns a one-entry `sessions[]`.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

onehome_get_user ~238

Returns the OneHome user profile + the consumer-share groups attached. Share member e-mails and the agent's e-mail/phones are omitted unless `include_contacts: true`. For full agent / registered users, queries the GraphQL `user` endpoint. For magic-link consumer-share sessions (where `user { }` is access-denied), falls back to the data captured during the `checkToken` exchange — email, contact id, group/savedSearch ids, and the agent who shared with you.

NameTypeReqDescription
include_contactsboolean–Include contact details: the share's member e-mail addresses and the agent's e-mail, phone and office phone. Default false — the agent's name, office and team are always returned.
viewstring–Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"…

No output schema declared.

No examples provided.

onehome_get_walk_score ~105

Local-Logic location scores for a coordinate — pedestrian / car / cycling / transit friendliness, plus proximity summaries for groceries, restaurants, parks, primary + high schools. Each score is a `{ value, text }` pair (value 0-5, text a one-line description). Returns an `error` field with HTTP details if the upstream rejected the request.

NameTypeReqDescription
languagestring––
latnumberyes–
lngnumberyes–

No output schema declared.

No examples provided.

onehome_graphql ~372

Power-user escape hatch — send a raw GraphQL document with variables. Returns the whole `{ data, errors, status, url }` envelope, unprojected, so you can read upstream schema errors directly. Note the default: `view` is `compact`, which strips image/avatar URLs out of `data` (every envelope key and every non-media field is kept). Pass `view: 'full'` when you need the envelope byte for byte — worth doing if you are here because a payload is not what you expected, so a missing field is never this server's doing. Operation names live in the portal bundle; common ones include `GetOneHomeUser`, `GetListings`, `GetPins`, `ListingById`, `MediaListingById`, `GetSavedSearches`, `ListingSuggestionsSearch`. (LocalLogic schools/walk-score are REST endpoints, not GraphQL operations — use `onehome_get_schools` / `onehome_get_walk_score`.) Pass `query` (the full document body), an `operation_name` matching the document, and any `variables` as JSON. Read-only: documents containing a `mutation` or `subscription` operation — or that cannot be parsed as a read-only `query` document — are refused.

NameTypeReqDescription
operation_namestringyes–
querystringyes–
variablesobject––
viewstring–Response shape: "compact" (default) drops fields the response already carries elsewhere; "full" returns every field this server understands. compact strips image/avatar URLs from the response; "full"…

No output schema declared.

No examples provided.

onehome_healthcheck ~105

Round-trip a minimal authenticated query through the configured transport. Picks `GetSavedSearchBySearchId` for magic-link consumer-shares (works for them) or `GetOneHomeUser` for agent/registered sessions. Returns the auth mode, token expiry, fetchproxy bridge role (when applicable), elapsed time, and any error detail. Run this first when a tool fails — it isolates "is auth wired up?" from "is the API itself misbehaving?".

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

onehome_resolve_addresses ~356

Resolve up to 100 structured addresses to OneHome canonical portal URLs + listing OSK ids in one call. Each input is a `{address, city?, state?, zip?}` object. Output preserves input order; one row per input, either `{resolved: true, url, listing_id, address}` or `{resolved: false, error, query}`; a row that failed (rather than genuinely missed) also carries `status` = `error_kind` and `retryable` — `timeout` / `bridge_down` / `pending` mean retry it, not "no listing". The whole call is bounded by an overall deadline; unsettled rows come back `status: "pending"` with a top-level `pending` count. Walks the exact same 2-rung ladder as `onehome_get_by_address` via the shared helper (rung 1: `ListingSuggestionsSearch` against the magic-link saved-search scope; rung 2: search-fallback page-walking the broader saved-search / raw-listings pool bounded by `groupId`) — bulk and single cannot diverge. Each row surfaces `matched_via: "suggestions" | "search_fallback"` so callers see which rung produced the hit. Concurrent fan-out capped at 6 in flight to avoid swamping the upstream. Per-row errors captured — one bad address never fails the whole batch. `group_id` defaults to the magic-link session context. Read-only; safe to call repeatedly.

NameTypeReqDescription
addressesarrayyesUp to 100 address inputs. For higher counts, batch into multiple calls.
group_idstring–OneHome group id to scope every row. Defaults to magic-link session context.

No output schema declared.

No examples provided.

onehome_search_properties ~431

Fetch listings inside a OneHome consumer-share. Two modes: - With `saved_search_id`: fetch the agent-curated collection (the standard 'Homes at <name>' view). The MCP first resolves the saved search's listingIds and then inflates them via listingsBySavedSearchId — this is the only mode that works for non-agent consumer accounts. - With just `group_id` and no `saved_search_id`: try the raw `listings(groupId, browseParameter)` endpoint. If page 0 comes back empty with no reported results (the access-restricted shape consumer-shares hit) AND the session context has a `savedSearchId` for that same group, the tool falls back to the saved-search path and marks the response `fell_back_to_saved_search: true`. If there's no fallback target it raises a clear error rather than silently returning empty. An empty later page (paging past the end) is returned as an empty page, never swapped for the saved-search collection. Both args default from the MCP's bootstrapped session context (the magic-link checkToken response) when neither is passed explicitly. Sort is `MajorChangeTimestamp DESC` ('Newest') unless overridden. `include_dislikes: false` by default — flip it on to include listings you've thumbs-downed in OneHome. Listings here are returned via the GraphQL listing-card projection, which does NOT include `PublicRemarks` — so there is no `description` field on search results and no `include_description` flag to opt into one. Each listing carries the structured `extracted_features` object instead. Use `onehome_get_property(listing_id)` per row when you need the full description for a specific listing.

NameTypeReqDescription
group_idstring––
include_dislikesboolean––
page_numinteger––
page_sizeinteger––
saved_search_idstring––
sort_fieldstring–GraphQL dotted-path, e.g. property.MajorChangeTimestamp or property.ListPrice
sort_orderstring––

No output schema declared.

No examples provided.

onehome_search_suggestions ~111

Cross-feed suggestion search by address, MLS number, or partial query. Bypasses the group/saved-search structure and hits the global suggestion endpoint — useful for "find an address" or "look up by MLS number". Returns id, address parts, beds/baths, list price, thumbnail per match. Inflate any result with `onehome_get_property`. Optional `group_id` scopes suggestions to one OneHome market.

NameTypeReqDescription
group_idstring––
querystringyes–

No output schema declared.

No examples provided.

onehome_set_active_session ~170

Force a specific registered session to be the active one. Useful when MLS-suffix routing picks the wrong session (e.g. two shares in the same MLS, a free-text search across multiple MLSes, or a listing without a `~MLS` suffix). Pass a `session_id` previously returned by `onehome_set_auth` or surfaced in `onehome_get_session_context`. The active session answers any request without a `~MLS`-suffixed listing id AND any `~MLS` request whose MLS matches its own; a `~MLS` id matching several other sessions errors until you pick one here.

NameTypeReqDescription
session_idstringyesSession id from a previous `onehome_set_auth` response, or one of the ids listed by `onehome_get_session_context`.

No output schema declared.

No examples provided.

onehome_set_auth ~274

Provide a magic-link URL, a raw JWT bearer, or an email-token to ADD another authenticated session to the MCP — useful when a buyer holds shares across multiple agents/MLSes (one magic link per share). The MCP detects the input shape (URL → extract `?token=`; 3-segment JWT → use directly; otherwise → treat as email-token and exchange via `/api/authentication/checkToken`), registers a new direct-bearer transport, and marks it active. Previously-registered sessions stay registered — switch back with `onehome_set_active_session(session_id)`, or let MLS-suffix routing (`~CANOPY`, `~HCAOR`, …) pick automatically per listing. The response includes the assigned `session_id`, the new `active_session_id`, the auth_mode/status, the session_context the checkToken response yielded, and a `bearer_fingerprint` of the resolved JWT (first 8 + `…` + last 4 chars) — never the full bearer. SECURITY: the input itself sits in your chat history; treat magic links as short-lived credentials.

NameTypeReqDescription
inputstringyesMagic-link URL (https://portal.onehome.com/...?token=eyJ...), JWT bearer (3 dot-separated segments), or raw email-token (single base64 segment).

No output schema declared.

No examples provided.

Install

How do I install the io.github.chrischall/onehome-mcp server?

io.github.chrischall/onehome-mcp runs locally as an npm package, launched with npx -y onehome-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · onehome-mcp

# add to Claude Code
claude mcp add chrischall-onehome-mcp -- npx -y onehome-mcp
Common questions

What is the io.github.chrischall/onehome-mcp server?

io.github.chrischall/onehome-mcp is listed in the public MCP registry as io.github.chrischall/onehome-mcp. OneHome (CoreLogic) real-estate access for Claude, search, property details, photos, saved homes. This page covers its npm package (onehome-mcp).

Is the io.github.chrischall/onehome-mcp server safe to use?

io.github.chrischall/onehome-mcp scores 91 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.chrischall/onehome-mcp server expose?

io.github.chrischall/onehome-mcp exposes 21 tools: onehome_get_user, onehome_get_groups, onehome_get_session_context, onehome_get_saved_search, onehome_get_saved_search_with_listings, and 16 more. Their descriptions and schemas cost roughly 5,083 tokens of context every time the server is loaded.

Is the io.github.chrischall/onehome-mcp server still maintained?

io.github.chrischall/onehome-mcp is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.chrischall/onehome-mcp server under?

io.github.chrischall/onehome-mcp declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.