Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool has a clearly distinct purpose with precise descriptions. For example, 'compile', 'compile_and_deploy', and 'deploy_ea' are easily differentiated by their actions. Similarly, 'syntax_check' vs 'compile' vs 'lint_basic' cover different verification stages. No two tools appear to do the same thing.

    Naming Consistency5/5

    All tool names follow a consistent lower_snake_case pattern, predominantly 'verb_noun' or 'verb_noun_noun' (e.g., 'install_include', 'parse_optimization', 'run_backtest'). There are no mixtures of camelCase or other styles, and the verb-first structure is predictable across all 35 tools.

    Tool Count2/5

    With 35 tools, the count exceeds the 25+ threshold considered 'too many' in the calibration. While each tool addresses a specific need within MT5 development, the volume may overwhelm agents and suggests the set could be consolidated (e.g., merging 'format_check' and 'format_mql' or some tester-related tools).

    Completeness5/5

    The tool surface covers the full MT5 development lifecycle: compilation, deployment, backtesting, regression, code analysis, refactoring, environment management, snapshots, and reporting. Given the domain's scope, there are no obvious gaps; every major operation (create, read, update, delete, test, analyze) is represented.

  • Average 3.2/5 across 35 of 35 tools scored. Lowest: 2.3/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 is passing
  • This repository is licensed under MIT 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

  • Behavior2/5

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

    No annotations provided, so description bears full burden. It only states the function without disclosing side effects, permissions, or output behavior. The tool likely reads data, but this is not confirmed.

    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?

    Single sentence is concise but under-specifies the tool. Important details are omitted, making it insufficient for reliable use.

    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?

    Given two parameters (one required) and no output schema, the description should provide more context, such as expected values for 'root' and how results are returned. It is incomplete.

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

    Parameters1/5

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

    Schema coverage is 0%, and the description adds no explanation of parameters. 'root' and 'var_pattern' (default 'Magic') are not described, failing to aid the agent in proper invocation.

    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 'Find duplicate magic-number assignments across the project' clearly states the action (find) and resource (duplicate magic-number assignments). While it differentiates from siblings like 'find_symbol', it could be more explicit about what constitutes a magic number.

    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 (e.g., find_symbol). The description does not specify prerequisites, context, or when not to use it.

    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 convey behavioral traits. It states the method (clang-format, treats as C++) but does not disclose potential side effects (e.g., whether it overwrites files via the 'write' parameter), required permissions, or limitations of treating MQL as C++.

    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 short (one sentence) and front-loaded with the verb. However, it omits essential parameter information, making it under-specified rather than optimally 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 three parameters and no output schema, the description is incomplete. It fails to clarify input requirements, optional parameters like 'style', or what the tool returns (e.g., formatted string vs. file write).

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description does not explain the parameters 'source', 'style', or 'write'. The agent receives no guidance on what values to provide or how they affect behavior.

    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 purpose: formatting an MQL file using clang-format, treating source as C++. The verb 'Format' and resource 'MQL file' are specific, though it does not distinguish from the sibling tool 'format_check'.

    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 'format_check' or 'syntax_check'. There are no instructions on prerequisites or when not to use it.

    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, and the description does not disclose any behavioral traits such as side effects, authorization needs, or limitations. It does not mention that listing is read-only or that it may be slow for large directories.

    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 very concise, consisting of a single sentence. While it is not verbose, it sacrifices important details. Structure is minimal but front-loaded with the core action.

    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 simplicity of the tool (2 optional parameters, no output schema, no annotations), the description is incomplete. It does not explain what the output looks like, how to filter with pattern, or the effect of recursion. An agent would need to infer behavior from the parameter names and defaults alone.

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

    Parameters1/5

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

    The description adds no meaning to the two parameters (pattern, recurse). The schema coverage is 0%, and the description does not explain the effect of pattern or recurse, nor the default values. An agent would have no context beyond the parameter names.

    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 'list' and the resource 'compiled EAs in Experts/'. It is specific and unambiguous. However, it does not differentiate from sibling tools like list_snapshots or list_terminals, but those are distinct resources.

    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, no context about prerequisites or limitations, and no exclusion criteria. It merely states what it does.

    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, description should fully disclose behavior. Only says 'verify', implying read-only check, but no details on side effects, permissions, or return behavior.

    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?

    Single sentence is concise but lacks important detail. Efficiency is fine, but information density is low.

    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?

    Given 3 parameters, no output schema, and no annotations, description is severely incomplete. No mention of return values, errors, or behavior when thresholds are exceeded.

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

    Parameters1/5

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

    Schema coverage 0% means description must explain parameters. It does not describe what 'baseline', 'candidate', or 'guards' mean beyond their names. Format, constraints, and usage are missing.

    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?

    Description clearly states it verifies a candidate report against baseline using guard thresholds. Uses specific verb and resource, but does not distinguish from sibling tools like compare_reports.

    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. Does not mention prerequisites, when not to use, or context differences from siblings.

    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 mentions recursive resolution and reporting of unresolved files but omits side effects, permission needs, or output behavior.

    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 very concise with two short sentences, but it lacks necessary detail. It is not verbose, but it under-specifies.

    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?

    Given no output schema, no annotations, and only 2 parameters, the description is severely incomplete. It does not explain input formats, expected output, or error handling.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description adds no information about the parameters. The meaning of 'source' and 'mql_root' is not explained.

    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 resolves #include directives recursively and reports unresolved files. It distinguishes its purpose from sibling tools, which mostly deal with compilation, testing, or code analysis.

    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. There is no mention of prerequisites, context, or when not to use it.

    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 exist, so description carries full burden. It only says 'extract' without disclosing side effects, permissions, or error behavior. Does not state whether it modifies the file or is 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.

    Conciseness3/5

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

    One sentence with no fluff, but lacks detail. Appropriate length for a simple tool, but could be improved with essential context.

    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?

    No output schema and incomplete parameter semantics. The description does not cover return format, error cases, or prerequisite knowledge (e.g., MetaEditor format). Inadequate for an agent to use correctly.

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

    Parameters1/5

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

    The single parameter 'source' has no description in schema and the tool description does not clarify its expected format (e.g., file path or code string). 0% schema coverage and no param elaboration.

    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 extracts MetaEditor doc blocks from a source file, with a specific verb 'Extract' and resource. It distinguishes from siblings like extract_function and extract_inputs.

    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. With 33 sibling tools, implicit purpose is not enough; explicit conditions or exclusions are needed.

    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 provided, so description carries full burden. It mentions 'whole-word match' and 'dry_run=True previews only', but does not disclose whether the tool is destructive, creates backups, or requires specific permissions. Minimal 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?

    Description is short (one sentence + code snippet) with no fluff. However, structure could be improved by listing parameter roles more clearly. It is concise but not maximally informative for the space used.

    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 4 parameters, no annotations, and no output schema, the description is incomplete. It does not explain the 'root' parameter, the effect on files, or how to interpret results. An agent cannot safely invoke the tool based on this description alone.

    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 0% (no descriptions in schema). Description only explains 'dry_run' partially, leaving 'old', 'new', and 'root' undefined. The term 'symbol' is vague without further context. Description fails to compensate for missing schema documentation.

    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?

    Description clearly states the tool renames a symbol across MQL files with whole-word matching. The verb 'rename' and resource 'symbol across MQL files' are specific, but it does not explicitly differentiate from sibling tools like 'find_symbol'.

    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. The description does not mention prerequisites, when to prefer dry_run, or contrast with other tools like 'find_symbol' or 'format_mql'.

    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 disclose behavioral traits. It only states the sort operation and return of top N, but does not describe return format, side effects (e.g., read-only vs mutation), performance considerations, or error handling.

    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 sentence that front-loads the core action. It is appropriately concise, though it could be slightly expanded to clarify key terms 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?

    For a tool with 4 parameters, no output schema, and a domain-specific resource ('optimization passes'), the description is insufficient. It omits return value structure, prerequisites (e.g., must parse optimization results first?), and how it relates to sibling tools like 'parse_optimization' or 'compare_reports'.

    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%, so the description must add parameter meaning. It only implicitly references 'criterion' and 'top N', leaving 'opt_path', 'n', and 'descending' unexplained. The default values are in the schema, but the description adds no insight beyond that.

    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 'sort' and the resource 'optimization passes', specifying that it returns the top N. However, it lacks context on what exactly an optimization pass is, and does not differentiate from sibling tools like 'parse_optimization' or 'read_tester_report' which may also deal with passes.

    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. There is no mention of prerequisites, expected input data, or exclusions, leaving the agent without context for appropriate invocation.

    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 exist, so the description carries full burden. It does not disclose expected output (e.g., list of warnings), whether it modifies code, or any side effects. 'Flag' is ambiguous.

    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?

    Single sentence, no wasted words. However, it lacks structure or bullet points, which would be beneficial for more detail. Still concise for what it says.

    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 annotations or output schema, the description fails to provide enough context for an agent to reliably use the tool. Missing details on output format, error handling, and constraints.

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

    Parameters1/5

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

    Schema description coverage is 0% and the description adds no meaning to the 'source' parameter. Agent does not know if it expects a file path, source code string, or something else.

    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 flags MT4-style deprecated API calls in MT5 source code, using a specific verb and resource. It distinguishes itself from siblings like syntax_check or lint_basic by focusing on deprecation.

    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 vs. alternatives like syntax_check or compile. No context on prerequisites or common use cases.

    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 provided, so description must carry full burden. It does not disclose side effects, behavior when both parameters are provided, or output format. Lacks details on what 'nesting metrics' entails.

    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, front-loaded with the action and resource, no unnecessary words. Efficient given the tool's simplicity.

    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 two optional parameters, the description lacks details on return values, metric definitions, and edge cases. Incomplete for an AI agent to use confidently.

    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 0%, so description must compensate. It vaguely maps 'source' to a file and 'root' to a directory, but does not explain parameter formats or constraints (e.g., file extensions, path types).

    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 'Compute' and the specific metrics (LOC, function, nesting) for a file or directory. It distinguishes from siblings like lint_basic or syntax_check by focusing on metrics rather than code quality or syntax.

    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 lint_basic or syntax_check. No mention of prerequisites or context.

    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 exist, so the description must disclose all behavioral traits. It reveals only that it searches and skips comments/strings but lacks details on read-only nature, performance, error handling, 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?

    A single, front-loaded sentence with no unnecessary words. Every part adds value.

    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 4 parameters (2 required) and no output schema, the description omits critical details like what the output contains, how 'limit' works, or what file extensions are used. The tool's behavior is under-specified.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description does not explain any parameter. 'symbol' and 'root' are implied but not defined; 'exts' and 'limit' are entirely unexplained.

    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 strong verb 'grep' and specifies the resource 'symbol across MQL files', with an additional detail about skipping comments and string literals. It clearly distinguishes from sibling tools like 'rename_symbol' (modification) and 'code_metrics' (analysis).

    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 'code_metrics' or 'extract_function'. The description does not mention prerequisites, limitations, or when not to use it.

    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. It only states basic function, omitting side effects, output format, permissions, or error behavior. Minimal 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?

    Single sentence, front-loaded with core action. Every word is meaningful. No redundancy.

    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 annotations and no output schema, the description fails to specify input format, return value, or constraints. Insufficient for practical use.

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

    Parameters1/5

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

    The input schema has one parameter 'source' with no description and 0% schema description coverage. The tool description does not elaborate on what 'source' means, leaving it ambiguous.

    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 'Run' and the object 'structural lint rules', specifying the types of rules (missing handlers, unused inputs, hardcoded magic/symbol). This distinguishes it from sibling tools like syntax_check or compile.

    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 explicit guidance on when to use this tool versus alternatives. The description implies a scope (structural linting) but does not provide exclusions or comparisons with siblings.

    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 must disclose all behavioral traits. It correctly implies a read-only parse operation, but lacks details on error handling, file access, or output format. It is minimally adequate but not exhaustive.

    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 extremely concise—a single sentence with no fillers. However, it may be too brief, sacrificing detail that could aid the agent. Still, it is well-structured and front-loaded.

    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 lack of output schema and minimal description, the agent has insufficient context to understand the return format, error cases, or how to handle the input parameter. The tool's complexity is low, but the description does not fill the gaps.

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

    Parameters1/5

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

    Schema description coverage is 0%, yet the description fails to define the 'source' parameter. It does not clarify whether it expects a file path, file content, or other format, leaving the agent without necessary context.

    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 'Parse' and clearly identifies the resource as 'input <type> <name> = <default>;' declarations from a source file. It distinguishes from sibling tools like 'extract_function' and 'extract_doc' by targeting a unique declaration pattern.

    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. There is no mention of prerequisites, limitations, or scenarios where a different tool (e.g., syntax_check) would be more appropriate.

    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 fully disclose behavior. It states 'Copy ... into Experts/' but does not mention whether overwrites occur, if path validation happens, or if any side effects (e.g., terminal restart) exist. The brief description fails to provide sufficient behavioral context for safe invocation.

    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 concise: two sentences plus two argument bullets. Every sentence serves a purpose, and the action verb ('Copy') is front-loaded. There is no extraneous information, making it efficient for an AI agent 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?

    Given the tool's simplicity (copy file to Experts/), the description is minimally adequate. However, it omits return behavior (no output schema) and does not explain what happens on success/failure. For full context, the agent may need field notes or example usage. It meets the basics but leaves gaps.

    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 meaning to parameters beyond the raw schema: 'source_ex' is identified as the path to a compiled .ex4/.ex5 file, and 'name' as an optional rename target. However, it lacks details like path formats (absolute vs relative) or behavior when 'name' conflicts. With 0% schema description coverage, this is adequate but not outstanding.

    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 copies compiled .ex4/.ex5 binaries into the Experts/ directory, specifying the verb (copy), resource (binary), and destination. While it distinguishes from sibling tools like 'compile' and 'compile_and_deploy', it could be more explicit about its role compared to 'install_include' or other deployment-related tools.

    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 'compile_and_deploy' or prerequisites (e.g., requiring a compiled binary). It only lists arguments without context, leaving the agent to infer usage based on the tool name and sibling list.

    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?

    The description mentions the key behavior of not writing, which is helpful given the absence of annotations. However, it does not disclose error handling, performance implications, or whether file access is needed. The description is adequate but not rich.

    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 unnecessary words. It is 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.

    Completeness2/5

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

    With two parameters and no output schema, the description does not explain the return value (e.g., boolean or string) or how to interpret the report. The style parameter is not explained. The description is incomplete for effective use.

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

    Parameters1/5

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

    The schema has zero description coverage for the two parameters. The description does not explain 'source' or 'style' beyond what's in the schema (type/required/default). This is insufficient; the description should clarify expected values or format.

    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 'report' and the resource 'whether a file needs formatting', and distinguishes from writing by adding 'without writing it'. This is specific and differentiates from sibling tools like format_mql which likely performs the formatting.

    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. Among siblings, format_mql is present but no comparison or context is given. The description lacks any usage instructions 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 full responsibility for behavioral disclosure. It states it reports and resolves issues, but 'resolve' is ambiguous—it could imply fixing or just diagnosing. The description does not explicitly state that the tool is read-only or non-destructive, which is a significant gap for a tool that may affect environment state.

    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 of 12 words, front-loading the key action and subjects. 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?

    The tool has no output schema and no annotations, so the description must provide all context. It covers the main outputs (paths, hash, issues) but omits details like return format, whether the tool is safe to run repeatedly, or if 'resolve' involves any side effects. The description is minimally adequate for a simple informational tool but leaves gaps.

    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 and 100% schema description coverage (empty schema), so the description does not need to add parameter details. The baseline for no parameters is 4; the description's overview of what the tool does is sufficient for parameter semantics.

    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 ('Resolve and report') and concrete resources ('MT4/5 paths, terminal hash, missing-component issues'), making the tool's purpose distinct from sibling diagnostic tools like list_terminals or select_terminal. However, it does not explicitly differentiate from related tools, so it falls 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 (e.g., list_terminals, select_terminal). It lacks any when/when-not or contextual cues, leaving the agent to infer usage from the purpose alone.

    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, the description carries the full burden. It discloses the use of brace-counting and regex (non-AST), states that it returns helper, call site, and parameter list, and mentions the dry_run flag. This provides good behavioral context, though more details on edge cases (e.g., mismatched braces) 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.

    Conciseness4/5

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

    The description is brief (three sentences) and front-loaded with the main action. It efficiently conveys key behavioral traits without superfluous details. Minor improvement: could be more structured, but conciseness is good.

    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 7 parameters (4 required) with no schema descriptions and no output schema, the description is incomplete. It omits essential context such as what source represents (file path? code string?), line indexing (0 or 1 based?), constraints on new_name, and default behavior for target_file.

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

    Parameters1/5

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

    Schema coverage is 0%, yet the description only explains the dry_run parameter. It does not clarify source, line_start, line_end, new_name, return_type, or target_file. This is a critical gap, leaving agents to guess parameter meanings.

    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: 'Extract a contiguous block of lines into a new helper function.' It uses a specific verb and resource, and distinguishes from siblings like extract_doc and extract_inputs by the function extraction context.

    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 explicit guidance on when to use this tool versus alternatives (e.g., AST-based extraction tools). The description mentions 'not a full AST parser' but does not name specific tools or provide when-not-to-use advice.

    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. It discloses that the tool can modify a tester.ini file in-place, but does not explain how EA inputs are read, error handling, or whether it validates inputs. Some transparency, but gaps remain.

    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?

    Two sentences, no fluff. Information is front-loaded: purpose first, then conditional. Could be improved with bullet points for readability, but it is efficient.

    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 0% parameter coverage, the description is minimal. It hints at output format ('[TesterInputs] block') but leaves out input source specifics, output return, and error conditions. Adequate for a simple tool 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 coverage is 0%, so description must add meaning. It explains 'write_to' with its file-writing behavior. 'source' is implied to be EA inputs via 'from EA inputs', but no further detail. Adds value but not complete.

    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 generates a [TesterInputs] block from EA inputs, with an optional file-writing behavior. The verb 'Generate' and resource 'TesterInputs block' are specific, but it does not differentiate from siblings like 'patch_tester_ini' or 'validate_tester_ini', which could overlap.

    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. Siblings include many testing-related tools, but no context is given for selection. The conditional about 'write_to' is the only usage hint, but it is insufficient.

    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 disclose behavioral traits. It only states it copies, but does not mention whether it overwrites existing files, permission requirements, or any side effects. This is insufficient for an agent to understand 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 extremely concise, with two brief sentences and a clear list of arguments. Every word is purposeful and front-loaded with the core action.

    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 copy tool, the description covers the basic inputs but omits return value or error behavior. With no output schema, some mention of success/feedback would improve completeness. Adequate but not thorough.

    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?

    Despite 0% schema description coverage, the description explains that source is an absolute path and target_name is an optional rename, adding meaningful context beyond the raw schema. However, it does not elaborate on accepted formats or constraints.

    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 action (Copy a .mqh file) and the target location (terminal Include folder), with an example. However, it does not explicitly differentiate from sibling tools that might also handle file operations.

    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, nor any prerequisites or contextual cues. The description simply states what it does without usage context.

    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 provided, so description must disclose behavioral traits. It only mentions parsing but does not clarify if it is read-only, if it extracts data, or any side effects. Lacks detail on what happens if the file does not exist.

    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 front-loads the action and condition. No unnecessary words, highly efficient.

    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 simple tool with one parameter, description covers basic usage. However, without an output schema, it fails to describe the return value or format of parsed data, which is needed for an AI agent to process the result.

    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 description coverage is 0%. The description adds value by explaining that the path parameter is optional and defaults to the latest .opt file in the Tester folder. This clarifies parameter behavior effectively.

    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?

    Clearly states the action (parse) and resource (.opt file) with location (Tester folder or given path). However, it could better distinguish from siblings by specifying the purpose of parsing (e.g., extracting optimization results).

    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. Does not mention prerequisites, such as the existence of a .opt file in the Tester folder, or conditions for using the path parameter.

    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?

    Minimal disclosure: only mentions destination and timestamping. Lacks details on overwriting, permissions, error handling, or side effects. No annotations to supplement.

    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, front-loaded with verb, no wasted words. Perfectly 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 3 parameters, no output schema, and no annotations, the description is too sparse. Missing return value, error behavior, and format of timestamp. Incomplete for effective use.

    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 0%, but description adds meaning for 'sources' (source files) and 'dest' (timestamped folder under). However, 'label' parameter is unmentioned. 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?

    Description clearly states verb 'freeze' (snapshot), resource 'source files', and destination 'timestamped folder under dest', effectively distinguishing it from siblings like list_snapshots.

    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 or when not, and no mention of prerequisites or alternatives among siblings.

    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?

    Without annotations, the description carries the burden. It discloses the syntax-only compilation mode and return of diagnostics, which is transparent. However, it does not mention side effects, permissions, or rate limits. It is adequate but not comprehensive.

    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, clear sentence. It is concise and front-loaded with the key action. However, it could be slightly improved by including parameter descriptions, but as a concise statement it is 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?

    Given the absence of annotations and output schema, and with 2 parameters (1 required), the description is incomplete. It does not explain the source format, the meaning of timeout_sec, or the structure of diagnostics. For a simple tool, some additional context would help the agent.

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

    Parameters1/5

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

    The description provides no information about the parameters ('source' or 'timeout_sec'). Schema description coverage is 0%, so the description adds no meaning beyond the schema. This is a significant gap.

    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 ('Compile a source'), the specific mode ('syntax-only mode (`/s`)'), and the output ('return diagnostics'). It effectively distinguishes from sibling tools like 'compile' (full compilation) or 'lint_basic'.

    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 syntax checking only but does not explicitly state when to use this tool versus alternatives (e.g., 'compile', 'format_check', 'lint_basic'). No exclusions or context are provided.

    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 should disclose behavioral traits. It only states the action without mentioning side effects, permissions, output format, or constraints (e.g., whether it lists one level deep or recursively).

    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 with no filler words. It is front-loaded and every part contributes value.

    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 one parameter, no output schema, and no annotations, the description is incomplete. It does not explain what constitutes a 'snapshot folder', how results are returned, or any edge cases.

    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 has 1 required parameter `dest` with 0% description coverage. The description adds that `dest` is the location 'under' which snapshot folders are listed, adding minimal meaning but not explaining format, required structure, or constraints.

    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 'list' and the resource 'all snapshot folders' under a specific location `dest`. It distinguishes from siblings like `snapshot_sources` which likely performs a different action.

    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 for listing snapshots but provides no guidance on when to use this tool versus alternatives such as `snapshot_sources` or other tools. No explicit exclusions or context.

    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?

    Without annotations, the description carries the burden. It discloses that it locates and parses the report and returns raw HTML with a configurable truncation limit. However, it does not mention error handling behavior (e.g., if no report is found) or the exact structure of the returned data.

    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 very concise: one sentence for purpose and a structured Args section. No redundant words, and the most important information (what the tool does) is front-loaded.

    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 has no output schema and only two parameters, the description is adequate but not complete. It explains input parameters but does not describe the return value beyond mentioning raw HTML truncation, leaving ambiguity about what the parsed data contains.

    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 has 0% description coverage, but the docstring explains both parameters: 'path' is optional and defaults to the latest file, and 'raw_truncate' limits output length. This adds significant meaning beyond the schema's type and default values, though details like path format are missing.

    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 that the tool locates and parses the latest MT5 tester HTML report using a specific verb-resource combination. However, it does not explicitly differentiate from sibling tools like 'parse_optimization', which might also read reports.

    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. The description implies its use case but lacks explicit context about when not to use it or which sibling tools to prefer for other report types.

    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 must fully disclose behavior. It describes the overall process and success condition but does not mention side effects (e.g., whether deployment affects existing terminals), failure modes, or cleanup. It also does not explain the 'journal scan' process. This is adequate but leaves gaps.

    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 clear, well-structured sentences. Front-loaded with the action and followed by the success condition. No redundant words.

    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, the description covers the high-level workflow and return condition. However, it omits details on parameter purposes and potential side effects, which are important given the tool's complexity (6 parameters, no output schema). It is moderately complete.

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

    Parameters1/5

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

    Schema description coverage is 0%, so the description must explain parameters. It does not describe any parameter meanings, such as source (likely code), expert_name, symbol, period, days, or timeout_sec. Agents must infer from context, which is insufficient.

    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: 'Compile, deploy, run a 1-day headless backtest, and scan the journal for runtime errors.' It specifies the sequence of actions and the success condition (returns ok:true only if all pass). This distinguishes it from sibling tools like compile, deploy_ea, run_backtest, which are individual steps.

    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 for quick validation but does not explicitly state when to use it versus alternatives like compile+deploy_ea+run_backtest. A sentence like 'Use this for a quick sanity check before full testing' would improve clarity. The context of sibling tools helps but is not leveraged in the description.

    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 full burden. It discloses the operation (diff with deltas) but does not mention behavioral traits such as file format requirements, error handling, performance, or side effects. Adequate but minimal.

    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, precise sentence that communicates the core purpose without superfluous words. It is front-loaded and efficient.

    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 has two required string parameters, no output schema, and no annotations, the description provides the essential operation. However, it lacks context on return format, error handling, and prerequisites, making it only minimally complete.

    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 description does not add explicit meaning to the 'baseline' and 'candidate' parameters beyond their names. It implicitly suggests they are file paths to HTML reports, but lacks details on format or constraints.

    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 diffs two MT5 tester HTML reports key-by-key with absolute and percent deltas. It specifies the resource (reports) and the action (diff comparison), distinguishing it from sibling tools like 'read_tester_report'.

    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 for comparing two reports, but it does not explicitly state when to use this tool over alternatives like 'regression_check' or 'top_passes'. No when-not-to-use guidance is provided.

    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 fully disclose behavior. It states the tool performs a sanity-check and optional cross-check, but does not describe side effects (likely read-only), output format, error handling, or prerequisites. This leaves significant ambiguity for an AI agent.

    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 sentences, no wasted words. The core action is front-loaded, and the conditional behavior is succinctly presented.

    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?

    For a validation tool with no output schema and 0% schema coverage, the description is incomplete. It fails to specify return values, success/failure indicators, or required file format. Given the context (2 params, no annotations), more detail is needed for reliable agent usage.

    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 description coverage is 0%, but the description adds meaning: 'config' is the tester.ini file, and 'source' triggers cross-checking. This clarifies the parameters beyond their names and types.

    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 validates a 'tester.ini' file, with optional cross-checking against EA declarations. It uses a specific verb ('sanity-check') and resource, differentiating it from sibling tools like 'syntax_check' or 'lint_basic'.

    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 when to use the 'source' parameter for cross-checking, but gives no explicit guidance on when to prefer this tool over siblings like 'patch_tester_ini' or 'read_tester_report'. No exclusions or alternatives are mentioned.

    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 disclose all behavioral traits. It states the two-step process and target directory but fails to mention error handling (e.g., what happens if compilation fails), overwrite behavior, or authentication requirements. This is adequate but leaves gaps.

    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 core action: 'Compile then deploy resulting .ex5/.ex4 to Experts/ in one shot.' Every word is meaningful, with no wasted content.

    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 that this is a compound operation with two steps and two parameters, the description is too brief. It doesn't explain the relationship between 'source' and 'ea_name', what the output of compilation is, or dependencies (e.g., MQL compiler). An agent may not have sufficient information to use the tool correctly without additional context.

    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?

    With 0% schema description coverage, the description should clarify parameter meaning. It mentions 'source' and 'ea_name' but only 'source' is implied from context ('resulting .ex5/.ex4'). 'ea_name' is not explained at all, leaving the agent to guess its role.

    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 it compiles and deploys .ex5/.ex4 files to the Experts directory. This distinctly differentiates it from sibling tools `compile` (compile only) and `deploy_ea` (deploy only).

    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 implies that this tool is for performing both compile and deploy in one step. While it doesn't explicitly state when not to use it or mention alternatives, the existence of sibling tools provides context. The lack of explicit exclusions prevents a score of 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?

    The description discloses that the change is session-only and persists until server restart. However, with no annotations, it does not mention potential side effects, required permissions, or behavior if multiple parameters are provided, leaving gaps.

    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 very concise, with a clear first sentence stating the purpose, followed by brief parameter guidance. Every sentence adds value without redundancy.

    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, no annotations, and 4 parameters, the description covers the tool's purpose and usage of most parameters but lacks details on the 'edition' parameter, error behavior, and return values, leaving some incompleteness.

    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 meaning for three parameters (origin, hash, install) beyond the empty schema, explaining that origin is from a file, hash is a folder name, and install auto-scans. However, the 'edition' parameter is not explained, and the input schema has 0% description 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 verb 'Switch' and the resource 'active terminal data folder', and distinguishes from sibling tools like list_terminals or kill_terminal. It specifies the session scope and provides distinct options for the switch.

    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 when to use the tool (when needing to change the terminal folder) and instructs to provide one of three options, but it does not explicitly contrast with sibling tools or specify when not to use it.

    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—it mentions 'force-kill' and 'all' processes, implying destructiveness and irreversibility, but does not detail side effects (e.g., unsaved work loss) or confirm any safeguards.

    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, direct, no filler—every word is necessary and informative.

    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 tool with no output schema, the description covers the basic purpose. However, 'configured edition' is vague and could be clarified with context on scope or behavior.

    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?

    No parameters exist, so schema coverage is 100%. The description trivially adds no parameter info, but the baseline of 4 is appropriate since no compensation is needed.

    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 ('force-kill') and the resource ('all running terminal processes for the configured edition'), which distinguishes it from siblings like list_terminals or select_terminal.

    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 or when alternatives might be preferred; lacks context on prerequisites, safety checks, or why one would choose to force-kill instead of gracefully terminating.

    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?

    The description discloses in-place mutation and the return value structure, but lacks details on side effects like file locking, error handling, or state changes.

    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?

    Extremely concise: one sentence for purpose, structured Args and Returns sections, no extraneous 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?

    Given no output schema and no annotations, the description covers the core functionality, parameters, and return value. Missing edge cases or error states, but adequate for typical use.

    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?

    With 0% schema coverage, the description adds critical meaning by defining config as a path and updates as a Section.Key mapping with concrete examples, significantly aiding parameter understanding.

    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 'Update' and the resource 'tester.ini file in-place', distinguishing it from siblings like validate_tester_ini or gen_tester_inputs.

    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, nor any exclusions or prerequisites. Siblings like validate_tester_ini or gen_tester_inputs are not mentioned.

    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 exist, so the description must cover behavior. It explains the 'wait' blocking behavior, timeout, and return values, but does not disclose side effects (e.g., terminal state changes) or error conditions.

    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: a single-line title followed by a bulleted list of arguments. Every sentence adds value, with no fluff.

    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?

    Given no output schema, the description covers return values well (returncode, elapsed_sec, log path). However, it omits error conditions and prerequisites (e.g., terminal already running).

    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?

    With 0% schema coverage, the description adds meaningful context for all 4 parameters: 'config' path, 'wait' blocking, 'timeout_sec' duration, and 'portable' flag. However, more detail on config format or timeout behavior would improve it.

    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 specifies a clear verb-resource pair ('Launch terminal with /config:<tester.ini>') and distinguishes this tool from siblings like 'kill_terminal' or 'select_terminal' by focusing on backtesting.

    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 (e.g., 'smoke_test' or 'compile_and_deploy'), and lacks context about prerequisites or failure scenarios.

    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 bears full responsibility for behavioral disclosure. It only states a read-only enumeration, but does not mention potential behavior like empty results, error conditions, or permissions needed. The description is adequate but minimal.

    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 immediately conveys the tool's action and scope. No extraneous information.

    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?

    Given the simplicity of the tool (no parameters, no output schema), the description is mostly complete. It specifies what is enumerated and where, but does not mention return format or edge cases, which would be useful for an agent.

    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?

    No parameters exist, so schema coverage is 100% trivially. The description does not need to add parameter information, but it could hint at potential filtering or options. It meets the baseline for a parameterless tool.

    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 'Enumerate' and the resource 'MetaTrader terminal data folders' with a specific location, making the tool's purpose unambiguous and distinct from siblings like 'select_terminal'.

    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 does not explicitly state when to use this tool versus alternatives, though the context of sibling tools and the clear listing action provides implicit guidance. No 'when not' or alternative tool references are given.

    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, the description carries full behavioral disclosure burden. It explains the tool is a read operation (read last N lines) and details modes and the structured parameter, giving insight into behavior. However, it does not explicitly state it is non-destructive or require no special permissions, which is typical for read tools. The provided context is sufficient for a simple log reading tool.

    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: one sentence for the purpose followed by a bullet-style args docstring. No superfluous words. Every line adds value, and the structure is easy to scan. This is an ideal balance of brevity and completeness.

    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?

    Given the tool's purpose is simple (reading log lines) and there is no output schema, the description explains modes, date override, and structured output. It covers the essential usage context. However, it does not detail the output format for unstructured mode, mention potential errors, or prerequisites like terminal selection. For a basic tool, this is mostly complete but has minor gaps.

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

    Parameters5/5

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

    The input schema has 0% description coverage, so the description must compensate. The args docstring explains each parameter: mode specifies three valid values (live, journal, tester) and their file paths, lines is the count, date overrides YYYYMMDD, structured parses records. This adds critical meaning beyond the schema types and defaults, making the parameters fully understandable.

    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 'Read last N lines from terminal logs,' specifying the verb (read), resource (terminal logs), and scope (last N lines). This distinguishes it from sibling tools like 'list_terminals' (which lists terminals) and 'kill_terminal' (which terminates). The purpose is unambiguous and concise.

    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 does not explicitly state when to use this tool versus alternatives. It provides mode options (live, journal, tester) but offers no guidance on when to prefer this tool over siblings like 'list_terminals' or 'select_terminal'. There is no mention of prerequisites or exclusions, leaving the agent to infer appropriate use.

    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, the description clearly explains the subprocess timeout and the structured return values (errors, warnings, log path, etc.), providing good transparency for a compile 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?

    Description is concise: a one-sentence summary followed by a bullet list of arguments and returns. Front-loaded, no wasted text.

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

    Completeness5/5

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

    Despite no output schema and low schema coverage, the description fully details return values, parameters, and behavior. Complete for a compile tool.

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

    Parameters5/5

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

    Schema coverage is 0%, but the description fully explains each parameter (source, include, log_file, timeout_sec) with defaults and purpose, adding significant value beyond the bare 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 verb 'Compile' and the resource '.mq4/.mq5/.mqh source' via 'MetaEditor CLI'. It succinctly defines the tool's action and distinguishes it from siblings like 'compile_and_deploy'.

    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 vs alternatives such as 'compile_and_deploy' or other compilation-related tools. The description lacks contextual usage hints.

    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

mcp-mt5 MCP server

Copy to your README.md:

Score Badge

mcp-mt5 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/PHUICMT/mcp-mt5'

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