Skip to main content
Glama
Symbolic Algebra MCP Server

Symbolic Algebra MCP Server

intro

Creates and stores a SymPy variable with specified positive and negative assumptions for symbolic algebra calculations.

Instructions

Introduces a sympy variable with specified assumptions and stores it.

Takes a variable name and a list of positive and negative assumptions.

Input Schema

NameRequiredDescriptionDefault
var_nameYes
neg_assumptionsYes
pos_assumptionsYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.7/5.0
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. 'Stores it' hints at session mutation, but nothing is said about redeclaring an existing name, conflicting assumptions, error behavior, or whether state persists across calls — all material for a stateful tool.

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

Conciseness4/5

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

Two short sentences with the core action front-loaded and no filler. The second sentence mostly restates the parameter names, so it earns only partial keep.

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, the description leaves three required, zero-documented parameters unexplained and says nothing about the session-state side effect. For a stateful 3-param tool with no annotations, this is under-specified.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate and largely doesn't. It maps loosely onto var_name/pos_assumptions/neg_assumptions but never explains the semantics of the two lists (e.g. one declares True assumptions, the other declares False) or how the enum values are chosen.

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?

States a specific verb and resource ('Introduces a sympy variable') and adds that the variable is stored, which conveys the stateful effect. It does not differentiate from the close sibling intro_many or from introduce_expression/introduce_function, so an agent must still infer which of the four to pick.

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 versus intro_many (bulk), introduce_expression, or introduce_function, and no mention of prerequisites such as a required prior reset_state. Usage is only implicit in the fact that it takes a variable name.

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