Math MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Control log verbosity (debug|info|warn|error) | info |
| ENABLE_GPU | No | Enable WebGPU acceleration tier (not yet implemented) | false |
| ENABLE_WASM | No | Enable WASM acceleration tier | true |
| MAX_WORKERS | No | Maximum concurrent workers | CPU cores - 1 |
| MIN_WORKERS | No | Minimum workers to keep alive (set to 0 for auto-scaling) | 2 |
| TASK_TIMEOUT | No | Task timeout in milliseconds | 30000 |
| ENABLE_WORKERS | No | Enable WebWorkers acceleration tier | true |
| MAX_MATRIX_SIZE | No | Maximum matrix dimension (1000×1000) | 1000 |
| MAX_ARRAY_LENGTH | No | Maximum array length for statistics | 100000 |
| MAX_NESTING_DEPTH | No | Maximum parentheses/bracket nesting | 50 |
| OPERATION_TIMEOUT | No | Operation timeout in milliseconds | 30000 |
| NOTIFY_DEGRADATION | No | Log when acceleration tier degradation occurs | true |
| ENABLE_PERF_LOGGING | No | Enable periodic performance statistics logging | |
| WORKER_IDLE_TIMEOUT | No | Idle timeout in ms before worker termination | 60000 |
| DISABLE_PERF_TRACKING | No | Disable performance tracking for minimal overhead | |
| MAX_EXPRESSION_LENGTH | No | Maximum expression length (characters) | 10000 |
| DISABLE_WASM_INTEGRITY | No | Disable WASM integrity checks (development only) |
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 |
|---|---|
| evaluateC | Evaluate a mathematical expression. Supports arithmetic, algebra, calculus, matrices, and more. Example: '2 + 2', 'sqrt(16)', 'derivative(x^2, x)', 'det([[1,2],[3,4]])' |
| simplifyC | Simplify a mathematical expression. Example: '2 * x + x' becomes '3 * x' |
| derivativeA | Calculate the derivative of an expression with respect to a variable. Example: derivative('x^2', 'x') returns '2*x' |
| solveA | Solve an equation. Example: solve('x^2 - 4 = 0', 'x') returns the solutions |
| matrix_operationsB | Perform matrix operations like multiply, inverse, determinant, transpose, eigenvalues. Matrices should be in array format like [[1,2],[3,4]]. |
| statisticsA | Calculate statistical values like mean, median, mode (returns array), std (standard deviation), variance, min, max, sum, product. |
| unit_conversionA | Convert between units. Example: convert '5 inches to cm' or '100 fahrenheit to celsius' |
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 7 tools
The tools are mostly distinct in their specialized purposes (derivative, solve, matrix_operations, statistics, unit_conversion), but the 'evaluate' tool is a catch-all that can also handle calculus and matrices, creating ambiguity with the specialized tools. An agent might struggle to decide whether to use 'evaluate' or a dedicated tool for a given task.
Naming is consistently lowercase and uses underscores for multi-word names, but the pattern mixes verbs (evaluate, simplify, solve) and nouns (derivative, matrix_operations, statistics, unit_conversion). This is readable but not a uniform verb_noun convention.
With 7 tools, the server is well-scoped for a math toolkit, covering algebra, calculus, linear algebra, statistics, and unit conversion. Each tool has a clear domain, and the count is within the ideal range.
The server covers core math operations well (evaluate, simplify, derivative, solve, matrices, statistics, conversions), but integration (antiderivatives) is a notable missing calculus operation. This is a minor gap that agents might work around with 'evaluate' if supported, but it's not explicitly included.