Skip to main content
Glama
Codex-Data

Codex MCP Server

Official
by Codex-Data

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools have distinct purposes (token info, holders, prices, networks, etc.), but a few are closely related and could be confused, such as get_token_pairs vs get_token_pairs_with_metadata, and get_detailed_pair_stats vs get_detailed_pairs_stats vs get_pair_metadata. Descriptions are clear enough to disambiguate with careful reading.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun snake_case pattern, primarily using get_ or filter_. This makes the API predictable and easy to navigate.

    Tool Count4/5

    25 tools is at the upper end of the acceptable range, but the server covers a broad domain (tokens, pairs, networks, liquidity, events, exchanges) and each tool appears to serve a specific analytical need. The count feels appropriate for a comprehensive blockchain data API.

    Completeness5/5

    The tool set provides comprehensive read-only coverage for the domain: token metadata, prices, holders, pairs, liquidity, events, network status, and exchange filtering. There are no obvious missing operations for a data-focused MCP server.

  • Average 3.1/5 across 25 of 25 tools scored. Lowest: 2.2/5.

    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
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under ISC License.

  • 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

  • Behavior1/5

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

    With no annotations, the description carries full responsibility for behavioral disclosure, but it says nothing about read-only safety, filter combination logic, default sorting, pagination, or result format. The single sentence provides zero insight into how the tool behaves.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness3/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single short sentence, which is concise, but the phrase 'various criteria' is filler that adds no value over the tool name. It is not effectively front-loaded because it omits any concrete detail that would help an agent understand the tool quickly.

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

    Completeness1/5

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

    This tool has a complex schema with 8 parameters, nested objects, and no output schema or annotations. The description is completely inadequate—it does not explain how filters and rankings interact, what the response looks like, or any usage semantics. It is far below the minimum viable 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.

    Parameters3/5

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

    Schema description coverage is 100%, so the input schema already documents every parameter (limit, offset, phrase, tokens, filters, rankings, statsType, excludeTokens) with descriptions. The tool description adds no additional parameter meaning, 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.

    Purpose3/5

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

    The description states the action ('Filter') and the resource ('tokens'), but 'by various criteria' is vague and does not specify what the tool actually returns or how it differs from sibling tools like get_tokens or get_latest_tokens. It lacks the field-level specificity seen in better descriptions.

    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. The description does not mention use cases, exclusions, or comparisons to related tools such as filter_pairs or get_tokens.

    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 carries the full burden, but it only states a simple fetch operation. It does not disclose important behaviors like filter support, pagination via cursor, sorting with direction, or that a token address will resolve to the top pair. This under-disclosure leaves the agent unaware of key behavioral nuances.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness2/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is extremely short, which might seem concise, but it is under-specification rather than effective brevity. It misses the opportunity to front-load key details such as filtering options or pagination, making it insufficiently informative for a complex tool.

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

    Completeness1/5

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

    This tool has a complex nested query schema, no output schema, and no annotations. The one-line description is far too thin to provide a complete picture of the tool's capabilities, filters, or return behavior. It is inadequate for proper selection and invocation.

    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 baseline is 3. The description adds no parameter-level detail on top of the schema, but it does not need to since the schema is self-explanatory. The description's mention of 'a token pair' aligns with the 'address' parameter but provides no extra value.

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

    Purpose3/5

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

    The description uses a specific verb ('Get') and identifies a resource ('transactions for a token pair'), but it is vague and does not differentiate from sibling tools like get_token_events_for_maker. The term 'transactions' also slightly conflicts with the tool name's 'events', adding ambiguity.

    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 such as get_token_events_for_maker or get_detailed_pair_stats. The description implies usage through 'for a token pair' but gives no explicit context or exclusions.

    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 present, so the description is the only source of behavioral disclosure. It implies a read-only operation but does not state whether networkId is required, what happens for invalid addresses, or what fields are returned. For a tool that returns 'detailed information', this is a significant gap.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness2/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is only one sentence, but it essentially restates the tool name without providing additional context. It is not front-loaded with useful decision-making information, so it doesn't earn its place.

    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?

    With no output schema and no behavioral annotations, the description should clarify what 'detailed information' includes (e.g., symbol, decimals, supply) and any caveats. The presence of many sibling tools for specific data makes this omission particularly problematic.

    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 already fully documents both parameters (address and networkId) with clear descriptions and required flags, so schema coverage is 100%. The description adds no additional parameter semantics beyond implying 'specific token'.

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

    Purpose3/5

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

    The description says 'Get' + 'specific token', which clearly indicates a single-token lookup. However, 'detailed information' is vague—among many sibling tools for prices, balances, holders, etc., it does not specify which aspects of the token are returned. This lacks the specificity needed to differentiate it from get_token_prices or get_token_balances.

    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 the many sibling tools. There is no mention of what type of information is included or excluded, so the agent cannot decide between this and get_token_prices, get_token_balances, or other token-specific tools.

    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 the full burden of behavioral disclosure. It only states the basic function and does not mention side effects, pagination, sorting defaults, required permissions, or return format. For a tool with nested filters and rankings, this is insufficient.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness3/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single sentence and is easy to parse, but it is under-specified. It front-loads the action but leaves out critical details that would be expected given the tool's complexity, making it too terse to be fully effective.

    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?

    The tool has a complex schema with nested objects and no output schema, but the description does not explain the filter structure, available attributes, sorting options, or the statsType parameter. This makes the tool difficult to use correctly without additional documentation.

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

    Parameters2/5

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

    Schema description coverage is 43%, and the description lists only a few example filter fields (volume, price, liquidity) without explaining how to structure the filters object, what rankings does, or the meaning of statsType. This adds minimal meaning beyond the schema's existing descriptions.

    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 retrieves a list of pairs with filtering by volume, price, liquidity, etc. It uses a specific verb ('Get') and resource ('pairs'), and the examples of filter criteria differentiate it from generic pair retrieval tools like get_token_pairs, though the distinction is not explicit.

    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 such as filter_tokens or get_token_pairs. There are no exclusions or context clues beyond the basic function, leaving the agent without actionable selection criteria.

    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 carries the full burden of behavioral disclosure. It only states the operation returns bucketed stats but does not disclose that it requires a tokenOfInterest selection, describe the return structure or pagination, or mention access constraints or rate limits. This is insufficient for a 7-parameter tool.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness3/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise at one sentence, but it is under-specified rather than efficiently structured. It lacks any guidance about parameters or use cases, so it does not provide value beyond a minimal statement of purpose.

    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?

    Given the tool's complexity (7 parameters, no output schema, no annotations), the description is far from complete. It does not explain what 'bucketed stats' means, what the response contains, how the parameters relate, or when to use it—leaving substantial gaps for an operation that likely returns complex data.

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

    Parameters2/5

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

    Schema coverage is 71% (5 of 7 parameters have descriptions), but the description adds no parameter semantics. Notably, 'timestamp' and 'tokenOfInterest' are undefined, and the description does not explain that 'tokenOfInterest' is required to identify which token's stats are returned, or how 'bucketCount' and 'duration' interact. The description fails to compensate for these gaps.

    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 uses 'Get' as a verb and clearly specifies the resource ('bucketed stats') and scope ('for a given token within a pair'). However, it does not differentiate from the sibling 'get_detailed_pairs_stats' (plural) or specify what stats are included, which limits distinctiveness.

    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 usage guidance is provided. The description does not mention when to use this tool versus alternatives like 'get_pair_metadata' or 'get_token_chart_data', nor any conditions, prerequisites, or exclusions.

    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 the full burden of behavioral disclosure. While 'get' implies a read-only operation, the description does not elaborate on what 'detailed information' includes, potential response size, rate limits, or error behavior, so it offers minimal transparency beyond the verb.

    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?

    The description is one short sentence with no unnecessary words, earning a high score for efficiency. However, it is under-specified, missing usage and parameter context, so it is concise but not maximally informative.

    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?

    Given the tool has a single parameter, no output schema, and no annotations, the description should explain what 'detailed information' returns and how to construct the ID array. It does neither, and also lacks usage guidance, so the description is incomplete 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.

    Parameters2/5

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

    Schema description coverage is 0%, and the tool description does not compensate by explaining how to specify token identifiers. The only hint is 'multiple tokens', which vaguely ties to the 'ids' parameter. The schema does include descriptions for nested fields (networkId, address), but the tool description adds no extra meaning, leaving parameter semantics under-explained for an agent.

    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 'Get detailed information about multiple tokens' uses a specific verb ('get') and resource ('tokens'), and the word 'multiple' differentiates it from the singular sibling get_token_info. However, it does not explicitly state the difference from other token-related siblings, so it is clear but not fully distinguishing.

    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 siblings like get_token_info or filter_tokens. It does not mention any exclusions, prerequisites, or alternative scenarios, leaving the agent to infer usage from the name.

    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 carries the full burden, but it only restates the tool's purpose ('get metadata and statistics') without disclosing any behavioral traits such as return format, read-only guarantee, error scenarios, or rate limits. This is a minimal, non-informative statement.

    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 is front-loaded and free of unnecessary words. It effectively states the core function without waste.

    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?

    Given the absence of an output schema and annotations, the description is too vague. 'Metadata and statistics' does not specify what data is returned, and it fails to clarify how this tool differs from the closely related get_network_status. More context is needed for completeness.

    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 already fully describes the only parameter networkId with a clear description. The tool description adds no additional parameter semantics, so a baseline score of 3 is appropriate.

    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 gets metadata and statistics for a network, using a specific verb and resource. However, it does not differentiate from the sibling tool get_network_status, which likely covers similar network data, so it loses the top score.

    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_network_status or get_networks. There is no mention of contextual use cases or exclusions.

    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. 'Get' implies read-only, but there is no disclosure about response format, authentication requirements, potential errors, or network-specific behavior. This is a minimal safety signal at best.

    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?

    The description is a single concise sentence, easy to parse. However, it is so brief that it misses opportunities to add helpful context, so it earns a 4 rather than 5.

    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 is minimally adequate, but it lacks an explanation of what 'status' includes and does not reference the related get_networks tool for obtaining a networkId. With no output schema or annotations, it leaves key context unexplained.

    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 sole parameter networkId, which has its own description. The tool description adds no additional meaning beyond the schema, so the baseline of 3 applies.

    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 verb 'Get' and the resource 'status of a specific blockchain network'. It distinguishes from siblings like get_networks (list) and get_network_stats by focusing on status and specificity, though 'status' itself is somewhat ambiguous.

    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 on when to use this tool versus alternatives. No mention of requiring a networkId from get_networks or how it differs from get_network_stats. The agent is left without context for tool selection.

    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 carries full responsibility for behavioral disclosure. It does not mention return format, resolution behavior, or any constraints. The description is purely functional with no additional behavioral context.

    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?

    The description is concise and front-loaded with the core purpose. It avoids filler but may be too terse given the tool's complexity, though it earns credit for not repeating schema information.

    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?

    Given the tool's complexity (12 params, no output schema), the description is grossly incomplete. It doesn't explain what 'bar chart data' specifically contains, how resolutions work, or what the response looks like. Sibling tools don't fill this 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 50%, so some parameters have descriptions. The description adds meaning to the 'address' parameter by noting it can be a pair or token address, but it does not clarify other parameters like countback, statsType, or currencyCode. Since coverage is not below 50%, the baseline is acceptable but the description adds minimal value.

    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 it 'Returns bar chart data to track token price changes over time,' with a specific verb and resource. It also distinguishes itself from siblings by mentioning bar chart data and dual query options (pair or token address), though it doesn't explicitly name alternatives.

    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 on when to use this tool versus alternatives like get_token_prices or get_token_sparklines. It only explains how to query (pair or token address) but not the context for choosing it over sibling tools.

    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 carries full burden for behavioral disclosure. It reveals the plan restriction, but does not clarify whether the tool returns image URLs, or any other runtime behavior (e.g., response format, potential errors, authentication needs).

    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?

    Single sentence conveys purpose and a key constraint without redundancy. Every word earns its place; it's appropriately sized for what it needs to say.

    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?

    Given no output schema and no annotations, the description is too minimal. It doesn't describe what the actual returned chart URLs look like, pagination/limits, or whether images are embedded or linked. For a tool returning chart URLs, this lacks essential completion.

    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?

    Input schema covers all 3 parameters with descriptions (100% coverage), so the description doesn't need to add parameter details. However, it adds no extra nuance about how parameters relate to the chart images; the schema already explains networkId, pairAddress, and quoteToken sufficiently.

    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 states 'Chart images for token pairs' with a specific verb ('get' implied) and resource, and adds plan restriction. It's clear enough to distinguish from sibling 'get_token_chart_data' (data vs images), though it doesn't explicitly say 'returns URLs' which the tool name implies.

    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 on when to use this tool versus alternatives like get_token_chart_data or get_token_sparklines. The only contextual hint is the plan restriction, which is a limitation, not a usage recommendation.

    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 must carry the full burden of behavioral disclosure. It states it 'gets' data, implying a read operation, but does not disclose whether the return is a single aggregate percentage or a list, how missing data is handled, or any other behavioral traits.

    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 with no redundant words. It is front-loaded and every word earns its place, making it highly concise.

    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?

    The tool is simple with only two parameters and no output schema, so the description must clarify the return value. The phrase 'the percentage' is ambiguous—whether it is a single number or an array of percentages is unclear. The description is too minimal to be considered complete for an agent to use reliably.

    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 parameters are already fully documented in the schema. The description adds no additional meaning to address and networkId, but the baseline of 3 is appropriate since the schema does the heavy lifting.

    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 'Get the percentage of tokens held by top 10 holders' clearly states the tool's function with a specific verb and resource. It distinguishes itself from sibling tools like 'get_token_holders' by focusing on the percentage, though it doesn't explicitly call out the alternative.

    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 like 'get_token_holders'. The description simply states what it does, leaving the agent to infer the use case without explicit context or exclusions.

    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 the full burden of behavioral disclosure. It states that the tool gets bucketed stats but does not disclose query limits, output format, or the snapshot behavior of the last bucket (which is only in the schema's bucketCount description). The description adds minimal context beyond what the tool name and schema already convey.

    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?

    The description is a single, front-loaded sentence with no filler or redundancy. It is appropriately sized for a simple getter tool, though it could incorporate more detail without becoming verbose.

    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?

    Given the absence of an output schema and annotations, the description should explain the return structure and any limitations. It does not clarify what 'bucketed stats' includes, how many pairs can be processed, or how buckets are arranged. These gaps make the description incomplete for reliable tool selection and invocation.

    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% description coverage for all four parameters, so the baseline is 3. The tool description adds no parameter-specific semantics beyond the phrase 'within a list of pairs', which only hints at the pairAddresses parameter. It doesn't provide additional context about duration, networkId, or bucketCount.

    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 uses a specific verb 'Get' and clearly identifies the resource as 'bucketed stats' scoped to 'a given token within a list of pairs'. This differentiates it from the sibling 'get_detailed_pair_stats' which targets a single pair. However, the mention of 'a given token' is confusing since the schema has no token parameter, only pairAddresses.

    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?

    No explicit guidance is provided for when to use this tool versus alternatives. The plural 'pairs' and the sibling naming imply it is for multi-pair queries, but without explicit exclusions or alternatives, usage is only implied rather than clearly instructed.

    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. It mentions what data is returned ('price, volume, and liquidity stats') but does not disclose whether this is a read-only operation, any authentication requirements, rate limits, or how the parameters 'statsType' and 'quoteToken' affect behavior. Without this context, the agent cannot anticipate side effects or failure modes.

    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 efficiently states the action and included data. It is front-loaded with the verb 'Get' and contains no filler or redundant phrases, making it easily parseable.

    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 absence of an output schema and annotations, the description must compensate by explaining return structure and behavior. It covers the core purpose and data categories but leaves 'various timeframes' vague and does not clarify how 'statsType' or 'quoteToken' influence results. It is adequate for basic understanding but insufficient for nuanced decisions.

    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% description coverage for all parameters, establishing a baseline of 3. The description adds some context by mentioning 'price, volume, and liquidity stats', which helps infer the role of 'statsType', but it does not elaborate on 'quoteToken' or the exact meaning of 'various timeframes' beyond what the schema already states.

    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 ('Get metadata for a pair of tokens') and lists the included data types (price, volume, liquidity stats). It is specific and uses a distinct verb, but it does not differentiate from the sibling tool 'get_detailed_pair_stats', which likely overlaps in functionality.

    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 like 'get_detailed_pair_stats' or 'get_token_pairs_with_metadata'. It lacks any context such as typical use cases, prerequisites, or exclusions, leaving the agent to guess based on 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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Get a list' without mentioning pagination defaults (limit/offset), how filters interact, whether results are sorted, or any side effects. Minimal transparency for a tool with a nested filter object.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness3/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, front-loaded sentence that is not verbose, but it is too generic for a tool with such a rich schema. It lacks structured enumeration of key capabilities, making it less useful despite being concise.

    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?

    Given the absence of an output schema and the complexity of nested filters/rankings, the description should explain return formats, default pagination, or filter semantics. It does not, leaving the agent to infer critical operational details from the schema alone, which is insufficient.

    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 covers 80% of parameters with descriptions, and the description adds examples of filter types (volume, transactions, active users) but does not explain specific parameter mechanics beyond what the schema provides. This matches the baseline for high schema coverage.

    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 retrieves a list of exchanges with filtering capabilities, specifying resource ('exchanges') and purpose ('based on various filters'). This distinguishes it from sibling filtering tools like filter_tokens and filter_pairs.

    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 use for filtering exchanges based on metrics, but does not explicitly state when to prefer this tool over alternatives, nor does it mention any exclusions or prerequisites. It provides no comparison with sibling filter tools.

    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?

    There are no annotations, so the description carries the full burden of behavioral disclosure. It mentions the plan restriction, which is useful, but fails to disclose read-only nature, return format, pagination behavior (despite a cursor parameter), or potential edge cases. The tool could be a read operation, but nothing in the description confirms that, leaving the agent uncertain about safety and 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 a single sentence, highly concise, and front-loads the core function. There is zero waste or redundancy. It earns its place by stating the action and the plan restriction.

    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?

    The tool has 5 parameters, no output schema, and no annotations, yet the description provides minimal context. It does not explain return values, pagination (cursor), filtering (filterToken), or the includeNative option. The plan restriction is the only additional context. For a tool of this complexity, the description is incomplete and leaves too much for the agent to infer.

    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%, so every parameter (cursor, networkId, filterToken, includeNative, walletAddress) already has a description. The tool description itself adds no additional parameter-level semantics beyond what the schema provides. Per the baseline for high schema coverage, a score 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's function: 'Get token balances for a wallet'. It uses a specific verb and resource, making it distinguishable from siblings like get_token_info (which presumably retrieves token metadata) and get_tokens (which likely lists tokens). The plan restriction is an additional clarifying detail.

    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 only mentions the plan restriction ('Codex Growth and Enterprise Plans only'), which is a conditional usage requirement, but does not explain scenarios, exclusions, or how it relates to sibling tools like get_token_holders or filter_tokens. No explicit when-to-use or when-not-to-use advice is given.

    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 disclosing behavior. It only states 'Get a list of token events' without mentioning pagination, sorting, filtering, or that the operation is read-only. It also doesn't describe the response format or any side effects. This leaves significant behavioral aspects undisclosed.

    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, focused sentence: 'Get a list of token events for a given wallet address'. It is front-loaded, contains no filler, and every word contributes to the core meaning. This is a model of conciseness.

    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?

    The tool has 4 parameters, nested objects, no output schema, and no annotations. The description provides no information about return values, limit behavior, sorting, or the structure of the token events. Given the complexity, the description is too minimal to be fully complete; it only states the primary purpose without covering necessary usage context.

    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 all parameters with descriptions (100% coverage), so the baseline is 3. The tool description adds no additional parameter context. However, the nested 'query' object and its fields are already well-documented in the schema, so no significant gap exists.

    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 function: 'Get a list of token events for a given wallet address'. It uses a specific verb ('Get'), names the resource ('token events'), and scopes it to a wallet address. This distinguishes it from the sibling tool 'get_token_events' which is more general, making the purpose unambiguous.

    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. The description does not mention 'use this when you need events for a specific wallet' or exclude cases where the sibling 'get_token_events' would be more appropriate. The tool name implies the usage, but the description provides no explicit context or exclusions.

    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 carries the transparency burden, but it only states that prices are real-time or historical. It does not disclose how the tool selects the mode, what the response looks like, or any constraints/limitations (e.g., batch size, network requirements).

    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?

    Single sentence, 12 words, immediately front-loads the action and scope. No filler or redundant information.

    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?

    The description is too sparse for a nested input with optional timestamp and poolAddress, and there is no output schema to clarify the return structure. It covers only high-level functionality, leaving the agent to infer important usage details from the schema and sibling names.

    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 description adds the meaning that the array input is a list of tokens and that historical pricing is possible, which hints at the optional timestamp field. However, it does not explain that each token requires networkId and address, nor how poolAddress affects results. With 0% schema coverage for the top-level `inputs`, this is only partial compensation.

    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 a specific verb ('Get') and resource ('token prices'), and clearly scopes results to 'real-time or historical' and 'a list of tokens'. This distinguishes it from sibling tools like get_token_info or get_token_chart_data.

    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?

    There is no explicit guidance on when to choose this tool over siblings such as get_token_pairs or get_token_chart_data. No alternatives, prerequisites, or exclusions 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?

    No annotations are provided, so the description must carry the behavioral disclosure burden. It only states the action ('Get a list') and does not disclose return format, data granularity, time range, or any other behavioral traits beyond the basic read operation.

    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 directly states the tool's purpose with no unnecessary words or repetition.

    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?

    There is no output schema, so the description should explain return values, but it does not. It lacks details on what the sparkline data contains (e.g., time intervals, number of points, historical range), making the tool under-specified for a consumer.

    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 clear descriptions for both 'addresses' and 'networkId'. The description adds no additional parameter semantics, so baseline 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 uses a specific verb ('Get') and resource ('token simple chart data (sparklines)') scoped to 'the given tokens'. It clearly differentiates from siblings like get_token_chart_data and get_token_chart_urls by using the term 'sparklines'.

    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. The description does not mention related tools like get_token_chart_data or get_token_chart_urls, nor any exclusions or prerequisites.

    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?

    There are no annotations, so the description carries the full burden. It does add useful content disclosure by noting that both unlocked and locked liquidity data are returned, but it does not explain what 'liquidity metadata' concretely includes (e.g., amounts, time locks, formats) or any other behavioral traits like network-specific behavior or potential errors.

    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, efficient sentence that states the core purpose and a key detail in under 10 words. No filler or redundant phrases.

    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?

    With no output schema and no annotations, the description should offer more context about what 'unlocked and locked liquidity data' means in practice. The current text is adequate but vague, leaving the agent uncertain about the exact return shape. Given the low complexity (2 params), this is acceptable but not 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?

    Schema description coverage is 100%, with both 'address' and 'networkId' having clear descriptions. The tool description itself adds no extra meaning to the parameters, so the baseline of 3 applies.

    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 specifies a clear verb ('Get') and resource ('liquidity metadata for a pair'), and adds the scope 'including both unlocked and locked liquidity data,' which helps distinguish it from sibling tools like get_liquidity_locks. However, it does not explicitly name alternatives or differentiate itself beyond that scope, so it stops short of a 5.

    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 such as get_pair_metadata or get_liquidity_locks. It implies usage for a specific pair, but there are no explicit exclusions, prerequisites, or alternative tool references.

    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. It mentions 'list' which implies a read operation, but it does not disclose pagination behavior, ordering, whether the list is limited to active pairs, or any other runtime behavior. The agent is left without context on response size or potential failure modes.

    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, highly concise and front-loaded. It conveys the essential purpose without waste, meeting the conciseness benchmark perfectly.

    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 list tool with a well-described schema, this is barely adequate. However, the sibling get_token_pairs_with_metadata suggests a more detailed alternative exists, and the description does not clarify when the simpler version is sufficient. It also omits any note about return format or limits, which are not in an output schema.

    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% description coverage for all three parameters, including types and defaults. The tool description adds no extra semantics beyond the schema, so the baseline score of 3 applies here.

    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 'Get a list of pairs for a token' clearly states a specific verb ('Get') and resource ('pairs for a token'). It is unambiguous and lets the agent know exactly what the tool returns, even without reading sibling names.

    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?

    There is no guidance on when to use this tool versus alternatives like get_token_pairs_with_metadata or filter_pairs. The description implies usage when you have a token address, but it does not exclude cases where richer metadata is needed or provide any decision criteria.

    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 indicates a read operation via 'Get' but nothing about the returned metadata structure, potential size limits, or any caveats. It adds little beyond what the tool name already implies.

    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, focused sentence with no filler. It is front-loaded with the action and resource, making it easy to parse quickly.

    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 simplicity and complete schema, the description is minimally adequate. However, without an output schema or mention of return format/metadata composition, an agent cannot fully predict the response shape.

    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 fully documents all three parameters. The description adds no parameter-specific meaning, which is acceptable but does not improve on the baseline.

    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 a specific verb ('Get'), specifies the resource ('pairs with metadata'), and scopes it to 'a specific token'. This clearly distinguishes it from sibling tools like get_token_pairs (which likely lacks metadata) and get_pair_metadata (which is for a single pair).

    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 its use case (obtaining pairs and their metadata for a token) but gives no explicit guidance on when to use it over alternatives. No mention of when not to use it or better-suited siblings, leaving some ambiguity for the agent.

    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 must disclose behavioral details. It states the tool returns all networks but does not mention authentication, rate limits, read-only status, or other side effects. The description adds minimal behavioral context beyond the obvious.

    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 that directly conveys the action and scope. It uses no unnecessary words or redundant structure, making it highly concise and easy to parse.

    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 zero-parameter, list-all tool, the description adequately conveys the primary output. However, since there is no output schema, it could provide more detail about the returned format (e.g., network names, IDs) or any pagination. The description is almost complete but leaves minor room for clarification.

    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 accepts zero parameters and the schema is empty, so there are no parameter semantics to explain. The description's mention of 'all' networks clarifies the scope and the lack of filtering, which is sufficient. Baseline 4 for zero parameters 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's purpose: 'Get a list of all blockchain networks supported by Codex.' It uses a specific verb ('Get') and resource ('all blockchain networks'), and it distinguishes itself from sibling tools like get_network_status and get_network_stats, which focus on individual network data.

    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 tool is used when a full list of supported networks is needed, but it does not explicitly mention alternatives or when not to use it. While sibling tools exist for network-specific metrics, there is no direct guidance on preferring this tool over others.

    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 must carry the transparency burden. It discloses that results are ordered by holdings descending and mentions the plan limitation, but it omits other behaviors like pagination via cursor, default sort behavior, and the fact that the sort parameter can change ordering. It also does not explain the format of the returned list or the unique count. The description is not misleading, but it is incomplete for a tool with no annotations.

    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 (plus a parenthetical plan note) that immediately states the function and key ordering detail. It contains no fluff, and every part earns its place. The parenthetical is a necessary usage restriction.

    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 has 4 parameters (including a nested sort object) and no output schema. The description explains the main output (list and unique count) but leaves gaps such as pagination behavior, sort options, and the shape of each wallet entry. Given the absence of an output schema, the description could be more detailed, but it still gives the essential purpose and a useful ordering detail.

    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 already provides descriptions for all parameters (100% coverage), including address, networkId, sort, and cursor. The description only refers to 'a given token' and 'ordered by holdings descending', which adds minimal extra meaning. Since schema coverage is high, the baseline 3 applies, and the description does not compensate beyond that.

    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: returning a list of wallet holders for a given token, ordered by holdings descending, plus a unique holder count. This distinguishes it from siblings like get_top_10_holders_percent (which returns only top holders) and get_token_balances (which returns balances for an account). The verb 'returns' is specific and the resource is 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 provides clear context about what the tool does (returns holders and unique count) and a key restriction: it is only available on Codex Growth and Enterprise Plans. However, it does not explicitly compare with alternatives or state when to prefer this over get_top_10_holders_percent or get_token_holders. The plan restriction serves as a 'when not' clue, but no direct alternatives are mentioned.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden. It discloses the type of data returned (locked amounts, duration, owner) and the plan restriction, which adds context beyond the tool name. However, it does not mention pagination behavior or the read-only nature explicitly, though 'Get' implies read-only.

    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, well-structured sentence that leads with the action and object, and packs in the key return fields and plan restriction without unnecessary words.

    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?

    While there is no output schema, the description explains what the tool returns. It lacks details on pagination or the exact response format, but for a read-only query tool with simple parameters, this is largely sufficient.

    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 baseline is 3. The description adds no parameter-specific details beyond what the schema already provides, such as the meaning of networkId or the cursor pagination parameter.

    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 a specific verb and resource ('Get liquidity locks for a pair') and clearly distinguishes this tool from siblings like get_liquidity_metadata or get_pair_metadata. It also specifies the core information returned (locked amounts, duration, owner).

    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 mentions a plan restriction ('Codex Growth and Enterprise Plans only'), which is a usage constraint. However, it does not explicitly state when to use this tool versus other liquidity/pair tools, nor does it mention alternatives or exclusions.

    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 burden. It discloses access restrictions and supported networks, which is useful behavioral context. However, it does not state that the operation is read-only or describe potential side effects, pagination behavior, or response format.

    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 concise sentences, front-loaded with the core action and followed by critical restrictions. No redundant filler, aside from minor typos ('latests', 'Optimum') that do not hinder clarity.

    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 list endpoint with three parameters and no output schema, the description covers essential constraints (plan, networks) and the resource type. It lacks details about response structure or ordering, but the name and context imply a list of recent token contracts.

    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?

    Schema descriptions cover limit and offset, but the networkFilter property lacks its own description. The description compensates by explicitly listing the allowed network IDs (1, 10, 8453, 42161), adding concrete value beyond the schema. Limit and offset are not enhanced, but the schema covers them adequately.

    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 a specific verb 'Get' with a clear resource 'list of the latests token contracts deployed' and scope 'latest'. It distinguishes from siblings like get_tokens and filter_tokens by emphasizing deployed contracts and recency.

    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 conditions for use: it is restricted to Codex Growth and Enterprise Plans and only available on specific networks (Ethereum, Optimum, Base, Arbitrum). This gives exclusions and network context but does not explicitly name alternative tools for other cases.

    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

codex-mcp MCP server

Copy to your README.md:

Score Badge

codex-mcp 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/Codex-Data/codex-mcp'

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