Skip to main content
Glama
nescoffee-create

SDMX MCP Gateway

compare_dataflow_dimensions

Compare dimension structures of two dataflows to find shared dimensions, overlapping time periods, and recommended join columns for combining datasets across providers.

Instructions

Compare dimension structures across two dataflows to understand how they relate.

Use this whenever you want to combine or contrast data from two dataflows.
Returns which dimensions are shared, whether their codes overlap, time period
coverage, and recommended join columns. Works across providers too — e.g.
compare SPC population data with UNICEF child health indicators.

**When to use this tool:**
- After discovering dataflows with find_code_usage_across_dataflows(), compare
  them to understand how they can be joined.
- When a user asks about combining datasets from different topics or providers.
- To check geographic, temporal, and dimensional overlap before writing queries.

Supports cross-provider comparison (e.g., SPC vs IMF) by specifying endpoint_a/b.
When endpoints are omitted, uses the current session endpoint.

Args:
    dataflow_id_a: First dataflow identifier
    dataflow_id_b: Second dataflow identifier
    endpoint_a: Optional endpoint key for dataflow A (e.g., "SPC", "IMF", "ECB")
    endpoint_b: Optional endpoint key for dataflow B
    ctx: MCP context

Returns:
    DataflowDimensionComparisonResult with dimension comparison, overlap stats,
    and join column recommendations

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endpoint_aNo
endpoint_bNo
dataflow_id_aYes
dataflow_id_bYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataflow_aYes
dataflow_bYes
dimensionsYes
endpoint_aYesEndpoint key used for dataflow A (e.g. 'SPC')
endpoint_bYesEndpoint key used for dataflow B (e.g. 'IMF')
next_stepsNo
join_columnsNoRecommended join keys
time_overlapNoTime period overlap between the two dataflows. None when constraint time ranges are unavailable.
api_calls_madeNo
interpretationNo
dataflow_name_aNo
dataflow_name_bNo
discovery_levelNodataflow_dimension_comparison
shared_dimensionsNoSame dim ID, same codelist ID+agency
compatible_dimensionsNoSame dim ID, different codelist
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses default endpoint behavior ('When endpoints are omitted, uses the current session endpoint') and cross-provider support, adding useful context beyond the schema. It does not explicitly state read-only behavior, but 'compare' and the nature of the output strongly imply a non-mutating operation.

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 well-structured with a summary, usage guidance, and parameter details. While it is longer than a simple two-liner, each section earns its place—especially the 'When to use' bullets and endpoint behavior. The Args section partially duplicates the schema but adds examples, making it valuable rather than repetitive.

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?

The tool has an output schema, so return values are covered externally. The description covers when to use, parameter semantics, default endpoint behavior, and cross-provider capability, making it complete for a comparison tool. It lacks explicit error-handling notes or prerequisites, but these are not critical for the tool's primary use case.

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 description coverage is 0%, so the description must compensate. It defines each parameter clearly: dataflow_id_a/b as identifiers, endpoint_a/b as optional with examples ('SPC', 'IMF', 'ECB') and explains the fallback to the session endpoint. This adds meaningful semantics beyond the bare schema titles, though it could be even more detailed about ID formats or constraints.

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 'Compare dimension structures across two dataflows to understand how they relate,' which is a specific verb+resource pair. It further details what is returned (shared dimensions, code overlap, time coverage, join columns), distinguishing it from siblings like get_dataflow_structure or compare_structures by focusing on dimensional relationships and join recommendations.

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 'When to use this tool' section explicitly lists three concrete scenarios (after find_code_usage_across_dataflows, combining datasets, checking overlap before queries). It provides clear context for when to use, though it does not explicitly state when not to use it or name alternative tools, which prevents a 5.

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/nescoffee-create/sdmx-mcp-gateway'

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