Skip to main content
Glama
HPotty36

baseball-stats-mcp

by HPotty36

Pitcher luck check (ERA vs FIP, BABIP, LOB%)

baseball_pitcher_luck_check
Read-onlyIdempotent

Check if a pitcher's ERA is lucky or unlucky by comparing it to FIP, BABIP, and LOB% versus league averages. Returns stat gaps, plain-language signals, and a verdict.

Instructions

Is a pitcher's ERA lucky or unlucky? Compares ERA to FIP, then BABIP and LOB% to the league.

Returns the gaps, plain-language signals, an overall verdict, and caveats (sample size, contact quality, defense). Signals are leads to investigate, not conclusions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
teamNoOptional team filter.
formatNo'markdown' (default) or 'json'.markdown
leagueNoWhich league's data to use.MLB
playerYesMLB: English name or id. KBO: Korean name as in the CSV.
seasonNoSeason year. Default: current MLB season / latest KBO file.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish the safe, read-only, idempotent profile, so the description is free to add value elsewhere: it discloses the output shape (gaps, plain-language signals, verdict, caveats) and the caveat categories (sample size, contact quality, defense). The 'leads not conclusions' framing usefully sets expectations about interpretation. It stops short of noting data-freshness or coverage limits.

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?

Front-loaded opening question, one sentence on method, one on returns, one on caveats — every sentence earns its place with no filler.

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 a full schema, complete parameter coverage, and an output schema, the description is nearly complete; it even summarizes return values despite the output schema existing. Only minor gaps remain (no explicit alternative-tool routing), keeping it just below the top.

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%, with player/team/league/season/format all documented in the schema itself, so the schema already carries parameter meaning. The description adds no format or naming syntax beyond what the schema provides, making the baseline 3 appropriate.

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?

It states a specific analytical verb and resource ('Is a pitcher's ERA lucky or unlucky? Compares ERA to FIP, then BABIP and LOB%') and clearly sets itself apart from generic siblings like baseball_player_stats by being a verdict/interpretation tool rather than a raw-stat lookup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intent ('is ERA lucky or unlucky') implies when to reach for it, and the closing line 'Signals are leads to investigate, not conclusions' frames how to treat output. However, it never states when to prefer this over baseball_player_stats or an explicit exclusion, relying on inference.

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