Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation3/5

    Most tools have clearly distinct mathematical purposes, but the presence of three generic evaluation tools (evaluate_sage, calculate_expression, evaluate_sage_streaming) creates ambiguity, and some pairs like interrupt/cancel_sage_session could be confused. Descriptions are detailed enough to guide selection.

    Naming Consistency2/5

    The tool names mix verb_noun (differentiate_expression, matrix_multiply), noun_operation (boolean_algebra_operation, matrix_operation), and standalone nouns (series_expansion, statistics_summary). There is no consistent pattern across the set, though subgroups are internally consistent.

    Tool Count3/5

    With 37 tools, the set is large, but it covers a wide range of mathematical domains. However, several redundant generic evaluators could be consolidated, making the count feel heavier than necessary.

    Completeness5/5

    The tool set covers calculus, algebra, linear algebra, number theory, combinatorics, graph theory, geometry, statistics, plotting, and session management. The generic evaluate_sage serves as a fallback for any uncovered operation, so there are no dead ends.

  • Average 3.5/5 across 37 of 37 tools scored. Lowest: 2.3/5.

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

    • 2 of 2 community issues answered or closed in the last 6 months
    • 135 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.

  • This repository includes a glama.json configuration file.

  • This server has been verified by its author.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

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

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

How is the quality score calculated?

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

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

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

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

