Skip to main content
Glama

Find the address behind a listing from its sale history

find_address_from_sale_history
Read-onlyIdempotent

Property portals often hide the house number but show the home's past sale prices. HM Land Registry records every sale by exact address, so the sale history identifies the home: give the area and the sales, get the address or addresses that match. One match is the answer. Several means add another sale or a tighter area. None means check the year (portals show the year the sale completed) or widen the area. The returned akey works with every per-address tool.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "area": "<area>",
      "sales": "<sales>"
    },
    "name": "find_address_from_sale_history"
  }
}

Input Schema

NameRequiredDescriptionDefault
areaYesWhere the listing says the home is: a street with its district ('Merton Road, SW19'), a postcode or its first half ('SW19 1'), or a town.
matchNo'any' (default): the home has these sales, possibly among others. 'last': the newest sale given is the home's most recent sale. 'only': the home has exactly these sales and no others.any
salesYesPast sales shown on the listing, each as 'price:year' in pounds, for example ['450000:2019', '310000:2012']. More sales narrow it faster.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds genuine behavioral context beyond them: the result cardinality semantics (one = answer, several = refine, none = likely year mismatch) and that the returned `akey` interoperates with every per-address tool. It stops short of describing the full response shape, but no output schema exists to lean on, so this is a real contribution.

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

Conciseness5/5

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

Front-loaded with the motivating problem, then the operation, then compact branch handling. Every sentence carries either rationale or a decision rule; there is no filler.

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

Completeness4/5

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

With three parameters, no output schema, and rich annotations, the description covers the missing pieces an agent needs: input expectations, result cardinality, and what to do with the `akey`. It could be slightly more explicit about the returned object but is otherwise sufficient to call the tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, including the `match` enum, so the baseline is 3. The description reinforces the parameters ('give the area and the sales') and the narrowing effect of adding more sales, but that insight is already present in the `sales` schema description, and `match` is not elaborated on beyond the schema.

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 operation: reverse-lookup an exact address from a listing's past sale prices via HM Land Registry. The framing ('portals hide the house number') makes it immediately distinguishable from forward-lookup siblings like search_addresses or get_address, and it names the `akey` handoff to per-address tools.

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

Usage Guidelines4/5

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

Gives clear triggering context (listing shows sale prices but no house number) and, unusually, result-dependent next steps: several matches means add a sale or tighten the area, no matches means check the year or widen the area. It does not explicitly name a sibling to use instead when the address is already known, so it falls short of a full when/when-not/alternative triad.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources