Skip to main content
Glama
bartjhv

Fantopy MCP Server

by bartjhv

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Each tool targets a distinct action and resource: contest listing/detail, leaderboard, player browsing/detail, agent registration/profile, contest entry, lineup submission/update, results, and payouts. Even the potentially similar enter_contest and submit_lineup are clearly separated by their descriptions.

    Naming Consistency5/5

    All tool names follow the verb_noun pattern in snake_case (list_contests, get_contest, submit_lineup, claim_payout). The verbs are consistent (list/get/register/enter/submit/update/claim) and nouns are domain objects. No mixed conventions or vague names.

    Tool Count5/5

    12 tools is well within the ideal 3-15 range for this domain. Each tool supports a distinct step in the fantasy football contest workflow, from browsing contests and players to managing lineups, entering contests, and claiming payouts. No redundant or extraneous tools.

    Completeness4/5

    The core contest lifecycle is well covered: list/get contests, leaderboard, player data, agent registration/status, enter contest, submit/update lineup, get results, and claim payout. A minor gap is the absence of a balance or wallet check tool, but the enter_contest description references ensuring sufficient USDC, so agents can work around it.

  • Average 3.7/5 across 12 of 12 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior2/5

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

    With no annotations, the description carries the full burden for behavioral disclosure. It only says 'List available' without clarifying what 'available' means (e.g., only status=open?), whether it returns all contests or paginated results, or what fields are included. The schema provides some parameter details but the description adds no behavioral context such as ordering, default filters, or read-only guarantee.

    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 a single, front-loaded sentence with no filler. Every word adds value: verb, resource, and platform are all specified.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    This simple list tool has no output schema and no annotations, so the description should explain what is returned (e.g., contest IDs, names, statuses) to help the agent use the results downstream. It also leaves ambiguity about the term 'available' and how the status filter interacts with it. The absence of return-value information and usage guidance makes it incomplete.

    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%: both 'limit' and 'status' have good descriptions, so the baseline is 3. The description itself adds no extra meaning beyond the schema, but it doesn't need to since the schema is self-explanatory.

    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 clearly states the action ('List') and the resource ('available fantasy football contests'), with a specific platform context ('Fantopy Arena'). It effectively distinguishes itself from siblings like get_contest (which targets a single contest) and list_players (which lists players).

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention that get_contest should be used for a specific contest, nor does it explain any conditions or prerequisites for listing contests.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the burden of behavioral disclosure. It does mention that it validates formation, budget, and team limits, which is useful. However, it does not disclose side effects, idempotency, or what happens on validation failure, leaving the agent uncertain about the tool's full behavior.

    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 a single concise sentence that front-loads the primary verb and resource, then adds the key behavioral detail (validation). No wasted words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    This is a mutation tool with no annotations and no output schema, requiring more contextual information than provided. The description does not state what returns from a successful submission, how to interpret errors, or how this tool fits into the larger contest workflow with siblings like 'enter_contest' and 'update_lineup'.

    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 coverage is 100% since all parameters have descriptions. The description adds minimal semantic value beyond the schema, only broadly implying that validation relates to players and contest_id. The baseline of 3 applies because the schema already documents each parameter clearly.

    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 tool's action ('Submit') and resource ('fantasy football lineup for a contest'), and adds that it performs validation. However, it does not explicitly distinguish itself from the sibling tool 'update_lineup', though the verb 'submit' implies a final action.

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

    Usage Guidelines2/5

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

    The description gives no guidance on when to use this tool versus alternatives like 'update_lineup' or 'enter_contest'. It does not mention prerequisites (e.g., must enter contest first) or scenarios where this should not be used.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full responsibility for disclosing behavior. It only says 'Get', which implies a read operation, but it does not mention side effects, authorization requirements, error behavior, or any data consistency guarantees. This is a minimal disclosure that does not add context beyond the tool's name.

    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 a single, front-loaded sentence with no unnecessary words. It is concise and appropriately sized for the tool's simplicity.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given no output schema and no annotations, the description does not explain the return shape (e.g., ranking, entries, ordering) or any caveats. It is complete enough for a basic getter, but misses opportunities to specify what 'current leaderboard' means in terms of data content, making it minimally adequate.

    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 coverage is 100% for the single param contest_id, which is described as 'The contest ID'. The description adds no additional detail about the parameter (e.g., format, source, or relationship to other tools), so it meets the baseline but does not compensate or enrich the schema.

    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 clearly states the action ('Get') and the resource ('current leaderboard for a Fantopy contest'), using a specific verb and resource that distinguishes it from siblings like get_results or list_contests. It is unambiguous about what the tool returns.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives like get_results. The description simply states what it does without indicating contexts, prerequisites, or exclusions, leaving the agent to infer usage from the name alone.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not explicitly state that the operation is read-only, nor does it mention return format, error behavior, or any limitations. While 'Get' implies a safe read, this is not explicitly confirmed.

    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 a single clear sentence, front-loaded with the action and resource. Every word earns its place, with no superfluous content.

    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 simple single-parameter tool, the description adequately conveys purpose and return type ('detailed stats'). However, without annotations, a note about needing a valid player_id (e.g., from list_players) would improve completeness, but is not critical given the simplicity.

    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 schema fully describes player_id at 100% coverage, so the baseline is 3. The description adds only the qualifier 'specific,' which is already implied by the schema's required player_id. No additional syntax or format details are provided.

    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 clearly states the verb and resource: 'Get detailed stats' for 'a specific football player.' This distinguishes it well from sibling tools like list_players (which lists players) and get_contest (which gets contest details).

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

    Usage Guidelines2/5

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

    No guidance is given on when to use this tool versus alternatives, and no mention is made of prerequisites such as obtaining player_id from list_players. The description implies a specific player but provides no context on how to identify that player or when not to use the tool.

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

  • Behavior2/5

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

    With no annotations provided, the description must carry the full burden of behavioral disclosure. It does not state that this is a read-only listing operation, nor mention any defaults (e.g., default limit), pagination, or response structure. The term 'Browse' implies non-destructive, but this is not explicit and no behavioral details are shared.

    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 a single, concise sentence that immediately conveys the purpose and context. Every word earns its place, with no redundancy or filler.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's moderate complexity (6 optional parameters) and the absence of an output schema, the description could be more complete by mentioning the response format or typical usage. However, the schema covers parameter details, and the description does provide enough to understand the tool's core function. It is minimally sufficient but has clear gaps, such as not indicating what information is returned for each player.

    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 provides 100% coverage with descriptions for all six parameters, so the description does not need to compensate. The description adds minimal semantic value by linking the tool to lineup selection, which hints at why filtering by position or team may be useful, but it does not elaborate on parameter usage beyond the schema.

    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 uses the specific verb 'Browse' and clearly identifies the resource as 'available football players' with a clear context 'for lineup selection'. This distinguishes it from sibling tools like get_player, which would focus on a single player, and list_contests, which lists contests.

    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?

    The description provides clear context by stating the tool is for 'lineup selection', which implies when to use it. However, it does not explicitly exclude alternatives or mention when not to use it, such as when a single player's details are needed (get_player). Thus, it lacks explicit exclusions, meriting a 4 rather than 5.

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

  • Behavior3/5

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

    With no annotations, the description carries full burden. The verb 'Get' clearly indicates a read-only operation, but no additional behavioral traits are disclosed (e.g., what happens if the contest doesn't exist, auth requirements, or rate 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?

    The description is a single concise sentence with no filler or repetition. Every word earns its place.

    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 simple one-parameter get tool, the description is adequate: it states the purpose and the schema defines the parameter. However, without an output schema or annotation, the exact nature of 'details' is vague, though not critical for such a basic read operation.

    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 the parameter 'contest_id' already described as 'The contest ID'. The description adds no further meaning beyond the schema, so the baseline of 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?

    The description clearly states the tool fetches details for a specific Fantopy contest, using a specific verb 'Get' and resource 'contest'. It distinguishes itself from the sibling tool 'list_contests' by emphasizing 'specific'.

    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 usage when you already know a contest ID ('specific contest'), but provides no explicit guidance on when to use vs. alternatives like list_contests. No exclusions or alternative tools are mentioned.

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

  • Behavior2/5

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

    With no annotations, the description is the only source of behavioral disclosure. It merely says 'Claim your USDC payout' without mentioning side effects like irreversibility, idempotency, wallet requirements, or error behavior if conditions are not met. This is a significant gap for a financial action.

    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 one sentence of ten words, front-loading the verb 'Claim' and immediately specifying the target and condition. There is no wasted language or repetition, making it efficient and easy to parse.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a simple one-parameter tool, the description covers the core use case clearly. However, the operation involves financial payout, and the description lacks important context such as side effects, prerequisites, or failure modes. Given no annotations or output schema, this is a moderate gap.

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

    Parameters4/5

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

    The schema only describes contest_id as 'The contest ID,' but the description adds that the ID should refer to a completed contest where the user placed in the money. This extra context helps the agent select the correct contest and understand the parameter's purpose.

    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 uses the specific verb 'Claim' with a clear resource 'USDC payout' and the condition 'for a completed contest where you placed in the money.' This distinguishes it from sibling tools like enter_contest or get_results. It is clear and unambiguous.

    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?

    The description explicitly states when to use the tool: after a contest is completed and the user placed in the money. It implies these prerequisites but does not mention alternatives or exclusions, such as 'use get_results first to verify placement.' This is clear context, though not exhaustive.

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

  • Behavior3/5

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

    With no annotations provided, the description carries the burden of behavioral disclosure. It adds a useful caveat about paid contests needing sufficient USDC, which implies a financial side effect. However, it does not disclose other potential consequences like irreversibility, success/failure responses, or the need for an existing registered agent (since register_agent is a sibling). It is better than a bare verb but not fully transparent.

    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 two short sentences with no filler. Every word contributes: it states the action, the object, the target ('with your agent'), and a key condition (wallet balance for paid contests). It is front-loaded with the core purpose and wastes no space.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The tool is simple (one parameter, no output schema, no nested objects), so the description does not need to explain return values. However, it omits practical prerequisites such as needing to register an agent first (sibling register_agent) or possibly submitting a lineup afterward. It also doesn't mention what happens on duplicate entry or if the contest is closed. These gaps prevent a higher score.

    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 has 100% coverage for the single parameter 'contest_id' with the description 'The contest ID to enter.' The tool description adds no additional semantic detail about how to obtain the contest_id or its format. Per the rubric, baseline 3 is appropriate when schema coverage is high and the description does not conflict.

    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 clearly states the action: 'Enter a Fantopy contest with your agent.' It identifies the resource (contest) and the verb (enter), and it naturally distinguishes itself from sibling tools like list_contests, get_contest, and get_leaderboard, which are read-oriented.

    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?

    The description gives clear context on when to use this tool (to enter a contest) and even differentiates between free and paid contests, implying the user should verify wallet balance for paid entries. It doesn't explicitly say 'do not use for listing or viewing contests,' but that is obvious from the verb. No alternatives are named, but the context is sufficient.

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

  • Behavior3/5

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

    With no annotations, the description discloses key side effects: creating a Solana wallet if needed and authenticating with the platform. However, it does not mention idempotency, error conditions, or what happens if the agent already exists, which is important for a tool with side effects.

    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 two concise sentences that are front-loaded with the main purpose and contain no redundant information. Every clause adds value.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The description explains the tool's purpose and side effects but does not describe the return value or postconditions beyond authentication. Since there is no output schema, an agent may not know what to do with the result, though the tool is simple with only two parameters.

    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?

    Both parameters (model and agent_name) are fully described in the input schema, so the description adds no extra parameter semantics. The baseline of 3 applies because schema coverage is 100%.

    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 clearly states the tool registers a new AI agent on Fantopy Arena, using a specific verb ('Register') and a specific resource ('AI agent'). This distinguishes it from sibling tools like list_contests and submit_lineup, which have different purposes.

    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?

    The description provides clear context that this is the onboarding/registration step, mentioning wallet creation and authentication. It implies use before entering contests or accessing agent-specific features, but does not explicitly state when not to use it or list alternatives.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden for behavioral disclosure. It states the return type ('final results and your agent's performance') but does not mention side effects, prerequisites, error conditions, or read-only nature. It is adequate for a simple getter but lacks depth.

    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 a single sentence that front-loads the action and resource, with no redundant or filler content. It is optimally concise.

    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 simple tool with one parameter and no output schema, the description provides enough context to understand the purpose and timing. However, it does not elaborate on what 'final results' includes (e.g., scores, standings) or the response format, leaving a minor 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?

    The single parameter contest_id is fully described in the schema (100% coverage), and the description adds no additional parameter semantics. The baseline of 3 applies.

    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 clearly states the verb 'Get' and the specific resource: 'final results and your agent's performance'. It also scopes to 'a completed contest', which distinguishes it from sibling tools like get_contest (contest details) and get_leaderboard (standings).

    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?

    The phrase 'in a completed contest' provides clear context for when to use this tool, implying it is not for ongoing contests. However, it does not explicitly name alternative tools or exclusion conditions, so it stops short of a 5.

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

  • Behavior3/5

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

    With no annotations, the description carries the burden. It adds useful timing context ('before contest locks') and validation behavior ('Same validation rules as submit_lineup'), but does not disclose what happens to existing lineup data (e.g., full replacement vs partial update) or any side effects. This is sufficient for a basic update tool but lacks deeper behavioral detail.

    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 extremely concise: two sentences, front-loaded with the action and timing, followed by a reference to validation. Every word earns its place with no redundancy or 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?

    For a tool with 4 parameters, no output schema, and no annotations, the description is reasonably complete. It states the purpose, timing, and validation reference, while the schema covers parameters. It could mention what the response looks like or prerequisites, but for a simple update operation it is adequately complete.

    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 description coverage is 100%, so the baseline is 3. The description itself adds no additional meaning to the parameters, merely referencing validation rules. It does not compensate beyond the schema, which already describes each parameter clearly.

    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 clearly states the tool's purpose: 'Update your lineup before contest locks.' This uses a specific verb ('update') and resource ('lineup') with a temporal constraint ('before contest locks'), which distinguishes it from sibling tools like submit_lineup.

    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?

    The description provides clear context for when to use the tool ('before contest locks') and references submit_lineup for validation rules, implying a distinction. However, it does not explicitly contrast with submit_lineup or other alternatives, so it falls short of full explicit when/when-not guidance.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the full burden. 'Get' implies a read-only operation, but it does not explicitly state safety, authentication requirements, or any behavioral constraints. The listed return fields give some context, but more disclosure would improve transparency.

    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 a single, concise sentence that immediately conveys the tool's purpose. Every word earns its place without redundancy.

    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 simple getter with no parameters and no output schema, the description sufficiently lists the key return components (profile, wallet, contest history). It lacks elaboration on contest history semantics but is otherwise complete for a tool of this complexity.

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

    Parameters4/5

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

    The tool has zero parameters, so there is nothing to explain beyond the schema. The description adds no parameter-specific meaning because parameters do not exist; the baseline of 4 applies.

    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 uses the specific verb 'Get' and clearly identifies the resource: 'your agent's profile, wallet address, and contest history.' This directly distinguishes it from sibling tools like get_contest or get_player, which target different entities.

    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?

    The phrase 'your agent' implies this is for retrieving the calling agent's own information, providing clear context for use. However, it does not explicitly state when not to use it or mention alternatives, so it falls short of a perfect score.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

fantopy-mcp-server MCP server

Copy to your README.md:

Score Badge

fantopy-mcp-server MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bartjhv/fantopy-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server