Tool Scores

  • Behavior2/5

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

    With no annotations supplied, the description carries the full burden of behavioral disclosure. It only states a high-level operation without mentioning side effects, session handling, state changes, or return behavior, leaving the agent without safety or execution context.

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

    Conciseness3/5

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

    The description is a single short sentence with no unnecessary words, which is concise in form. However, it is under-informative and does not earn its place by adding meaningful context beyond what the name already implies.

    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 large number of sibling mathematical operation tools and the absence of annotations, the description is too sparse to understand the scope of 'simplify'. While an output schema exists, the description still fails to clarify what form of simplification is intended or how it differs from related operations.

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

    Parameters3/5

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

    Both parameters ('expression' and 'session') are fully described in the schema, so the baseline is 3. The description adds no parameter-specific meaning beyond the schema, but the schema itself is sufficient.

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

    Purpose2/5

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

    The description 'Simplify a mathematical expression' essentially restates the tool name 'simplify_expression', adding only the word 'mathematical'. It gives no detail on what kind of simplification is performed and does not distinguish from siblings like expand_expression or factor_expression.

    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 are no statements about when to choose simplification over expansion, factoring, or calculation, and no mention of exclusions or prerequisites.

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

  • Behavior1/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. It provides no information about side effects, return formats, error handling, or workspace behavior. It only restates the operations already present in the schema, adding no behavioral insight.

    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, focused sentence with no filler. It is concise and front-loaded, though it could be slightly more structured by noting that gradient/laplacian take scalar fields while divergence/curl take vector fields. Its brevity is a strength.

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

    Completeness2/5

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

    The description provides almost no value beyond the operation list, even though the tool has four parameters and an output schema. It fails to explain the scalar/vector distinction, session usage, or relationship to sibling tools. The schema compensates partially, but the standalone description is incomplete.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the baseline is 3. The description lists the operations, which duplicates the operation parameter's explanation, and adds nothing about the expression format, variables, or session behavior. It neither improves nor degrades parameter understanding beyond the schema.

    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 identifies the tool as performing vector calculus operations and enumerates the specific operations (gradient, divergence, curl, laplacian). This distinguishes it from scalar calculus tools like differentiate_expression, though it lacks an explicit verb like 'compute'.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives such as differentiate_expression or integrate_expression. The operation list gives implicit context, but there is no explicit mention of when to use or avoid this tool.

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

  • Behavior2/5

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

    With no annotations, the description bears the full burden of behavioral disclosure, but it only states the basic action. It fails to mention output format, side effects on the session workspace, error handling, or any limitations, leaving an agent without insight into the tool's 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 appropriately short with no wasted words, but it is under-specified for a tool with many similar siblings. Brevity here sacrifices crucial distinguishing information, making it less useful than a slightly longer description would be.

    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?

    Although an output schema exists and parameter schema coverage is full, the description lacks context for tool selection and usage. It does not explain what 'expand' means in this mathematical context, nor does it hint at when to prefer it over related operations.

    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?

    All parameters are already documented in the input schema (100% coverage), so the description adds no additional meaning. The schema describes 'expression' and 'session' sufficiently, and the description does not elaborate on how they interact.

    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 'expand' on a 'mathematical expression', which is a specific verb and resource. However, it does not distinguish itself from sibling tools like 'series_expansion' or 'simplify_expression', so it lacks differentiation.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It does not mention what types of expressions are suitable, nor does it reference any sibling tools for comparison.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full responsibility for disclosing behavior. The terse statement 'Compute the limit of an expression' offers no insight into edge cases, error conditions, or side effects. It does not mention handling of one-sided limits, infinity, or symbolic results, which are only implied by schema parameters.

    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 with no fluff or redundancy. It is front-loaded and easy to parse. While minimal, it is appropriately concise for the tool's core purpose.

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

    Completeness3/5

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

    The tool is a straightforward computational operation, and the schema covers parameters, with an output schema present. However, the description alone does not clarify when to choose limit_expression over similar symbolic tools like series_expansion or evaluate_sage. Given the rich schema and output schema, a score of 3 reflects adequacy but with room for more contextual guidance.

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

    Parameters3/5

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

    The input schema provides thorough descriptions for all five parameters, including point, direction, variable, session, and expression, so schema coverage is 100%. The description adds no additional parameter information, but the baseline of 3 is appropriate given the high schema coverage.

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

    Purpose4/5

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

    The description uses a specific verb ('Compute') and names the resource ('limit of an expression'), clearly identifying the operation. It distinguishes from sibling calculus tools like differentiate_expression and integrate_expression by the mathematical concept. However, it does not explicitly contrast itself with series_expansion or other limit-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?

    No guidance is provided for when to use this tool versus alternatives. The description lacks any mention of prerequisites, typical use cases, or exclusions. With many sibling tools, the absence of usage context makes selection harder.

    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?

    Since no annotations are provided, the description must carry the full burden of disclosing behavioral traits. It only says 'reset the SageMath session state', which implies destruction but does not specify what exactly is cleared, whether running computations are interrupted, whether the action is reversible, or if it affects only the named session. This lack of detail is a significant transparency gap for a mutating operation.

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

    Conciseness4/5

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

    The description is a single, concise sentence with no redundant phrasing. It starts with the action verb 'reset' and immediately informs about the resource. It could be slightly more structured to include usage context, but as a concise statement of purpose it is efficient 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?

    The description is incomplete for a session management tool with no annotations. It lacks context about when to reset (as opposed to start/stop), the consequences of resetting (e.g., loss of variables), and how the 'session' parameter affects the operation. Though the schema covers the parameter, the description does not integrate this into a full picture, leaving the agent with an incomplete understanding of the tool's behavior.

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

    Parameters3/5

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

    Schema coverage is 100%, with the only parameter 'session' fully described in the input schema. The tool description adds no additional parameter information, so the baseline of 3 applies. It does not enhance the agent's understanding of how the 'session' parameter influences the reset behavior beyond what the schema already conveys.

    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 a specific action (reset) and resource (SageMath session state) with scope (current MCP session). It distinguishes from sibling session management tools like start, stop, interrupt, and cancel by using 'reset' and 'session state'. However, it doesn't explicitly contrast with alternatives, so a 4 rather than 5.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives such as start, stop, or interrupt. It merely states what it does without indicating typical scenarios, prerequisites, or exclusions. This is a clear gap for an agent deciding between session management tools.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the operation, with no mention of default order/point, session handling, output format, or limitations, which is insufficient for a tool with 5 parameters.

    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 single-sentence description is very concise and free of fluff, but it is minimal to the point of under-specification. It earns its place by stating the core purpose, though it could include more useful context without becoming bloated.

    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 5 parameters, lack of annotations, and many sibling tools, the description is too sparse. It relies entirely on the schema for parameter understanding and provides no context about when series expansion is appropriate or how it differs from related operations. The output schema exists, but the description does not leverage it.

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

    Parameters3/5

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

    The input schema provides descriptions for all 5 parameters with defaults and examples, achieving 100% coverage. The description adds no parameter-specific information, so the baseline score of 3 applies.

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

    Purpose4/5

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

    The description clearly states the tool computes a Taylor/Laurent series expansion, using a specific verb and resource. It distinguishes from siblings like expand_expression, though it does not explicitly name alternatives.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives such as expand_expression or limit_expression. There are no exclusions, prerequisites, or typical use cases mentioned.

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

  • Behavior2/5

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

    With no annotations provided, the description must fully disclose behavioral traits. It states the output format (numeric/string) but fails to mention whether evaluation mutates session state, requires authentication, or has other side effects. The 'session' parameter implies statefulness, but this is not addressed.

    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 unnecessary words or repetition. It is front-loaded with the action and outcome, making it highly concise and easy to parse.

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

    Completeness3/5

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

    The tool is relatively simple with two parameters and an output schema exists, so return details are not needed. However, given the large set of sibling tools, the lack of any usage context or differentiation makes the description only minimally sufficient for disambiguation.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the schema fully documents both parameters. The description does not add any meaning beyond what the schema already provides, such as expression syntax or session behavior, so the baseline score of 3 applies.

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

    Purpose4/5

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

    The description clearly states the tool evaluates a SageMath expression and returns numeric/string forms, providing a specific verb and resource. However, it does not distinguish this from sibling tools like 'evaluate_sage' or 'evaluate_sage_streaming', which likely perform similar evaluation tasks.

    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 offers no guidance on when to use this tool versus alternatives such as simplify_expression, solve_equation, or evaluate_sage. No context or exclusion criteria are provided, leaving the agent to guess based on the generic name.

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

  • Behavior2/5

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

    No annotations are present, so the description carries the full burden. It merely restates the purpose without disclosing behavior such as session handling, error cases, or whether integer factoring returns prime factors. This is minimal behavioral disclosure.

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

    Conciseness5/5

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

    The description is one concise sentence, front-loaded with the verb, and contains no filler or redundant structured data. It is appropriately sized for a simple tool.

    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 tool with fully documented schema and an output schema, the description is adequate. However, it lacks usage context such as when to prefer this over similar symbolic operations, and does not mention behavioral notes on sessions or limitations.

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

    Parameters3/5

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

    The input schema already provides complete descriptions and examples for both parameters (100% coverage). The description adds no new parameter-level meaning beyond restating that the expression can be an integer, which the schema already says.

    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 'Factor a mathematical expression or integer' states a specific verb and resource, clearly distinguishing factoring from differentiation/integration. However, it does not explicitly differentiate from sibling tools like simplify_expression or expand_expression.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives such as simplify_expression or expand_expression. The description only states what the tool does, with no exclusions, prerequisites, or contextual hints.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden for behavioral disclosure, yet it only restates the purpose. It does not explain session behavior, variable handling, or symbolic vs numeric solving, leaving the agent without crucial context.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence with zero wasted words. It is appropriately concise for the tool's purpose.

    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 output schema and full parameter coverage, the description is adequate but minimal. It fails to mention session workspaces or provide context on solving limitations, but the schema compensates for parameter detail.

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

    Parameters3/5

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

    Schema coverage is 100% with parameter descriptions for equation, variable, and session, so the schema already documents parameter semantics. The description adds no additional parameter meaning, earning the baseline score.

    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 solves an equation or system of equations, providing a specific verb and resource. It distinguishes from solve_ode by not mentioning differential equations, but it does not explicitly differentiate from numerical root finding (find_root).

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

    Usage Guidelines2/5

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

    The description gives no guidance on when to use this tool versus alternatives such as find_root, solve_ode, or evaluate_sage. No exclusions or prerequisites 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?

    With no annotations, the description carries the burden of disclosing side effects. It does mention that the worker is restarted, which is a significant destructive behavior. However, it is ambiguous whether the restart affects a single session or the entire worker, and it does not state what happens to session state, so behavioral transparency is only partially addressed.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence with no wasted words. It communicates the core action and the restart effect efficiently.

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

    Completeness2/5

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

    The description lacks essential context for an agent to select correctly among the many sibling session-related tools. It does not clarify whether restarting the worker is global or session-scoped, nor does it contrast with interrupt or reset. The presence of an output schema does not compensate for this ambiguity.

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

    Parameters3/5

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

    The input schema fully describes the one parameter ('session') with a clear description, and schema coverage is 100%. The tool description adds no additional parameter semantics, so a baseline of 3 is appropriate.

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

    Purpose4/5

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

    The description clearly states the action ('Cancel any running Sage computation') and the additional effect ('restart the worker'), which is specific enough. However, it does not differentiate from sibling tools like interrupt_sage_session or reset_sage_session, so it only achieves a 4, not 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?

    There is no guidance on when to use this tool versus the many sibling tools (interrupt_sage_session, reset_sage_session, stop_sage_session). The description implies a use case but provides no explicit context or exclusions.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden for disclosing behavioral traits. It merely lists operations without mentioning side effects, session requirements, or output behavior. There is no statement about whether this is a read-only computation or if it modifies any 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, concise sentence that front-loads the core purpose and lists all supported operations. There is no wasted wording, and it is easily skimmable for an agent.

    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 that an output schema exists and the input schema fully documents all parameters (including distribution names and operation values), the description is mostly complete for tool selection and invocation. It lacks explicit mention of how to combine operations with parameters, but the schema covers this. Minor ambiguity around 'quantile' (needs probability vs x) is acceptable.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the baseline is 3. The description does not add additional meaning beyond the schema; it restates operation names that are already enumerated in the operation parameter. It does not clarify relationships like x being needed for pdf/cdf/quantile and n for sampling, but the schema descriptions already cover these roles.

    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 identifies the tool as handling probability distribution operations, listing specific operations (PDF, CDF, quantile, mean, variance, sampling). This distinguishes it from sibling tools that focus on algebra, calculus, or other math domains. However, it lacks a strong verb like 'compute' or 'evaluate', instead using the nominal '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?

    The description provides no explicit guidance on when to use this tool versus alternatives like statistics_summary or calculate_expression. It lists the operations but does not give context about which distribution or scenario warrants this tool. Usage is only implied by the tool's name and sibling 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?

    With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that the tool returns a base64-encoded PNG, but does not mention whether it requires an active Sage session, how it interacts with session state, how range and variable defaults affect the result, or any error behavior. This is a significant gap for a tool that likely depends on session context.

    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 nine words, front-loaded with the key action and output format. Every word earns its place; there is no repetition of schema information or unnecessary filler.

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

    Completeness4/5

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

    Given the 100% parameter schema coverage, an existing output schema, and the moderate complexity of a 2D plotting tool, the description is largely sufficient. It adds the critical return format (base64 PNG) and combined with the schema, an agent can likely invoke the tool correctly. The main omission is usage context relative to sibling plotting tools, but that is covered under usage_guidelines.

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

    Parameters3/5

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

    Schema description coverage is 100%, so all five parameters already have descriptions. The tool description adds no extra parameter semantics beyond the action of plotting; it does not clarify parameter interplay or provide examples. Baseline 3 is appropriate because the schema does the heavy lifting.

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

    Purpose4/5

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

    The description clearly states the action ('Plot'), the resource ('an expression'), and the return format ('base64-encoded PNG image'). It is specific enough to distinguish from some siblings via the singular 'an expression,' but it does not explicitly contrast with plot_multi_expression or plot3d_expression, so it lacks full sibling differentiation.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives such as plot_multi_expression or plot3d_expression. The description does not mention exclusions, prerequisites (like needing an active session), or recommended scenarios, so an agent must infer usage entirely from the tool name and parameter names.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of disclosing behavioral traits, but it barely does. It does not mention that operations use a named session, whether they modify state, or any side effects. The description only lists high-level operations, omitting important context like how workspaces are managed or that some operations may be computationally intensive.

    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, tightly written sentence that front-loads the tool's purpose. It contains no redundant phrases and immediately conveys the scope. This is an excellent example of conciseness, though it sacrifices some detail.

    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 five parameters and multiple operations, this description is incomplete. It omits several operations (like reduce and is_groebner), fails to explain session behavior, and gives no usage guidance. While an output schema exists, the absence of annotations and minimal behavioral disclosure leaves significant gaps in the agent's understanding.

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

    Parameters3/5

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

    The schema covers 100% of parameters, so the baseline is 3. The description adds no extra parameter meaning beyond what the schema already provides; it only mentions high-level operations like Groebner bases and ideals, which map to the operation enum but don't clarify how to format inputs. Since the schema already describes parameters like ring_vars and polynomials adequately, no additional semantic enrichment 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 tool's function: polynomial ring operations, including constructing rings and computing Groebner bases, ideals, and quotients. This distinguishes it from sibling tools like solve_equation or differentiate_expression, which handle other mathematical domains. The verb 'compute' and specific resources make the purpose unambiguous.

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

    Usage Guidelines2/5

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

    There is no explicit guidance on when to use this tool versus alternatives. The description relies on the tool name and general phrasing, but does not mention exclusions or direct users to other tools for different tasks (e.g., calculus operations). This leaves the agent without clear decision-making support.

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

  • Behavior2/5

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

    With no annotations, the description carries full responsibility for behavioral disclosure, but it only restates the action. It does not mention details like symbolic computation behavior, handling of multiple variables, session interactions, or potential side effects beyond the operation itself.

    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, front-loaded sentence with no redundancy. Every word contributes to the core purpose, making it appropriately sized for a simple tool.

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

    Completeness3/5

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

    The description is minimal but the full parameter schema and an output schema exist to cover structural details. However, it lacks contextual depth like usage scenarios, the role of sessions, or relationships to sibling tools, leaving gaps for an agent that needs broader context.

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

    Parameters3/5

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

    Schema description coverage is 100%, with all four parameters (expression, variable, order, session) already documented. The description adds no extra meaning beyond the schema, so the baseline of 3 applies.

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

    Purpose5/5

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

    The description uses the specific verb 'differentiate' with a clear resource ('an expression') and scope ('with respect to a variable'). It distinguishes the tool from siblings like integrate_expression and limit_expression by naming the unique operation.

    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's no mention of prerequisites, limitations, or concrete scenarios, leaving the agent to infer usage solely from 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?

    With no annotations, the description must carry the burden of disclosing side effects and edge cases. It does state the output format ('result as nested lists'), which is helpful, but it does not mention dimension mismatch behavior, symbolic entry support, or whether session state is read or modified.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence that conveys the core action and result format without wasted words. It is concise and well-structured.

    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 input schema and output schema handle parameter and return details, and the description covers the primary purpose. However, it is incomplete regarding error conditions, the role of the 'session' parameter, and any stateful behavior, which leaves some context missing.

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

    Parameters3/5

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

    The input schema already provides detailed descriptions for both matrix parameters, including the note about integers and decimal strings. The description adds no parameter-specific meaning, so the baseline score of 3 applies given the high schema coverage.

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

    Purpose5/5

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

    The description states a specific verb ('Multiply') and resource ('two matrices') and clearly defines the output as 'nested lists'. This unambiguously distinguishes matrix_multiply from broader sibling tools like matrix_operation.

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

    Usage Guidelines2/5

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

    No guidance is given about when to use this tool versus alternatives such as matrix_operation or calculate_expression. The description only states what the tool does, not the context or exclusions.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the full burden of behavioral disclosure. It does note that the workspace has its own independent variables, but it omits important side effects such as what happens if the name already exists, whether workspace creation can fail, or whether it overwrites or errors. For a stateful creation tool, this is a significant gap.

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

    Conciseness5/5

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

    The description is a single, direct sentence that starts with the action verb and includes only relevant information. It is appropriately front-loaded and contains no wasted 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?

    The tool is simple and an output schema exists, so return-value documentation isn't necessary. However, given the large sibling set of session-management and mathematical tools, the description would be more complete if it explicitly contrasted starting a session with resetting/stopping and noted behavior on duplicate names. It is adequate but minimally sufficient.

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

    Parameters3/5

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

    The single 'name' parameter is already fully described in the input schema ('Workspace name, e.g. 'curves' or 'scratch''). The description adds minimal extra meaning by tying the name to the concept of a named workspace, but it does not provide additional validation, formatting, or lifecycle details. Baseline 3 is appropriate given 100% schema coverage.

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

    Purpose5/5

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

    The description uses a specific verb ('Start') and resource ('named Sage workspace') and adds 'with its own independent variables', clearly distinguishing this creation tool from lifecycle siblings like reset, interrupt, cancel, list, and stop. It fully communicates what the tool does.

    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 when an isolated named workspace is needed, but it does not explicitly state when to use this tool versus reset/list/stop or any other session-management sibling. No exclusions or alternatives are mentioned, leaving usage context to be inferred.

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

  • Behavior3/5

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

    With no annotations, the description carries the burden and does add the key streaming behavior. However, it does not disclose potential side effects on the session workspace or error handling (e.g., what happens if execution fails or times out).

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

    Conciseness5/5

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

    Two concise, front-loaded sentences with no filler. Every word adds value: the streaming behavior and the usual return of the final result.

    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 output schema exists, the description adequately covers the core functionality and differentiator. It explains streaming and final result, but does not mention error behavior or session state side effects, which would enhance completeness.

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

    Parameters3/5

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

    Schema coverage is 100% with all three parameters described in the input schema. The description adds no additional parameter-specific meaning beyond what the schema already provides, so the baseline of 3 applies.

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

    Purpose5/5

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

    Description clearly states the verb 'Execute' plus resource 'SageMath code' and the unique streaming behavior of print() output, which distinguishes it from the sibling tool evaluate_sage. The phrase 'Final result is returned as usual' adds clarity about the return behavior.

    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 like evaluate_sage. The streaming behavior implies a use case, but the description does not state exclusions or directly compare to other tools.

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

  • Behavior2/5

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

    No annotations are provided, so the description must fully disclose behavioral traits. It mentions 'construct' and 'query' but does not clarify side effects on sessions, whether it creates variables, or how results are returned. This is a notable gap for a tool with a session/workspace parameter.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence with no wasted words. It quickly establishes the domain and key capabilities, making it easy for an agent to parse.

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

    Completeness4/5

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

    Given that the input schema comprehensively covers parameters and an output schema exists, the description is mostly complete. It lacks some operational details, such as workspace behavior, but is sufficient for selecting and invoking the tool correctly in most 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 coverage is 100% and the schema clearly describes the 'group' and 'operation' parameters with examples. The description adds minimal value beyond that and includes a slight mismatch by saying 'center' while the schema uses 'center_order'. It also says 'etc.', which could misleadingly imply more operations than the fixed list.

    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: 'construct groups and query properties' using group theory. It gives concrete examples like order, is_abelian, and center, which distinguishes it from sibling tools focused on other math domains.

    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 group theory operations but does not explicitly state when to prefer this tool over alternatives or mention exclusions. It is clear from context that it is for group-theoretic queries, but no direct comparison with sibling tools 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 carries the full burden. It states plotting behavior ('overlaid on a single 2D graph') but does not disclose side effects, session handling, or error behavior. For a tool with 5 parameters, this is minimal disclosure.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence with no wasted words. It immediately conveys the core functionality.

    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 presence of a full input schema and an output schema, the description does not need to explain return values. The short description covers the key behavior, and the schema provides the remaining parameter and default details. It is reasonably complete for a plotting tool, though it lacks usage examples or non-schema context.

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

    Parameters3/5

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

    Schema description coverage is 100%, so the baseline is 3. The description adds minimal parameter meaning beyond the schema—it mentions 'multiple expressions' and 'overlaid,' which aligns with the expressions parameter, but does not elaborate on any other parameters. The schema covers the rest.

    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+resource ('Plot multiple expressions') and clearly states the overlay on a single 2D graph, which effectively distinguishes it from siblings like plot_expression (single expression) and plot3d_expression (3D).

    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 multiple expressions but does not explicitly state when to use it versus alternatives like plot_expression, nor does it mention exclusions or prerequisites. The 'multiple expressions' wording provides only implicit guidance.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the full burden. It adds the behavioral detail 'release its worker', but fails to disclose side effects (e.g., whether the workspace is deleted, if the operation is reversible, or if there are prerequisites). For a mutation tool with ambiguous siblings, this is insufficient.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence that immediately states the action and resource. There is no wasted phrasing or redundant information.

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

    Completeness2/5

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

    Despite having an output schema and only one simple parameter, the tool exists among many similar session-management siblings. The description does not clarify how stop differs from cancel or interrupt, nor does it explain what 'release its worker' entails. This incompleteness leaves the agent under-informed for correct tool selection.

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

    Parameters3/5

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

    Schema coverage is 100% and the parameter description 'Workspace name to stop' already conveys the semantics. The tool description says 'named Sage workspace', but adds no new meaning beyond the schema. Baseline of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states the action ('Stop') and the resource ('a named Sage workspace'), and adds the distinctive detail of 'release its worker'. This verb+resource combination differentiates it from sibling tools like reset_sage_session, interrupt_sage_session, and cancel_sage_session.

    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 a clear usage context: stopping a named workspace and releasing its worker. However, it does not explicitly mention when to prefer this over sibling tools like cancel or reset, or provide exclusions. The context is clear but lacks explicit alternative guidance.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full responsibility for behavioral disclosure. It does not mention return value shape, failure behavior when no root exists, whether multiple roots are handled, or side effects on the named session/workspace, leaving significant behavioral ambiguity.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence with no filler. It efficiently states the action and key constraint, earning every word.

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

    Completeness3/5

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

    The tool is moderately complex (numeric algorithm, interval bounds, session scoping), and the output schema exists to define return shape. Yet the description alone omits important behavioral details like failure modes and multi-root behavior, making it only partially complete even when combined with schema.

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

    Parameters3/5

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

    All 5 parameters are already fully described in the input schema, so the baseline is 3. The description adds no new parameter semantics, only restating the concept of an expression and interval; it does not explain session or variable handling beyond the schema.

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

    Purpose5/5

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

    The description uses a specific verb ('Find'), a clear resource ('numeric root of an expression'), and a scope ('in a given interval'). This distinguishes it from symbolic-solving siblings like solve_equation, as it emphasizes numeric approximation within a bounded interval.

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

    Usage Guidelines4/5

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

    The phrase 'numeric root ... in a given interval' conveys a clear intended context: numerical root-finding with a bounded search range. However, it does not explicitly mention alternative tools or when not to use this tool, so it falls short of an explicit usage guideline.

    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 bears the full burden of behavioral disclosure. It only states that the tool returns a general solution with arbitrary constants, but omits session requirements, side effects, limitations (e.g., nonlinear ODEs), or error behavior. This is insufficient for a tool in a session-based environment.

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

    Conciseness5/5

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

    The description is two sentences, front-loaded with the action and outcome, and includes a minimal preference note. Every sentence earns its place, with no redundant or filler content.

    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 schema and output schema cover parameter details and return shape, but the description does not mention important context like session prerequisites or limitations. It conveys the core purpose and a selection hint, but leaves gaps that could mislead an agent in complex usage scenarios.

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

    Parameters3/5

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

    The input schema has 100% description coverage for all four parameters, so the baseline is 3. The description does not add additional parameter semantics beyond what the schema already provides; it only mentions the output type, not the meaning of parameters.

    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 states a specific action ('Solve an ordinary differential equation of any order') and the outcome ('returning the general solution with arbitrary constants'). This clearly distinguishes it from siblings like solve_equation or evaluate_sage, and the explicit preference note reinforces its purpose.

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

    Usage Guidelines4/5

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

    The description provides direct guidance with 'Prefer this over evaluate_sage', naming an alternative to use instead. However, it does not mention when not to use this tool or discuss other alternatives like solve_equation for algebraic equations, so it lacks full exclusionary guidance.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states what the tool computes but does not mention any side effects, session behavior, error conditions, or execution details (e.g., whether it modifies state or requires a running Sage session). This is a significant gap for a tool with no annotation safety hints.

    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 exactly two sentences. The first efficiently lists the tool's scope, and the second provides a clear usage preference. Every word earns its place with no fluff or redundancy.

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

    Completeness4/5

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

    Given the presence of a full input schema, an output schema, and the tool's moderate complexity, the description covers the core functionality and gives a usage hint. It could be more complete by addressing session behavior or edge cases, but the structured schemas fill most gaps. The description is sufficiently complete for an agent to correctly select and invoke the tool for most coding theory parameter queries.

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

    Parameters3/5

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

    Schema coverage is 100%—all three parameters (session, code_type, operation) have descriptions with examples. The tool description adds context about the code families and operations, but this largely mirrors the schema's own descriptions and adds limited new semantic value beyond what is already structured.

    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 computes error-correcting code parameters (length, dimension, minimum distance, rate, generator matrix) for Hamming and generalized Reed-Solomon codes. It uses a specific verb ('compute' implied), names the resource (codes), and distinguishes itself from the sibling tool evaluate_sage.

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

    Usage Guidelines4/5

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

    The description gives explicit guidance to prefer this tool over evaluate_sage for code parameters, naming the alternative. However, it does not explicitly state when not to use this tool (e.g., for non-code computations or other code families), so it falls slightly short of a 5.

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

  • 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 hints at side effects by mentioning 'create named graphs' but does not explain whether operations modify the workspace, what happens on invalid graphs, or any permissions. This lack of transparency is a clear gap for a tool that may mutate session 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 front-loaded sentence that pairs a domain label with action verbs and concrete examples, with no filler. Every word contributes to understanding the tool's purpose.

    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?

    The combination of a rich schema, output schema, and the domain-specific description is sufficient for an agent to understand the tool's scope. However, the description alone is thin regarding operation-specific requirements (e.g., source/target for shortest_path), which are only in the schema, so it is not fully self-contained.

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

    Parameters3/5

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

    The input schema already describes all five parameters at 100% coverage, including valid operations and graph constructor formats. The description merely echoes some operation names without adding new semantic information, so it stays at the baseline of 3 for high schema coverage.

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

    Purpose5/5

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

    The description clearly identifies the domain (Graph theory) and the specific actions: 'create named graphs and compute properties'. It lists concrete property examples (chromatic_number, is_connected, diameter) and uses 'etc.' to indicate more, making it distinct from sibling operation tools like geometry_operation or group_operation.

    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 'Graph theory:' prefix provides clear context for when to select this tool among the sibling math operation tools. However, it does not explicitly state when not to use it or mention alternatives, so it lacks explicit exclusion guidance but offers clear domain 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?

    With no annotations provided, the description carries the full burden. It discloses the key behavior of supporting both indefinite and definite integration ('definite with bounds'), but it does not clarify requirements like needing both bounds, behavior for non-integrable expressions, or the return format. This adds some value but leaves notable 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 with no filler, front-loading the core purpose. Every word earns its place, achieving maximum conciseness.

    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 5 parameters and an output schema, yet the description is only one sentence. It adequately covers the basic function but omits details such as handling of symbolic bounds, edge cases, or workspace session usage. For a complex symbolic integration tool, this is minimally sufficient but not comprehensive.

    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 already covers parameter descriptions 100%, so the baseline is 3. The description's phrase 'definite with bounds' adds meaning beyond the schema by explaining the combined effect of lower_bound and upper_bound — that providing them yields a definite integral. This interprets parameter interaction, which is not stated in the schema.

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

    Purpose5/5

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

    The description uses the specific verb 'Integrate' and identifies the resource as 'an expression', clearly conveying the tool's function. The parenthetical 'indefinite or definite with bounds' further distinguishes the two modes and sets it apart from sibling tools like 'differentiate_expression'.

    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 usage is implied by the tool name and description — if you need to integrate, you use this tool. However, it does not explicitly state when to prefer it over alternatives (e.g., differentiate_expression) or provide any exclusions or prerequisites, leaving the agent to infer from 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?

    No annotations are provided, so the description itself must convey behavior. 'List' strongly implies a read-only, non-mutating operation, which is transparent enough for a simple list. However, it does not explicitly state that no side effects occur or whether it includes all workspaces or only some, leaving minor ambiguity.

    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 sentence of 8 words, front-loaded with the action verb 'List'. Every word is meaningful and there is 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?

    With zero parameters and an output schema, the description is mostly sufficient. However, it uses 'workspaces' while the tool name says 'sessions', which could confuse the agent. It also offers no context on potential empty returns or relationship to the other session tools, so completeness is slightly lacking.

    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 the schema already reflects that. Per the baseline for 0 params, there is nothing for the description to add about parameter syntax or semantics, so a score of 4 is appropriate.

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

    Purpose5/5

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

    The description clearly states a specific action ('List'), the resource ('named Sage workspaces'), and the scope ('belonging to this client'). This distinguishes it from sibling session-management tools like start_sage_session or stop_sage_session, which imply different operations.

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

    Usage Guidelines3/5

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

    Usage is implied by the verb 'List'—an agent would naturally use this to see existing workspaces—but no explicit guidance is given about when to prefer it over alternatives like start_sage_session. No exclusions or prerequisites are mentioned.

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

  • Behavior2/5

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

    There are no annotations, so the description carries the full burden for behavioral transparency. However, it only lists operations and gives a preference over evaluate_sage; it does not disclose whether the tool modifies session state, whether it works with symbolic entries, or any side effects. The minimal behavioral detail beyond the operation list is insufficient.

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

    Conciseness5/5

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

    The description is a single, dense sentence followed by a one-sentence preference note. It is front-loaded with the core purpose and operation list, and every word earns its place. There is no repetition 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 a moderate complexity with an output schema and full parameter descriptions, but the description omits context about session usage (the session parameter suggests a workspace model) and does not clarify whether a running Sage session is required or if results are stored. Still, for the core calculation purpose, the description is adequate with the schema filling most 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?

    Schema description coverage is 100% (all three parameters have descriptions), so the baseline is 3. The description does not add meaning beyond the schema; it repeats the operation names already enumerated in the operation parameter description. 'Reduced row echelon form' is a synonym for 'rref' but not a substantive semantic addition.

    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 explicitly states 'Linear algebra on one matrix' followed by a list of specific operations (determinant, inverse, eigenvalues, rank, reduced row echelon form, transpose). It clearly distinguishes this tool from matrix_multiply (one vs. multiple matrices) and from evaluate_sage by saying 'Prefer this over evaluate_sage'.

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

    Usage Guidelines5/5

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

    The description gives explicit when-to-use guidance: for linear algebra on a single matrix. It also says 'Prefer this over evaluate_sage', naming an alternative, and the scope 'on one matrix' implicitly tells when not to use it (e.g., for multi-matrix operations). This meets the explicit when/when-not/alternatives criterion.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It only lists operations and a preference note, without mentioning return behavior, side effects, performance, or error conditions. The schema's statement that 'All return a single integer' is behavioral information, but that resides in the schema, not the description, so credit is limited.

    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 with no filler. The first sentence front-loads the domain ('Combinatorics:') and the second earns its place by giving usage guidance. Structure is clean and efficient.

    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?

    There is an output schema, so return values don't need to be in the description. The description covers the tool's purpose and a usage alternative, which is sufficient for a computational tool. It doesn't mention session behavior, but the schema covers the session parameter, so the description is complete enough given the rich schema.

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

    Parameters3/5

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

    Schema coverage is 100%, so the baseline is 3. The description does not add any parameter semantics beyond the schema; it repeats operation values already enumerated in the operation property. No extra meaning is provided, so the baseline score is appropriate.

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

    Purpose5/5

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

    The description clearly enumerates the specific mathematical operations (binomial, permutations, combinations, partitions, factorial, Catalan, Fibonacci, Bell numbers), giving a definite resource scope. It also distinguishes this tool from the sibling evaluate_sage by naming it explicitly, which helps with tool selection.

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

    Usage Guidelines5/5

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

    The final sentence, 'Prefer this over evaluate_sage for any of these,' directly tells the agent when to use this tool instead of a specific sibling. This is explicit comparative guidance, even if it doesn't mention exclusions or other alternatives.

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

  • Behavior3/5

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

    No annotations are provided, so the description must bear the full burden. It discloses a key behavioral trait—preserving variables—which goes beyond the tool name. However, it does not mention potential side effects, whether it is destructive to the session, or what happens if no computation is running. This is a notable gap for a mutation-like operation.

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

    Conciseness5/5

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

    The description is a single, well-structured sentence that front-loads the verb and purpose. Every word contributes to meaning, with no redundancy or filler.

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

    Completeness4/5

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

    Given the tool's simplicity (one parameter with full schema coverage, output schema present), the description captures the essential behavior. However, because there are no annotations, a richer description of side effects or session impact would improve completeness. Still, the description is adequate for straightforward usage.

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

    Parameters3/5

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

    The schema description for the 'session' parameter is clear and covers its semantics entirely (100% coverage). The tool description adds no additional parameter information. With full schema coverage, a baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description uses a specific verb ('Interrupt') with a clearly defined resource ('a running Sage computation') and a distinctive outcome ('while keeping variables defined so far'). This distinguishes it from sibling tools like cancel_sage_session or reset_sage_session, which likely discard state.

    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 the appropriate context: use this tool when you want to halt a computation but retain variables. It does not explicitly name alternatives or exclusions, but the 'while keeping variables' clause conveys when not to use it (when you don't need variables). Slight deduction for not explicitly stating alternative tools.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full responsibility for behavioral disclosure. It lists operations but says nothing about side effects, return behavior, error handling, or performance characteristics. The only non-schema behavior mentioned is the routing preference over evaluate_sage.

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

    Conciseness5/5

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

    The description is two sentences, front-loaded with the operation list and ending with an actionable routing note. Every sentence earns its place; there is no redundancy or filler.

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

    Completeness4/5

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

    Given the rich input schema (100% coverage) and presence of an output schema, the description does not need to explain return values. It provides the core scope and routing context. Adding examples or output shape notes would improve it, but it is adequate for the tool's complexity.

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

    Parameters3/5

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

    Schema description coverage is 100%, with detailed descriptions for parameters including the string rule for large integers and session defaults. The description itself adds no parameter-level semantics, but the schema already provides the needed detail, so a baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description explicitly names the domain ('Number theory') and enumerates the exact operations: primality testing, integer factorisation, next prime, gcd, and lcm. It also distinguishes the tool from a sibling ('Prefer this over evaluate_sage') by naming the alternative.

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

    Usage Guidelines5/5

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

    It gives a direct usage directive: 'Prefer this over evaluate_sage for any of these.' This tells the agent when to select this tool instead of a named alternative, satisfying the when/alternative requirement even if other siblings 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 are provided, so the description must carry the transparency burden. It does disclose that the output is a base64 PNG and that it plots a 3D surface, but it doesn't mention computational intensity, error handling, or behavior regarding sessions. This 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 sentence that is front-loaded with the core action and includes the key output detail. Every word is meaningful and there is 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 the output schema exists (as noted), the description need not explain return values. The description, combined with the rich parameter schema, provides enough context for an agent to select and invoke the tool correctly. It lacks only minor behavioral nuances, but for a plotting tool with this schema, it's fairly complete.

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

    Parameters3/5

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

    Schema description coverage is 100% because every parameter has a description. The description adds no additional meaning beyond what the schema already provides, such as details about the expression format or variable names, so baseline 3 is appropriate.

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

    Purpose5/5

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

    The description uses a specific verb 'Plot' with a clear resource '3D surface of a two-variable expression' and specifies the output format 'base64 PNG'. This clearly distinguishes it from siblings like plot_expression (likely 2D) and plot_multi_expression (multiple expressions).

    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 its usage context by stating it's for a 3D surface of a two-variable expression, which clearly separates it from 2D or multi-expression plotting tools. However, it doesn't explicitly mention when not to use it or name alternative tools, so it falls just short of a 5.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not mention what happens when no closed form exists, that the tool uses a named session/workspace, or whether the operation is read-only. These are important behavioral traits that are left unaddressed.

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

    Conciseness5/5

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

    The description is two sentences long, with the first sentence front-loading the core purpose and the second providing a direct usage cue. Every word earns its place; no filler or redundancy.

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

    Completeness4/5

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

    The operation is well-defined by the description, and the output schema plus full parameter descriptions fill in most details. However, the description omits edge-case behavior like failure modes and the session mechanism, which would make it more complete.

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

    Parameters3/5

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

    The input schema provides full descriptions for all six parameters (100% coverage). The tool description adds no extra parameter details beyond what the schema already includes, so the baseline score of 3 is appropriate.

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

    Purpose5/5

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

    The description clearly states what the tool does: computes the closed form of a symbolic sum or product over an index variable, including infinite series. This is specific and distinguishes it from siblings by noting a preference over evaluate_sage for summations.

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

    Usage Guidelines5/5

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

    It explicitly says 'Prefer this over evaluate_sage for summations,' providing an alternative and a condition for when to use this tool. The description also clarifies the scope (sums, products, infinite series), giving clear usage 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?

    No annotations are provided, so the description carries the full burden. It discloses the set of operations but does not mention whether the tool modifies any workspace state (the session parameter exists), dimension requirements, point ordering for polygon area, or error behavior. While the tool appears computational and likely pure, these gaps mean behavioral transparency is only partially addressed.

    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: the first is front-loaded with a clear capability list, the second provides a practical usage hint. No filler or redundancy; every word earns its place.

    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 output schema and high schema coverage handle return values and parameter formats, so that aspect is covered. However, the description omits critical constraints (e.g., all points must have the same dimension, polygon vertices likely need ordering, polytope_volume needs at least n+1 points in n dimensions). Without annotations, these omissions leave an AI agent uncertain about valid inputs and potential failures.

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

    Parameters3/5

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

    Schema description coverage is 100%: operation lists allowed values, points describes coordinate lists, and session explains workspace behavior. The description's operation list merely repeats what the schema already states, adding no new semantic detail. Baseline 3 is correct because the schema handles parameter semantics adequately.

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

    Purpose5/5

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

    The description clearly states a specific verb phrase ('Computational geometry on point sets') and enumerates exact operations: euclidean distance, polygon area, polytope volume, convex hull vertices, and convexity tests. This distinguishes it from sibling tools like evaluate_sage and other mathematical operations, leaving no ambiguity about scope.

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

    Usage Guidelines5/5

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

    Explicitly states 'Prefer this over evaluate_sage for these,' providing a clear alternative and indicating when this tool should be chosen. This is direct, actionable guidance that differentiates from a general-purpose evaluator, which is the most relevant sibling.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It gives some context (GF(2), operations) but does not disclose session behavior, side effects, or edge cases. The operations appear non-mutating, so this is acceptable 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?

    Two sentences, concise and front-loaded. The core purpose and usage guidance are delivered without any wasted 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?

    With an output schema and 100% schema coverage, the description doesn't need to explain return values or parameters. It covers purpose and usage, but omits mention of the 'reduce' operation and session semantics, leaving minor 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?

    Schema covers all 4 parameters with descriptions (100% coverage). The description adds little beyond restating some operation names and grouping is_zero/is_one as 'zero/one tests', which is marginal value over the schema.

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

    Purpose5/5

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

    The description clearly states the tool handles Boolean polynomials over GF(2) and lists specific operations (evaluate, list variables, degree, zero/one tests), distinguishing it from generic tools like evaluate_sage.

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

    Usage Guidelines5/5

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

    Explicitly says 'Prefer this over evaluate_sage for boolean algebra', giving a direct comparison and selection rule for when to use this tool.

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

  • Behavior3/5

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

    No annotations are provided, so the description must carry the transparency burden. It mentions the mathematical domain (over Q) and input form, but does not disclose operational behavior such as whether a Sage session is required, whether the session parameter affects state, or error behavior. This is a moderate gap for a compute 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?

    Two sentences efficiently pack the tool's purpose, scope, and a usage preference. No redundant wording; all information earns its place.

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

    Completeness4/5

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

    The tool is moderately complex but the output schema and parameter descriptions cover much. The description is concise but leaves out session-related behavior and edge cases; however, given the output schema, it's sufficient for most agents to use correctly.

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

    Parameters3/5

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

    Schema coverage is 100%, so the baseline is 3. The description lists the operation names which align with the operation property, and mentions Weierstrass coefficients, but does not add significant detail beyond the schema's own descriptions of coefficients and operation.

    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 computes elliptic curve invariants over Q (rank, torsion order, discriminant, j-invariant, conductor, generators) from Weierstrass coefficients. It names specific outputs, distinguishing it from generic math tools like evaluate_sage or number_theory_operation.

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

    Usage Guidelines5/5

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

    Explicitly recommends 'Prefer this over evaluate_sage for curve invariants,' giving direct guidance on when to choose this tool over a sibling. This is exactly what usage guidelines should provide.

    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?

    No annotations are provided, so the description carries the burden of disclosing behavioral traits. It clearly states variables persist across calls and implies that output is a repr string (by contrasting with 'typed result'). It does not mention potential side effects of arbitrary code execution or session management options (reset/interrupt), but as an arbitrary code runner the core behavior is transparent.

    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 longer than average but highly structured: it opens with the core purpose, then uses a bolded 'LAST RESORT' callout, a categorized list of alternatives, and concise examples. Every section serves a distinct purpose and the information is front-loaded. It is not bloated despite its length.

    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 general-purpose code execution tool, the description covers purpose, alternatives, use cases, and persistence behavior. The existence of an output schema means return values need not be detailed in text. Missing details like timeout behavior and session reset are handled by sibling tools (interrupt_sage_session, reset_sage_session), so the description is complete enough for the tool's complexity.

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

    Parameters3/5

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

    Schema coverage is 100%, with each parameter (code, session, timeout, want_latex, capture_stdout) having its own description. The tool description adds context about persistent sessions and code examples, but does not deepen understanding of the parameters themselves beyond the schema. This meets the baseline of 3 for a well-covered 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 opens with a specific verb+resource: 'Run arbitrary SageMath code in a persistent session; variables persist across calls.' This clearly states the tool's function and distinguishes it from dedicated siblings like calculate_expression or differentiate_expression, which handle specific, typed operations rather than arbitrary code.

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

    Usage Guidelines5/5

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

    The description explicitly positions evaluate_sage as a 'LAST RESORT' and provides a comprehensive list of dedicated tools to prefer, saying 'Use evaluate_sage only for what those do not cover.' It gives concrete examples (transforms, modular arithmetic, recurrences) and notes it is for multi-step work builds on earlier values. This is exemplary when-to-use and when-not-to-use guidance.

    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?

    Since no annotations are provided, this description must fully convey behavior. It lists exactly which statistics are computed (mean, median, population and sample variance/standard deviation, min, max), which discloses the tool's outputs. It does not mention edge cases, but for a pure statistics function the output set is sufficient.

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

    Conciseness5/5

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

    The description is two sentences: the first specifies the tool's function and output list, the second gives usage guidance. Every clause is informative and no redundant or vague wording exists.

    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?

    With a full input schema and an output schema present, the description does not need to detail return values or parameter formats. It covers purpose, usage preference, and output scope, which is complete for a tool of this simplicity in the given context.

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

    Parameters3/5

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

    The input schema fully documents both parameters (data and session) with descriptions, so the schema already covers semantics. The description does not add parameter-specific details, but the schema's 100% coverage makes the baseline of 3 appropriate; no additional explanation 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 begins with 'Descriptive statistics for a list of numbers' which clearly states the tool's function and output scope (mean, median, variances, etc.). It also names an alternative sibling (evaluate_sage) with a preference note, distinguishing it from that general-purpose tool.

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

    Usage Guidelines5/5

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

    The description explicitly instructs 'Prefer this over evaluate_sage for summary statistics,' giving a direct usage guideline. It also implies the tool is for numeric list input and provides summary stats, setting clear when-to-use context.

    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

sagemath-mcp MCP server

Copy to your README.md:

Score Badge

sagemath-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/XBP-Europe/sagemath-mcp'

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