Skip to main content
Glama
cldf-mcp

cldf-mcp

by hsouf

crosstab

Read-onlyIdempotent

Cross-tabulate two WALS features over shared languages, with family/genus counts and largest-family share to separate cross-linguistic tendencies from family effects.

Instructions

Cross-tabulate two features over the languages coded for both. Each cell gives languages, families and genera attesting the combination and the share of its largest family, so you can tell a cross-linguistic tendency from the signature of one big family. Use this to check implicational universals.

Input Schema

NameRequiredDescriptionDefault
familyNoRestrict to a Glottolog family or subgroup.
sampleNoRestrict to 'wals100' or 'wals200'.
feature_aYesFirst feature ID, e.g. 'wals:81A'.
feature_bYesSecond feature ID, e.g. 'wals:85A'.
macroareaNoRestrict to one macroarea.
by_macroareaNoAlso give each cell per macroarea.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed world), so the description correctly spends its words elsewhere: it explains the structure of each output cell and warns of a confound (one large family driving the result). That is genuine interpretive guidance an agent could not get from annotations or the output schema 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?

Three sentences, front-loaded with the core operation, then the output semantics, then the use case. Every sentence carries weight; the middle sentence is long but is compensating for analytical ambiguity rather than padding.

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?

With an output schema present, the description needn't enumerate return fields, and it doesn't try. It covers purpose, cell content, and interpretive caveat. The only gap is that it never acknowledges the filtering parameters that materially change what gets cross-tabulated.

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 is 3. The phrase 'languages coded for both' usefully clarifies that feature_a and feature_b are intersected rather than unioned, but the four optional filters (family, sample, macroarea, by_macroarea) receive no mention in the description at all.

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?

States a specific verb and resource ('Cross-tabulate two features') plus the exact population ('languages coded for both'), which immediately separates it from siblings like filter_languages or get_values. It also specifies what a cell contains, so an agent knows precisely what operation is being performed.

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 gives a concrete use case ('Use this to check implicational universals') and an analytical rationale (distinguishing a cross-linguistic tendency from one dominant family's signature). It does not name an alternative tool or state when not to use it, which keeps it below a 5.

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