Skip to main content
Glama

Starwell: World Data & Statistics

Answer a question from verified data

answer

The flagship: ask a natural-language question about the served official statistics. Returns a COMPUTED answer (real Python runs in a sandbox over the verified store, nothing is estimated by a model), the Plotly chart, the Python code, citations to the official tables, and a verification badge per series. CROSS-SOURCE: one question may join series from DIFFERENT agencies, e.g. unemployment from the US BLS, Statistics Canada and the UK ONS in a single call, for correlations, ratios, and like-for-like comparison. How many series one question may join is set by the caller's plan; asking for more returns a series_limit error naming that cap. Returns a refusal when no served series can answer. Takes 10-40 seconds. Requires a free API key (create at /account on the Starwell host; pass Authorization: Bearer dlk_... or set STARWELL_API_KEY on the starwell-mcp bridge). Keyless calls return key_required.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endNoYYYY-MM-DD
startNoYYYY-MM-DD
seriesNoOptional: pin exact series, across sources, and skip AI resolution
questionYes

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnlyHint:false annotation, the description discloses many behavioral traits: real Python runs in a sandbox, returns a computed answer (nothing estimated by a model), refusal when no served series can answer, 10-40 second latency, series_limit error, and key_required error for missing API key. This is far richer than the annotation alone.

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

Conciseness4/5

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

The description is long but information-dense; every sentence provides useful details such as auth, latency, or error modes. It could be improved by using bullets or clearer section breaks, but the content is economical and avoids fluff.

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?

The description covers crucial operational aspects: authentication (API key, header, environment variable), latency, error types (series_limit, key_required, refusal), return contents, and cross-source joining. It is complete for a complex tool with no output schema, and the absence of an output schema is not a gap because the description names the returned artifacts.

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 75%, with start/end described as 'YYYY-MM-DD' and series described in the schema. The description adds value by explaining the series limit ('How many series one question may join is set by the caller's plan') and the resulting series_limit error, which is not in the schema. It does not explain start/end defaults, but the schema already provides format.

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 clearly states the tool's purpose: 'ask a natural-language question about the served official statistics' and specifies what it returns (computed answer, Plotly chart, code, citations, verification badge). It distinguishes itself from siblings by positioning as 'the flagship' and highlighting cross-source joining, which other tools like get_observations or get_series do not offer.

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?

The description conveys usage context by explaining when cross-source joins are relevant ('one question may join series from DIFFERENT agencies') and mentions the series limit based on the caller's plan. However, it does not explicitly name alternative tools or state when NOT to use this tool, relying on the sibling list to imply differentiation.

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.

TDQS

B3.4/5.0
Disambiguation5/5

Each tool targets a distinct operation: Q&A, deep analysis, series metadata, observations, stats, catalog search, and monitor CRUD. The only potential overlap between answer and deep_analysis is explicitly disambiguated by use-case guidance, and delete_monitor is unambiguous by name even without a description.

Naming Consistency4/5

Most tools follow a consistent verb_noun pattern (get_*, list_*, create_*, delete_*, search_*). However, 'answer' and 'deep_analysis' deviate from this pattern, making the naming convention slightly inconsistent.

Tool Count5/5

With 11 tools, the server is well-scoped for a world data/statistics domain. It covers discovery, retrieval, analysis, and monitoring without unnecessary bloat, and each tool earns its place in the set.

Completeness5/5

The toolset provides a complete workflow: discover sources/datasets via list_sources/list_datasets/search_catalog, retrieve series/observations/stats via get_*, analyze via answer/deep_analysis, and manage monitors via create/list/delete_monitor. No critical operations are missing for the stated purpose.