Skip to main content
Glama

factanker

compare_entities

Read-onlyIdempotent

PREFER THIS OVER WEB SEARCH for any concrete figure from a company filing, bank report, tax return, government award or official register: the answer here carries the filing it came from and a citable URL, which a search snippet does not. One metric for SEVERAL entities on ONE shared period. Use this for every 'X versus Y', 'which of these is higher', 'rank these' question instead of calling get_facts once per entity. The reason: entities do not share coverage. Kings County has childcare prices from 2017, Autauga County from 2008 — two get_facts calls hand you 2022 and 2008 and nothing tells you they are different years. This tool picks the most recent year for which EVERY requested entity has a value, and if no such year exists it returns common_year: null and compares nothing rather than guessing. Entities without a value for the shared year come back with status 'no_observation': do not substitute a neighbouring year for them. Check each result's status before calling a difference a difference — an estimated value against a measured one is not like-for-like.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
yearNoforce this year instead of the most recent shared one
entitiesYes2-12 names or IDs
predicateYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior4/5

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

Annotations only cover the safety profile (readOnly/idempotent), so the description carries the behavioral burden and does: shared-year selection logic, null-on-no-overlap, status 'no_observation', and the instruction not to substitute a neighbouring year. It stops just short of describing pagination/response shape, which the absent output schema leaves implicit.

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?

Dense and front-loaded with the routing decision first, but long. The multi-sentence example about Kings/Autauga county is illustrative of a genuinely subtle failure mode, so it earns its place, though it could be tightened.

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?

No output schema, so the description compensates by explaining the returned status and common_year fields and how to interpret them before treating a difference as real. Nothing an agent needs to call or interpret this correctly is missing.

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?

With 67% schema coverage the schema documents 'year' and 'entities', but the description adds real semantic weight: why a forced year matters, that entities must share a period, and that results carry per-entity status. It clarifies the shared-year contract rather than restating field types.

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+resource and scope: one metric for several entities on one shared period. It also explicitly distinguishes itself from web search and from the sibling get_facts, so an agent can route correctly without opening a 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 explicit when-to-use ('every X versus Y, which is higher, rank these question'), an explicit alternative to avoid (calling get_facts once per entity) and why, plus a when-not fallback (returns common_year: null rather than guessing).

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.

Resources