MathJS Calculator MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MathJS Calculator MCP Servercalculate 2 * (3 + 4)"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MathJS Calculator MCP Server
An MCP server implementation that provides mathematical calculation capabilities using the MathJS library.
Features
Evaluate mathematical expressions
Calculate derivatives of expressions
Handle complex mathematical operations
Provide clear error messages for invalid inputs
Related MCP server: Calculator MCP Server
Tools
calculate
Evaluates mathematical expressions and returns the result.
Inputs:
expression(string): The mathematical expression to evaluate
derivative
Calculates the derivative of a mathematical expression with respect to a variable.
Inputs:
expression(string): The mathematical expression to differentiatevariable(string): The variable to differentiate with respect to
Usage
The MathJS Calculator tool is designed for:
Evaluating mathematical expressions
Computing derivatives
Handling complex calculations
Providing clear feedback for calculation errors
Configuration
Usage with Claude Desktop
Add this to your claude_desktop_config.json:
npx
{
"mcpServers": {
"mathjs-calculator": {
"command": "npx",
"args": [
"-y",
"mathjs-mcp-server"
]
}
}
}Building and Testing
Build
To build the project:
npm install
npm run buildTesting with Inspector
To test the server with the MCP Inspector:
Open the MCP Inspector in another terminal:
npm run inspectorConnect to the server at
http://localhost:5173(default port)Test the available tools:
Use the "calculate" tool to evaluate expressions
Use the "derivative" tool to compute derivatives
Example Usage
// Calculate expression
{
"expression": "2 * (3 + 4)"
}
// Result: 14
// Calculate derivative
{
"expression": "x^2 + 2*x",
"variable": "x"
}
// Result: The derivative of x^2 + 2*x with respect to x is: 2*x + 2License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Available Tools
2 toolscalculateC
Evaluate a mathematical expression
| Name | Required | Description | Default |
|---|---|---|---|
| expression | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It only states that the tool evaluates an expression, but does not disclose potential side effects, error handling, supported operations, or return value. This is minimal and lacks transparency for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It is appropriately sized and front-loaded, making it easy to read and understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, but the description does not provide essential context such as what kinds of expressions are supported, an example, or the output format. Given the absence of an output schema and annotations, the description is incomplete for an agent to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides only the parameter name 'expression' with type string, and the description does not elaborate on how the expression should be formatted or what syntax is expected. With 0% schema coverage, the description fails to compensate by explaining the parameter's format or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'evaluate' and identifies the resource as 'a mathematical expression', clearly stating the tool's function. However, it does not differentiate from the sibling tool 'derivative', which also handles mathematical expressions, so it is clear but lacks sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 sibling 'derivative' or any other alternative. The description simply states what it does, leaving the agent without context for selecting this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
derivativeB
Calculate the derivative of an expression with respect to a variable
| Name | Required | Description | Default |
|---|---|---|---|
| variable | Yes | ||
| expression | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states the basic calculation and does not mention side effects, input format expectations, output structure, or edge-case behavior. For a pure computational tool, this is a minimal but not transparent description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence that immediately states the action and subject, with no extraneous words. It is front-loaded with the verb and is highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does not explain what the tool returns (e.g., the derivative expression). It also lacks usage guidance and edge-case handling, making it insufficient for a complete 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description clarifies the role of 'variable' as the differentiation variable and 'expression' as the operand, adding meaning beyond the bare schema property names, which carry no descriptions. It helps the agent understand how the two parameters relate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Calculate' and identifies the resource as 'the derivative of an expression with respect to a variable', which clearly differentiates it from the generic sibling 'calculate'. It concisely states exactly 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus the sibling 'calculate'. There is no mention of exclusions, prerequisites, or contexts where differentiation is appropriate, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v1.0.4- First observed
calculate - First observed
derivative
TDQS
The two tools, calculate and derivative, have completely distinct purposes: evaluating an expression versus differentiating it. There is no overlap or ambiguity between them.
Both tool names are single words, but 'calculate' is a verb while 'derivative' is a noun. A more consistent pattern might use 'differentiate' instead of 'derivative,' but the naming is still clear and predictable.
With only 2 tools, the server is very minimal. For a simple calculator this could be acceptable, but it feels thin compared to the typical 3-15 tool range, leaving the server on the borderline.
The server covers evaluation and differentiation but misses other common mathematical operations like simplification, solving equations, integration, or expansion. This is a significant gap for a calculator-oriented server.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Math.js MCP — wraps the mathjs.org API (free, no auth)
Evaluate, simplify, and differentiate mathematical expressions.
This MCP server enables users to perform scientific computations regarding linear algebra and vect…
Safe scientific calculator MCP for numeric expressions
1
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables LLMs to perform accurate mathematical calculations by evaluating expressions using mathjs. Supports basic arithmetic, functions, constants, and complex mathematical operations through natural language requests.-
- FlicenseNot gradedqualityDmaintenanceProvides mathematical operation tools including basic arithmetic (add, subtract, multiply, divide), power and square root calculations, and safe evaluation of mathematical expressions.-
- AlicenseBqualityAmaintenanceProvides secure mathematical computation capabilities including expression evaluation, symbolic math (derivatives, simplification), matrix operations, statistics, and unit conversion, with multi-tier acceleration through WebAssembly and WebWorkers for high-performance calculations.7178ISC
- AlicenseNot gradedqualityDmaintenanceEnables mathematical computation via Wolfram Language/Mathematica integration, supporting calculations, equation solving, calculus, matrix operations, and symbolic mathematics.13MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/edwardpwtsoi/mathjs-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server