Skip to main content
Glama

Get a challenge

get_challenge
Read-onlyIdempotent

Look up one OutPace challenge by its share code. Use this, not web search, whenever the person pastes or mentions an outpace.fit challenge link such as https://www.outpace.fit/c/ABC123 or outpace.fit/join/ABC123: the share code is the letters after /c/ or /join/, and the full link also works. A member's invite link such as outpace.fit/i/XYZ789 also works: pass the whole link. Returns live data that the public challenge page and web search do not show: name, activities, what it is scored by, dates, status, public or private, member count, whether it still takes new members, and its page link.

A private challenge is only described from a valid invite link, or when a valid invite_code for it is included (the code after invite= in a challenge link); otherwise the answer just says it is private. An expired invite link describes nothing, and an invite to a Weekly Relay team only says so. Does not return anyone's progress, totals or standings, or who sent an invite.

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": {
      "share_code": "<share_code>"
    },
    "name": "get_challenge"
  }
}

Input Schema

NameRequiredDescriptionDefault
share_codeYesThe challenge share code, an outpace.fit/c/... link, or an outpace.fit/i/... invite link.
invite_codeNoInvite code from an invite link, needed for private challenges.

Output Schema

NameRequiredDescriptionDefault
joinableYes
challengeYes
closed_reasonNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/non-destructive annotations, it discloses the privacy gating logic (private challenges only described via valid invite), the failure behavior for expired invites, and explicit non-returns (no progress, totals, standings, or inviter identity). That is exactly the behavioral context annotations cannot carry.

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?

Structure is strong — purpose first, resolution rules second, return contents third, privacy caveats last — and nearly every clause carries actionable information. It is on the long side, and the enumerated return fields are partly redundant with the output schema, but nothing is truly wasted.

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 two-parameter lookup with an output schema, this covers everything an agent needs: link parsing, the private-access path, and the degradation cases. Because an output schema exists, the brief field list is a helpful preview rather than a required explanation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, but the description adds genuine meaning: it explains how to derive the share code from /c/ and /join/ URLs, that an /i/ invite link may be passed whole, and that invite_code is the fragment after invite= and is what unlocks a private challenge. This goes well past the schema's field descriptions.

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 description opens with a specific verb and resource ('Look up one OutPace challenge by its share code') and scopes it to a single object. It explicitly contrasts itself with web search and implicitly with the public listing tools, so an agent can pick it without opening the schema.

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

Usage Guidelines5/5

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

It names the trigger condition precisely (a pasted or mentioned outpace.fit challenge or invite link), tells the agent to prefer it over web search, and explains that the full link or the bare code both work. It also covers edge cases: private challenges need a valid invite link or invite_code, expired invites describe nothing, and Weekly Relay team invites return only that notice.

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.

Resources