advanced-math-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| matrix_create | Create matrix from 2D string array. Example: data: [["1","2"],["3","4"]] |
| matrix_identityA | Create n×n identity matrix. Example: n: 3 |
| matrix_zeros | Create m×n zero matrix. Example: rows: 2, cols: 3 |
| matrix_diagonal | Create diagonal matrix from vector. Example: values: ["5","6","7"] |
| evaluate | Evaluate math expression with natural syntax: A*B (matrix multiply), A+B (add), inv(A), det(A), eig(A), svd(A), solve(A,b), lu(A), qr(A), dot(u,v), cross(u,v), norm(v,type), project(u,v), transpose(A), trace(A), rank(A), charpoly(A). Matrix literals: [[1,2],[3,4]]. Vector: [1,2,3]. Use set_variable to define named vars. sid — optional session ID. Omit to auto-generate a new session. lbl — optional label for the session (used when creating a new session). |
| set_variable | Store a matrix/vector/scalar under a name for use in evaluate(). Example: name="A", expression="[[1,2],[3,4]]" or "inv([[4,7],[2,6]])" sid — optional session ID. Omit to auto-generate a new session. lbl — optional label for the session (used when creating a new session). |
| get_variableA | Get value of a stored variable. Example: get_variable({ name: 'A' }) sid — required session ID. |
| list_variablesA | List all defined variables with types/sizes in a session. sid — required session ID. |
| clear_variables | Clear all stored variables in a session. Resets state. sid — required session ID. |
| list_sessions | List active sessions with pagination and optional label filter. Use this to discover existing sessions and their labels, then reference them via sid. Results sorted by most recent first. |
| session_tag | Set or update the label on an existing session for easier identification. sid — required session ID to tag. lbl — new label (max 64 chars). |
| symbolic_simplify | Simplify algebraic expression (expands then cancels). Example: expression: "x^2 + 2*x + 1 - (x+1)^2" → 0 |
| symbolic_substitute | Replace variables with numbers or expressions. Multi-var support. Example: expression: "x^2 + y*x", substitutions: {x:"3", y:"2"} → 15 |
| symbolic_derivative | Compute d^n/dx^n of expression. order=1 (default), order=2 for second derivative. Example: expression: "x^3", variable: "x" → 3*x^2 |
| symbolic_expandB | Expand factored expression. Example: expression: "(x+1)*(x-1)" → x^2 - 1 |
| symbolic_integrateB | Indefinite integral ∫f(x)dx. Example: expression: "x^2 + sin(x)", variable: "x" |
| symbolic_definite_integralA | Definite integral ∫[lower,upper] f(x)dx. Returns antiderivative + numeric/symbolic result. Example: expression: "x^2", variable: "x", lower: "0", upper: "2" |
| symbolic_limitA | Limit lim[x→point] f(x). Supports L'Hôpital (0/0, ∞/∞). point: '0', 'inf', '+inf', '-inf'. Example: expression: "sin(x)/x", variable: "x", point: "0" → 1 |
| symbolic_partial_derivativeA | Partial derivative ∂^n/∂var^n (multivariable). Treats other vars as constants. Example: expression: "x^2y + sin(z)", variable: "x", order: 2 → 2y |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool targets a distinct mathematical operation: matrix creation, variable access, symbolic expansion, integration (indefinite and definite), limits, and partial derivatives. No two tools have overlapping purposes.
Naming conventions are mixed: some tools use verb_noun (get_variable, list_variables), some use noun-like (matrix_identity), and others use symbolic_ prefix with varying verb forms (symbolic_integrate vs symbolic_definite_integral). This inconsistency could cause confusion.
With 8 tools, the server covers a reasonable scope of advanced math operations without being bloated. The count is well-suited for the domain.
The tool set is missing critical operations: there is no way to create or set variables (only get and list), no ordinary derivative, and no equation-solving or matrix manipulation beyond identity creation. These gaps would hinder many common tasks.