Skip to main content
Glama
sedis-ab

@sedis/mcp

Official
by sedis-ab

Get the CompDatum time-series

fastighetsbenchmark_get_comp_timeseries
Read-only

Retrieve property benchmarking time-series for comparables using sedisId, parameterCode, and date range. Returns self-describing rows with typed values (decimal, boolean, enum, date) for accurate analysis.

Instructions

Read-only. Pull the actual benchmarking numbers (CompDatum time-series) for one or more Comps. This is the FINAL step of the §8 A6 flow: pass the sedisIds you found (from fastighetsbenchmark_search_property_units, _list_samlingar's containingCompSedisIds, or _list_jamforelseobjekt) as a comma-separated sedisIdIn, plus a parameterCode from fastighetsbenchmark_find_parameter and an ISO date range. Each row is SELF-DESCRIBING via dataType (decimal/boolean/enum/date) — read the matching member (figure/boolean/enum/date); an enum resolves to { value, name, enumType }, so use enum.name, never the raw int. Every row keeps its sedisId (do not conflate Comps). Use count: false for cheap bulk paging. Example: sedisIdIn 'PU-1,PU-2', parameterCode 'NX71', fromDate '2016-01-01', toDate '2026-12-31'. Tenant-scoped to your data; read-only — never writes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo1-indexed result page (first page = 1), e.g. 1.
countNofalse (default) skips totalCount for cheaper high-volume bulk paging, e.g. false.
toDateNoInclusive upper ISO date bound (yyyy-MM-dd), e.g. '2026-12-31'.
fromDateNoInclusive lower ISO date bound (yyyy-MM-dd), e.g. '2016-01-01'.
pageSizeNoRows per page (v2 default 50, max 500), e.g. 50.
sedisIdInYesComma-separated Comp sedisIds to fetch (multi-value), e.g. 'PU-1,PU-2'.
parameterCodeNoCompParameter code from fastighetsbenchmark_find_parameter; omit for all parameters, e.g. 'NX71'.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYesSelf-describing CompDatum rows — one per Comp+parameter+valueDate; dataType + sedisId kept on every row.
pageYesThe page you are on (1-indexed).
pageSizeNoRows per page used for this response.
totalCountNoTotal matching rows across all pages; null/absent when count=false (v2 omits the key).
totalPagesNoTotal page count; null/absent when count=false.
Behavior5/5

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

Beyond the readOnlyHint annotation, the description adds key behavioral details: rows are self-describing via dataType, enum values resolve to { value, name, enumType } (use enum.name), every row keeps its sedisId, and count:false enables cheap bulk paging. It also confirms the tool never writes, reinforcing the annotation.

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?

The description is efficient yet comprehensive. It front-loads the read-only nature and purpose, then systematically covers inputs, data handling, pagination, and scope. Every sentence adds unique value, and the example reinforces understanding without redundancy.

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?

Given the tool's complexity (multiple parameters, enum handling, pagination) and the presence of an output schema, the description covers all essential aspects: how to interpret returned data (dataType, enum, sedisId preservation), performance tips, and tenant scoping. It leaves no critical gaps for an agent to resolve.

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

Parameters5/5

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

Although schema coverage is 100%, the description adds substantial meaning: it explains where to get sedisIdIn values (from sibling tools), that parameterCode comes from fastighetsbenchmark_find_parameter and is optional, and clarifies count:false for high-volume paging. The example ties all parameters together.

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?

The description uses a specific verb ('Pull') and names the resource ('CompDatum time-series') while explaining it is the final step of the §8 A6 flow. It clearly distinguishes from sibling tools by specifying where to get the needed inputs (search_property_units, list_samlingar, etc.).

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 states when to use this tool (final step of the flow), what inputs to pass (sedisIdIn, parameterCode, date range), and references alternative tools for finding those inputs. It also includes a concrete example and warns against conflating Comps, providing clear context.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sedis-ab/sedis-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server