Skip to main content
Glama
chrischall

onehome-mcp

by chrischall

Send a raw GraphQL document to services.onehome.com

onehome_graphql
Read-only

Send raw read-only GraphQL documents with variables to inspect the full {data, errors, status, url} envelope and debug upstream schema or payload issues.

Instructions

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
viewNoResponse 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" returns OneHome's payload untouched. No field projection: this server has no verified record of which OneHome fields matter, and inventing one would risk dropping a field a caller needs.
queryYes
variablesNo
operation_nameYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.0.0
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. Changed1 schema field changedv0.15.1
    • addedInput schema / properties / view
      Added value: +{
      +  "description": "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\" returns OneHome's payload untouched. No field projection: this server has no verified record of which OneHome fields matter, and inventing one would risk dropping a field a caller needs.",
      +  "enum": [
      +    "compact",
      +    "full"
      +  ],
      +  "type": "string"
      +}
  3. First observedv0.13.1

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial context beyond annotations: it discloses the default `view: compact` strips image/avatar URLs, that the return is the raw `{ data, errors, status, url }` envelope unprojected, and that mutations/subscriptions are refused. None of that is in the annotations, which only cover read-only/idempotency hints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded: the escape-hatch framing comes first, then the view default warning, then the operation list and parameter guidance. It is long but every sentence carries information an agent needs; slightly verbose with the operation-name enumeration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema and low schema coverage, the description covers return shape, default behavior, refusal semantics, sibling alternatives, and the parameter contract. Almost nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 25%, so the description compensates by explaining `view` semantics (compact vs full and what compact strips), and that `query`, `operation_name`, and `variables` are an interlocked set. It also warns operation_name must match the document. This goes well beyond the sparse schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('send a raw GraphQL document to services.onehome.com') and frames itself as a 'power-user escape hatch'. Clearly distinguishable from siblings like onehome_search_properties, which are typed operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use it ('pass view: full when you need the envelope byte for byte' and 'worth doing if you are here because a payload is not what you expected'), and routes users away for LocalLogic endpoints to onehome_get_schools / onehome_get_walk_score. Covers both when-to-use and alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.