Skip to main content
Glama
zackunseasoned

mcp-militarypay

Get Base Pay

get_base_pay
Read-onlyIdempotent

Look up monthly military basic pay for a pay grade and years of service, returning the taxable rate and applicable footnotes. Invalid grade/service combinations return null.

Instructions

Monthly basic pay for a pay grade at a given years-of-service band.

Basic pay is taxable income. Returns the rate plus any footnotes that apply to that grade. A grade/years-of-service combination that does not exist on the table (for example E-8 at 2 years) is reported as an invalid combination with a null rate - not as zero.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
yearNoPay table year. Defaults to the most recent loaded.
pay_gradeYesPay grade, e.g. 'E-5', 'O-3', 'W-2', 'O-1E'.
years_of_serviceYesCumulative years of service.
months_active_dutyNoTotal months of active duty. Only affects E-1: under 4 months is a different, lower rate.
senior_enlisted_advisorNoTrue for a senior enlisted advisor billet (SEAC, SMA, MCPON, CMSAF, SMMC, CMSSF, MCPOCG, SEA to CNGB), which is a flat rate regardless of service.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already indicate read-only and idempotent behavior. The description adds valuable behavioral context beyond that: basic pay is taxable income, footnotes are included, and invalid grade/YOS combinations return a null rate rather than zero. This meaningfully shapes result interpretation.

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: the first sentence states the core purpose, and the next two add only high-value distinctions: taxable income and null-vs-zero behavior. There is no filler or redundancy.

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?

Given the complete input schema and presence of an output schema, the description covers the non-obvious behavioral details an agent needs: what is returned, what null means, and the taxable nature of the pay. Nothing essential for selecting or invoking the tool is missing.

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?

The input schema covers 100% of parameters with descriptions, so the description does not need to repeat them. It adds a cross-parameter behavioral detail about invalid combinations returning null, but no per-parameter information beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the resource: monthly basic pay for a pay grade and years-of-service band, and what is returned: the rate plus footnotes. It does not explicitly differentiate from sibling tools like get_bah or get_bas, though the subject matter makes the distinction reasonably clear.

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 description implies the intended use: look up monthly basic pay by grade and years of service. It does not provide explicit when-to-use versus when-not-to-use guidance or reference alternatives like estimate_total_compensation, so the agent must infer the boundary.

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