Skip to main content
Glama
edwardpwtsoi

MathJS Calculator MCP Server

by edwardpwtsoi

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 differentiate

  • variable (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 build

Testing with Inspector

To test the server with the MCP Inspector:

  1. Open the MCP Inspector in another terminal:

npm run inspector
  1. Connect to the server at http://localhost:5173 (default port)

  2. 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 + 2

License

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 tools
calculateC

Evaluate a mathematical expression

ParametersJSON Schema
NameRequiredDescriptionDefault
expressionYes

TDQS

C2.8/5.0
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. 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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters2/5

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.

Purpose4/5

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.

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 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

ParametersJSON Schema
NameRequiredDescriptionDefault
variableYes
expressionYes

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

  1. 2 tool updatesv1.0.4
    • First observedcalculate
    • First observedderivative

TDQS

B3.1/5.0
Disambiguation5/5

The two tools, calculate and derivative, have completely distinct purposes: evaluating an expression versus differentiating it. There is no overlap or ambiguity between them.

Naming Consistency4/5

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.

Tool Count3/5

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.

Completeness2/5

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

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables LLMs to perform accurate mathematical calculations by evaluating expressions using mathjs. Supports basic arithmetic, functions, constants, and complex mathematical operations through natural language requests.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides mathematical operation tools including basic arithmetic (add, subtract, multiply, divide), power and square root calculations, and safe evaluation of mathematical expressions.
    -
  • A
    license
    B
    quality
    A
    maintenance
    Provides 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.
    7
    178
    ISC

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/edwardpwtsoi/mathjs-mcp'

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