Skip to main content
Glama

Get Building Characteristics (BDNB)

get_building_characteristics
Read-only

Get physical building characteristics for a DVF transaction from the BDNB national building database.

Returns: construction year, number of units, number of floors, wall material, roof material, primary usage, and median price/m² from BDNB's pre-2022 DVF aggregate stats.

REQUIRED: transaction_id (DVF transaction ID — get this from the "id" field in search_property_transactions results)

Match method: spatial proximity (nearest BDNB building within 200m). Returns null + refunds credits if no building found within 200m.

Workflow: call search_property_transactions first → use an "id" from the results as transaction_id here.

Example: transaction_id: "12345678" → { building: { annee_construction: 1967, nb_logements: 48, mat_mur: "beton", ... } }

Cost: 2 credits

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": {
      "transaction_id": "<transaction_id>"
    },
    "name": "get_building_characteristics"
  }
}

Input Schema

NameRequiredDescriptionDefault
transaction_idYesDVF transaction ID

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the readOnlyHint/openWorldHint/destructiveHint annotations, it discloses the matching method (nearest BDNB building within 200m), the null-and-refund outcome on no match, and a 2-credit cost. These are exactly the behavioral traits annotations cannot express for a spatial-join tool.

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-loads purpose, then returns, then the required input, then match method, workflow, example and cost. The labelled sections and short example make it scannable, and no sentence is filler.

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?

There is no output schema, so the description enumerates the returned fields (construction year, units, floors, wall/roof material, usage, median price/m²) and shows a sample payload. Combined with the documented failure mode, an agent has everything needed to call it and interpret the result.

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 100% and the single parameter is documented there, so the baseline is 3. The description earns above baseline by telling the agent where the transaction_id comes from (the 'id' field in search_property_transactions results) and showing a concrete example value, which the schema's 'DVF transaction ID' alone does not.

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?

Opens with a specific verb+resource+source ('Get physical building characteristics for a DVF transaction from the BDNB national building database') and immediately contrasts with the sibling that produces the input ID. An agent can tell this is the enrichment step, not a search tool, without opening a schema.

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?

States the exact workflow (call search_property_transactions first, take an 'id' from the results) and names the required input by provenance. It also defines the failure path — null return plus credit refund if no building is within 200m — which is when-not guidance in concrete form.

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