Skip to main content
Glama

Playing handicap

playing_handicap
Read-onlyIdempotent

Calculate the World Handicap System course handicap and playing handicap from a handicap index and the tees' slope, course rating and par, with the stroke indexes that get two strokes or none. Use it instead of doing the arithmetic: the tee figures come from get_course_info and the player's index from get_handicap. Pure calculation; reads and saves nothing.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "index": "<index>",
      "slope": "<slope>",
      "rating": "<rating>",
      "par": "<par>"
    },
    "name": "playing_handicap"
  }
}

Input Schema

NameRequiredDescriptionDefault
parYesPar of the course from those tees.
indexYesHandicap index, -10 to 54; a plus handicap is negative.
slopeYesSlope rating of the tees played, 55-155.
ratingYesCourse rating of the tees played.
allowanceNoHandicap allowance as a fraction, 0.1-1. Default 1; 0.95 for individual stroke play or stableford.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedInput schema / properties / allowance / description
      Added value: +"Handicap allowance as a fraction, 0.1-1. Default 1; 0.95 for individual stroke play or stableford."
    • addedInput schema / properties / index / description
      Added value: +"Handicap index, -10 to 54; a plus handicap is negative."
    • addedInput schema / properties / par / description
      Added value: +"Par of the course from those tees."
    • addedInput schema / properties / rating / description
      Added value: +"Course rating of the tees played."
    • addedInput schema / properties / slope / description
      Added value: +"Slope rating of the tees played, 55-155."
  2. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior; the description reinforces this with 'Pure calculation; reads and saves nothing,' which confirms no side effects or persistence. It also hints at the response content ('the stroke indexes that get two strokes or none'), which matters because there is no output schema, though that phrase is somewhat cryptic.

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 tight sentences, front-loaded with the calculation performed, then usage routing, then the side-effect disclaimer. The clause 'with the stroke indexes that get two strokes or none' is information-dense but awkwardly phrased and could be misread.

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?

For a pure calculator with no output schema, the description covers the returned values (course handicap, playing handicap, stroke-index allocation) and states that nothing is persisted. The omission of the allowance parameter's effect on the result is the main residual gap.

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 schema already documents all five parameters including the allowance default and the 0.95 stroke-play convention. The description restates index, slope, rating and par but adds no format or unit detail beyond the schema, and never mentions the optional allowance parameter. Baseline 3 is 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?

Names a specific verb and resource: 'Calculate the World Handicap System course handicap and playing handicap' from a defined input set (index, slope, rating, par). This clearly distinguishes it from sibling tools that merely retrieve data (get_handicap, get_course_info) or project/convert values (project_handicap, plays_like).

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?

'Use it instead of doing the arithmetic' is an explicit directive, and the description names the upstream sources for its inputs: tee figures from get_course_info, the player's index from get_handicap. It does not explicitly rule out siblings such as plays_like or project_handicap, so the boundary is inferable rather than stated.

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.