Skip to main content
Glama

Mlb Matchup

mlb_matchup
Read-onlyIdempotent

MLB BATTER-vs-PITCHER history from the official MLB Stats API — "how has Yordan Alvarez hit against Tanner Bibee", " career numbers vs ". Accepts batter and pitcher NAMES (resolved automatically) or numeric ids. Returns the batter's hitting line against that specific pitcher (at-bats, hits, HR, RBI, AVG, OPS, strikeouts), split by season with career totals.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
batterYesBatter NAME (e.g. "Yordan Alvarez") or numeric MLB person id.
seasonNoOptional season year to limit to; omit for full career.
pitcherYesPitcher NAME (e.g. "Tanner Bibee") or numeric MLB person id.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds useful behavioral context: it uses the official MLB Stats API, automatically resolves batter/pitcher names, and returns season-split hitting lines with career totals. This goes beyond the structured annotations, though it omits potential error or rate-limit behavior.

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?

The description is compact and front-loaded, using one dense paragraph to cover purpose, input formats, examples, output metrics, and seasonal splitting. No filler or redundant restatement of the tool name.

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?

For a simple three-parameter tool with no output schema, this description is complete: it explains accepted inputs, automatic name resolution, optional season limiting, and the specific returned hitting statistics. An agent has enough context to call it correctly without requiring additional documentation.

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 100%, so parameters are already documented. The description adds meaningful extras: both batter and pitcher accept names or numeric IDs, names are resolved automatically, and 'season' is optional and controls career-wide versus single-season results. This supplements the schema with practical semantics.

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 opening phrase 'MLB BATTER-vs-PITCHER history' states a specific verb-like purpose with a clear resource and scope. Concrete examples like 'how has Yordan Alvarez hit against Tanner Bibee' make it instantly distinguishable from the other MLB sibling tools such as mlb_player_stats or mlb_boxscore.

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 clear context and concrete input examples, making it obvious when to call this tool for batter-versus-pitcher matchups. It does not explicitly name alternatives or state when not to use it, but the purpose is specific enough that an agent can infer appropriate usage.

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

A3.7/5.0
Disambiguation2/5

Severe overlap between entry points: ask_pipeworx and ask_pipeworx_beta are explicitly identical right now, and the prediction-market cluster (polymarket_edges, polymarket_arbitrage, polymarket_edge_tracker, polymarket_fill_risk) has fuzzy boundaries that would confuse an agent picking one. Entity lookups (entity_profile, compare_entities, recent_changes, validate_claim) also overlap on company data. The stakes are raised by the server being named 'Mlb Stats' while most tools are unrelated general-data tools, compounding misselection risk.

Naming Consistency2/5

There is internal consistency within families — the 7 MLB tools share a clean get_ prefix, and the Poly tools share a polymarket_ prefix — but the overall set mixes bare verbs (remember, recall, forget), prefixed families (ask_pipeworx_*), and descriptive compounds (ai_visibility_check, generate_llms_txt) with no unifying convention. The 'Mlb Stats' server name bears no relation to the dominant ask_pipeworx/deep_research naming, which further breaks pattern expectations.

Tool Count2/5

38 tools is well past the heavy threshold, and more importantly the bulk of them (SEC filings, FRED economics, Polymarket arbitrage, npm scanning, AI visibility, subscriptions) have nothing to do with the server's stated MLB purpose. Only 7 of 38 tools are actually baseball-related, so the count is both too high for the labeled scope and misallocated.

Completeness3/5

The 7 MLB tools cover teams, rosters, schedule/scores, standings, player profiles, season stats, and batter-vs-pitcher history — a solid read-only core. However, obvious gaps remain: no per-game box scores, no league leaders, no team offensive/pitching stats, no live game detail beyond final scores. The Pipeworx catch-all router technically fills data gaps but leaves the MLB-specific surface incomplete.