Bolig Tracker
Server Details
Market-value estimates, comparable sales and property tax for Danish homes, from public registers.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
The three tools have clearly distinct scopes: search_address finds addresses, get_valuation values a single home, and get_postcode_sales provides aggregate market stats for an area. No overlap in intent.
All names follow a consistent snake_case verb_noun pattern (search_address, get_valuation, get_postcode_sales), making the action and target clear.
Three tools are well-suited to the focused read-only domain; each tool provides a unique capability without redundancy. The count falls comfortably within the ideal 3-15 range.
The surface covers address lookup, individual valuation, and area market data, but lacks a way to retrieve basic property attributes (e.g., size, rooms, year built) or to search addresses by criteria other than free text. These are minor gaps an agent can work around.
Available Tools
3 toolsget_postcode_salesRecent home sales in a postcodeARead-onlyIdempotentInspect
Registered home sales in a Danish postcode over the past year, per property type: count, median price, median price per m² and the most recent sales with links to their own valuations.
| Name | Required | Description | Default |
|---|---|---|---|
| postcode | Yes | Four-digit Danish postcode, e.g. "2200". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds real context beyond that: the one-year window, the aggregation semantics per property type, and the fact that recent sales carry links to separate valuation records. It stops short of stating result counts, ordering, or coverage limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that opens with the resource and scope and then enumerates the returned aggregates. Almost every clause earns its place; the trailing 'with links to their own valuations' phrasing is slightly convoluted but still informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly carries the return-value burden by listing exactly which metrics come back. Safety traits are covered by annotations, and the only parameter is fully documented in the schema, so nothing essential for calling this tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter, and the schema already documents it fully (four-digit pattern, example "2200") at 100% coverage, so the baseline is 3. The description's contribution is limited to confirming the Danish postcode domain, adding no format or edge-case detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a precise resource (registered home sales), a concrete scope (a Danish postcode, past year) and an explicit breakdown (per property type: count, median price, median price per m², most recent sales). It is immediately distinguishable from get_valuation and search_address, though it never names a sibling to reinforce the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the temporal scope 'over the past year' and the postcode granularity, which tell an agent what question this tool answers. However, there is no explicit when-to-use, when-not-to-use, or routing against get_valuation (which the 'links to their own valuations' clause gestures at but does not resolve).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_valuationEstimate a home's market valueARead-onlyIdempotentInspect
Statistical market-value estimate for one Danish home: value, likely range, confidence, how it was calculated, the comparable sales it rests on, earlier registered sales and the yearly property tax a new owner would pay. Takes an address_id from search_address. A cold lookup can take up to a minute.
| Name | Required | Description | Default |
|---|---|---|---|
| address_id | Yes | DAR address UUID from search_address. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, open-world and non-destructive, so safety is covered. The description adds genuinely new behavioral context beyond that: the latency expectation ('a cold lookup can take up to a minute') and the fact that results include confidence, calculation method, comparables and tax liability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler; the return payload is front-loaded and the operational caveat (one-minute cold lookup) is placed last where it is most useful. Nothing repeats the name or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing returns and does so adequately, plus a latency warning. It is nearly complete for a single-parameter read tool, though it omits failure modes (e.g., what happens for an unresolvable address_id).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter is fully documented as a 'DAR address UUID from search_address'. The description's mention of taking an address_id from search_address merely restates the schema, adding no format or constraint detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource and scope: 'Statistical market-value estimate for one Danish home', which cleanly separates it from get_postcode_sales (an aggregate sibling) and search_address (an ID lookup). The enumerated return contents (value, range, confidence, comparables, tax) further pin down what the estimate comprises.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a prerequisite chain — the address_id must come 'from search_address' — which implies a sensible call order. However, it never states when to prefer this over get_postcode_sales or when the estimate is inappropriate (e.g., non-residential properties), so usage is only implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_addressFind a Danish addressARead-onlyIdempotentInspect
Search Danish addresses by free text (street, number, floor/door, postcode). Returns address ids to pass to get_valuation. Example query: "Kilevej 6, 1. mf, 2000".
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum hits (1-10, default 5). | |
| query | Yes | Address text, e.g. "Nørrebrogade 10, 2200". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds real context beyond that by disclosing the return contract (address ids) and the downstream tool they are meant for. It omits matching behavior (fuzzy vs exact) and zero-result behavior, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each earning its place: purpose and facets first, then the return/chaining contract, then a concrete example. No filler and the most decision-relevant information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only two parameters, no output schema and rich annotations, the description supplies what is missing: what it returns and what to do with it. It could go further by noting how results are ranked or truncated against the limit cap, but nothing essential to calling it correctly is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema does not: it enumerates that the free-text query may carry street, number, floor/door and postcode, and its example ("Kilevej 6, 1. mf, 2000") demonstrates the floor/door component that the schema's own simpler example ("Nørrebrogade 10, 2200") does not show.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (search Danish addresses) plus the exact input facets (street, number, floor/door, postcode) and the return type (address ids). This distinguishes it cleanly from get_valuation, which consumes those ids, and from get_postcode_sales, which is postcode-level rather than address-level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly frames this as the lookup step whose ids feed get_valuation, giving a clear workflow context for when to call it. It stops short of saying when NOT to use it (e.g. postcode-only lookups belong to a sibling) or what to do when no address matches, so it is not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
get_postcode_sales - First observed
get_valuation - First observed
search_address
Related MCP Connectors
Danish address & property lookup: BBR, Matriklen, DAR, CVR. A DAWA/Datafordeler-compatible source.
French real estate data: cadastre, DVF sales, DPE energy ratings, price estimates, parcel context
Danish vehicle registration tax (registreringsafgift) calculator and DMR registration statistics
UK property data — Land Registry comps, EPC, Rightmove, rental yields, stamp duty, Companies House
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables users to retrieve Danish property information from official registers, covering addresses, buildings, valuations, trades, and more, through MCP tools.13MIT
- AlicenseNot gradedqualityCmaintenanceAccess 17M+ geocoded French property transactions (DVF), 22M+ DPE energy ratings, and 20M+ building records via MCP or REST API. Search transactions, market stats, comparables, price trends, rental yield, flip detection, and more.MIT

cenogram-mcp-serverofficial
AlicenseAqualityAmaintenance7M+ real estate transactions from Poland's RCN registry. Search, compare, and analyze prices2877 npm1MIT- AlicenseNot gradedqualityBmaintenanceProvides access to comprehensive US property data, including automated valuations, tax history, comparable sales, and ownership details, enabling real estate analysis and market insights.247 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.