Skip to main content
Glama
stevecrawshaw

nomis-mcp

fetch_data_to_file

Stream large query results to a CSV file instead of the reply, bypassing context limits and returning a path for analysis in R, DuckDB, or pandas.

Instructions

Stream an unrestricted query to a CSV file instead of into the reply.

For results too large to read: whole geography types, long time series, LSOA-level census tables. Nothing is loaded into memory or context, so use this rather than paging fetch_data hundreds of times.

Without an API key the file is still capped at 25,000 records; run check_auth first if the row count looks suspiciously round.

Returns the path for onward analysis in R, DuckDB or pandas.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
selectNoColumns to include. Default: all.
filtersYesSame as fetch_data. Codes from search_codes.
filenameYesOutput filename, e.g. 'lsoa_claimants.csv'. Written to the server's download directory.
dataset_idYesDataset id, e.g. NM_1_1

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Install Server

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and discloses three non-obvious behaviors that cannot be inferred from the schema: nothing is 'loaded into memory or context,' output is capped at '25,000 records' without an API key, and the tool returns a path for later analysis. These traits directly affect whether an agent should select this tool and what to expect from it.

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?

Four short passages, each earning its place: primary behavior, when-to-use examples, the API-key cap caveat, and the return value. The most decision-relevant sentence is front-loaded first, and no sentence is redundant with the schema.

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?

For a 4-parameter tool with an output schema, the description covers the call-relevant facts: use case, cap condition, auth hint, and return value. Minor gaps remain — no statement about overwriting an existing filename, failure behavior, or whether the returned path is locally accessible to the agent versus only on the server — but nothing essential to invoking it correctly is missing.

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%, so the baseline of 3 applies; the schema already documents dataset_id, filters, filename, and select. The description adds little per-parameter detail, though it reinforces the 'unrestricted query' semantics of filters and that output lands in the server's download directory.

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 action — 'Stream an unrestricted query to a CSV file' — and immediately contrasts it with the reply-returning behavior of the sibling fetch_data. The later phrase 'rather than paging fetch_data hundreds of times' explicitly names the closest alternative, so an agent can tell the tools apart without opening either 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?

Gives concrete when-to-use conditions: 'results too large to read' with realistic examples (whole geography types, long time series, LSOA-level census tables). It names fetch_data as the alternative and even routes to check_auth when the row count 'looks suspiciously round.' The only minor omission is an explicit when-not-to-use for small results, but that is strongly implied by 'instead of into the reply.'

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

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/stevecrawshaw/nomis-mcp'

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