Skip to main content
Glama

running.services Race Search

Find upcoming running races

search_races
Read-only

Search public US race listings by name or city, state, distance, and date. Returns basic race details and links to running.services, sorted by date.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "search_races"
  }
}

Input Schema

NameRequiredDescriptionDefault
fromNoEarliest race date (YYYY-MM-DD)
limitNoMaximum results, default 10
queryNoRace name or city keyword
stateNoTwo-letter US state code
throughNoLatest race date (YYYY-MM-DD)
distanceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely new behavioral context: results are 'public US' listings only, they are sorted by date, and they include links to running.services — return-shape information that matters because there is no output schema.

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?

Two dense sentences: the first front-loads scope and filter facets, the second covers return value and sort order. There is no filler and nothing an agent must read past to find the core behavior.

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 no output schema, the description correctly compensates by describing the returned data and ordering, which is the biggest gap it could have left. It is slightly incomplete for a six-parameter, all-optional search: it doesn't state whether results default to upcoming/future races or how multiple filters interact.

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 83%, so the schema already documents every parameter including formats, the 2–80 char query bound, the 1–10 limit, and the distance enum. The description's phrase 'by name or city' merely restates what the query parameter already says, adding no new syntax, defaults, or combination rules.

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 names a specific verb and resource ('Search public US race listings') and enumerates the searchable facets (name, city, state, distance, date), so an agent can tell exactly what the tool retrieves. It stops short of 5 only because there are no sibling tools to differentiate against and no statement of what it does not cover.

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?

Usage is implied by the filter list: this is the tool for looking up races by keyword or location constraints. There is no explicit when-to-use statement, no mention of how the filters combine (AND vs. OR), and no guidance on what happens when all optional filters are omitted.

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.