Skip to main content
Glama

Math-MCP

A Model Context Protocol (MCP) server that provides basic mathematical, statistical and trigonometric functions to Large Language Models (LLMs). This server enables LLMs to perform accurate numerical calculations through a simple API.

Features

  • Basic arithmetic operations (addition, subtraction, multiplication, division, sum, modulo)

  • Statistical functions (mean, median, mode, min, max)

  • Rounding functions (floor, ceiling, round)

  • Trigonometric functions (sin, cos, tan, and their inverses; degrees/radians conversions)

Related MCP server: Calculator MCP

Installation

Note: Ensure you have Node.js installed on your computer.

Just clone this repository and save it locally somewhere on your computer.

Then add this server to your MCP configuration file:

"math": {
  "command": "node",
  "args": ["PATH\\TO\\PROJECT\\math-mcp\\build\\index.js"]
}

Here is an example for OpenCode

{
  "mcp": {
    "math-mcp": {
      "type": "local",
      "command": [
        "node",
        "PATH\\TO\\PROJECT\\math-mcp\\build\\index.js"
      ]
    }
  }
}

Replace PATH\\TO\\PROJECT with the actual path to where you cloned the repository.

Note: This project comes prebuilt, so installation is easy but if you change anything in the code, rebuild the project with npm run build.

Available Functions

The Math-MCP server provides the following mathematical operations:

Arithmetic Operations

Function

Description

Parameters

add

Adds two numbers together

firstNumber: The first addendsecondNumber: The second addend

subtract

Subtracts the second number from the first number

minuend: The number to subtract from (minuend)subtrahend: The number being subtracted (subtrahend)

multiply

Multiplies two numbers together

firstNumber: The first numbersecondNumber: The second number

division

Divides the first number by the second number

numerator: The number being divided (numerator)denominator: The number to divide by (denominator)

sum

Adds any number of numbers together

numbers: Array of numbers to sum

modulo

Divides two numbers and returns the remainder

numerator: The number being divided (numerator)denominator: The number to divide by (denominator)

floor

Rounds a number down to the nearest integer

number: The number to round down

ceiling

Rounds a number up to the nearest integer

number: The number to round up

round

Rounds a number to the nearest integer

number: The number to round

Statistical Operations

Function

Description

Parameters

mean

Calculates the arithmetic mean of a list of numbers

numbers: Array of numbers to find the mean of

median

Calculates the median of a list of numbers

numbers: Array of numbers to find the median of

mode

Finds the most common number in a list of numbers

numbers: Array of numbers to find the mode of

min

Finds the minimum value from a list of numbers

numbers: Array of numbers to find the minimum of

max

Finds the maximum value from a list of numbers

numbers: Array of numbers to find the maximum of

Trigonometric Operations

Function

Description

Parameters

sin

Calculates the sine of a number in radians

number: The number in radians to find the sine of

arcsin

Calculates the arcsine (in radians) of a number

number: The number to find the arcsine of

cos

Calculates the cosine of a number in radians

number: The number in radians to find the cosine of

arccos

Calculates the arccosine (in radians) of a number

number: The number to find the arccosine of

tan

Calculates the tangent of a number in radians

number: The number in radians to find the tangent of

arctan

Calculates the arctangent (in radians) of a number

number: The number to find the arctangent of

radiansToDegrees

Converts a radian value to its equivalent in degrees

number: The number in radians to convert to degrees

degreesToRadians

Converts a degree value to its equivalent in radians

number: The number in degrees to convert to radians

Available Tools

13 tools
addB

Adds two numbers together

ParametersJSON Schema
NameRequiredDescriptionDefault
firstNumberYesThe first addend
secondNumberYesThe second addend

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries the full burden, but it only states the operation. It does not disclose what the tool returns (e.g., the sum), nor does it mention edge cases like overflow or how non-numbers are handled.

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, front-loaded sentence with no redundant information. Every word is necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-number addition tool, the description is adequate but incomplete. It does not specify that the tool returns the sum, which would be expected given no output schema.

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

Parameters3/5

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

The input schema already documents both parameters with descriptions ('The first addend' and 'The second addend'), so the description adds no additional meaning. Schema coverage is 100%.

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 clearly states the action (adds) and the resource (two numbers), distinguishing it from sibling tools that perform other arithmetic operations like subtraction or multiplication.

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 on when to use this tool versus alternatives such as sum (which handles multiple numbers) or subtract. The description does not mention context or exclusions.

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

ceilingA

Rounds a number up to the nearest integer

ParametersJSON Schema
NameRequiredDescriptionDefault
numberYesThe number to round up

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry full burden. It states 'rounds up', which implies towards positive infinity, but does not explicitly clarify behavior for negative numbers or special cases (NaN, infinity). It is adequate but lacks specificity.

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 short sentence with no filler. Every word is necessary. It is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema, no annotations), the description is minimally complete. It explains the function and the parameter. It could mention edge cases, but for a basic mathematical operation this is sufficient.

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

Parameters3/5

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

Schema description coverage is 100%: the only parameter 'number' has description 'The number to round up'. The tool description adds no new meaning beyond that. Baseline score of 3 is appropriate since the schema already documents the parameter.

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 clearly states the action: 'Rounds a number up to the nearest integer'. It uses a specific verb ('Rounds') and identifies the resource (number and integer). This distinguishes it from sibling tools like floor (rounds down) and round (rounds to nearest).

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?

The description provides no guidance on when to use this tool over alternatives (e.g., floor, round). There is no mention of context, prerequisites, or when not to use it. For a simple math function, no guidance is acceptable but keeps score low.

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

divisionB

Divides the first number by the second number

ParametersJSON Schema
NameRequiredDescriptionDefault
denominatorYesThe number to divide by (denominator)
numeratorYesThe number being divided (numerator)

TDQS

B3.4/5.0
Behavior3/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. It implies a straightforward arithmetic division but does not disclose behavior for zero denominator, precision, or error handling, which are important for a math 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?

The description is a single short sentence that immediately conveys the action. It is concise and focuses on the core functionality, though it could optionally discuss edge cases.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool with no output schema, the description is partially complete but lacks discussion of division by zero and return value. Given the many sibling math tools, more context would improve differentiation.

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

Parameters3/5

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

Schema coverage is 100%, with both parameters already described. The description adds no extra semantic meaning beyond the schema, so baseline score of 3 is appropriate.

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 clearly states the operation 'divides the first number by the second number', specifying the verb and the two resources. This distinguishes it from sibling tools like add, multiply, or modulo.

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?

The description provides no guidance on when to use division versus alternatives, no mention of edge cases like division by zero, and no comparison with related operations such as modulo.

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

floorA

Rounds a number down to the nearest integer

ParametersJSON Schema
NameRequiredDescriptionDefault
numberYesThe number to round down

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It accurately describes the behavior (rounds down to nearest integer), though negative number handling is implied.

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 concise sentence that directly states the tool's purpose with no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter math function, the description is complete. It explains the operation and no output schema is needed since the result is obvious.

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

Parameters3/5

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

Schema coverage is 100% with the single parameter 'number' already described as 'The number to round down'. The description adds no additional semantic value beyond the schema.

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 clearly states 'Rounds a number down to the nearest integer', specifying the verb (rounds down) and resource (number). This distinguishes it from siblings like 'ceiling' and 'round'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives, but the context of siblings like 'ceiling' and 'round' makes the usage clear by implication.

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

maxB

Finds the maximum value from a list of numbers

ParametersJSON Schema
NameRequiredDescriptionDefault
numbersYesArray of numbers to find the maximum of

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries full burden. It does not disclose behavior for edge cases (empty array, non-numeric items), error handling, or return type (e.g., NaN).

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 sentence, concise and front-loaded with no extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple mathematical function, the description provides adequate purpose but lacks behavioral details for edge cases. Given the lack of output schema and annotations, it is minimally complete.

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 coverage is 100% with a clear description of the 'numbers' parameter. The tool description adds no new meaning beyond what the schema already provides.

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 clearly states it finds the maximum value from a list of numbers, using a specific verb and resource. It distinguishes from sibling 'min' and other operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or when-not-to-use guidance is provided. Usage is implied by the name and description, but edge cases like empty arrays are not addressed.

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

meanA

Calculates the arithmetic mean of a list of numbers

ParametersJSON Schema
NameRequiredDescriptionDefault
numbersYesArray of numbers to find the mean of

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description bears full responsibility. It accurately describes the operation without ambiguity. It does not cover edge cases, but the schema enforces a minimum of one number, mitigating risk.

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 concise sentence with no extraneous words. Every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple mathematical tool with one parameter and no output schema, the description sufficiently covers the purpose. It could optionally mention return type, but not necessary given the context.

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

Parameters3/5

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

Schema description coverage is 100% (the 'numbers' parameter is described in the schema). The description adds no additional meaning beyond restating the schema, so baseline score of 3 is appropriate.

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 explicitly states 'Calculates the arithmetic mean' with the specific verb 'calculates' and resource 'arithmetic mean of a list of numbers'. It clearly distinguishes from sibling tools like median or mode.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus alternatives. Usage is implied through the tool's name and description, but no exclusions or alternatives are mentioned.

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

medianB

Calculates the median of a list of numbers

ParametersJSON Schema
NameRequiredDescriptionDefault
numbersYesArray of numbers to find the median of

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full responsibility for behavioral disclosure. It does not mention how the median is computed (e.g., sorting, averaging middle values for even-length lists), edge cases, or return format. This is insufficient for a math utility.

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, efficient sentence with no wasted words. It is appropriately front-loaded and earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity and lack of output schema, the description is minimally adequate. However, it omits behavioral details like sorting and handling of even-length arrays, which an agent would need to fully understand the tool's operation.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description does not add new meaning beyond what the schema provides; it merely echoes the function. No extra context like valid ranges or formatting is given.

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 clearly states that the tool calculates the median of a list of numbers, using a specific verb and resource. It implicitly distinguishes from siblings like mean and mode, but does not explicitly contrast them, preventing a perfect score.

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?

The description provides no guidance on when to use median over alternatives (e.g., mean, mode) or any context-specific advice. No when-not or alternative tool mentions are included, limiting decision support.

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

minA

Finds the minimum value from a list of numbers

ParametersJSON Schema
NameRequiredDescriptionDefault
numbersYesArray of numbers to find the minimum of

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist. The description does not disclose behavior for edge cases like empty arrays or non-number inputs, which are not handled by the schema alone.

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?

Single sentence, no redundancy, front-loaded with the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, no-output-schema tool, the description covers the essential function. Missing edge case handling but acceptable given simplicity.

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

Parameters3/5

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

Schema coverage is 100% with a clear description for the 'numbers' parameter; the tool description adds no extra meaning beyond what the schema already provides.

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 a specific verb ('Finds') and resource ('minimum value from a list of numbers'), clearly distinguishing it from sibling tools like 'max' which does the opposite.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use vs alternatives (e.g., 'percentile' for other reductions), but the purpose is straightforward; adequate for a simple math tool.

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

modeA

Finds the most common number in a list of numbers

ParametersJSON Schema
NameRequiredDescriptionDefault
numbersYesArray of numbers to find the mode of

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry full burden. It states the core function but omits tie-breaking behavior, handling of empty arrays, or error conditions, leaving ambiguity.

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?

The description is a single sentence, efficiently conveying the purpose. However, it could include a brief note on edge cases without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description should specify return values for edge cases (e.g., ties, empty input). The current description leaves significant gaps for a statistical tool.

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

Parameters3/5

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

Schema coverage is 100%, so the description adds minimal value beyond the schema. The parameter 'numbers' is already well-documented in the schema.

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 clearly states the tool finds the mode (most common number) from an array, differentiating it from siblings like mean and median.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (to find the mode) but lacks explicit guidance on alternatives or when not to use, such as for multimodal distributions.

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

multiplyB

Multiplies two numbers together

ParametersJSON Schema
NameRequiredDescriptionDefault
SecondNumberYesThe second number
firstNumberYesThe first number

TDQS

B3.1/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 of behavioral disclosure. It only states the multiplication operation without mentioning potential behaviors like handling of large numbers, overflow, or error cases. This leaves significant gaps for a tool with no annotation coverage.

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, efficient sentence with zero waste. It's appropriately sized for a simple mathematical operation and front-loaded with the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (basic arithmetic) and high schema coverage, the description is minimally adequate. However, with no annotations and no output schema, it lacks details on return values or error handling, which could be important for completeness.

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

Parameters3/5

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

The schema description coverage is 100%, with both parameters clearly documented in the schema. The description doesn't add any meaning beyond what the schema provides (e.g., no details on number types or constraints), so it meets the baseline for high schema coverage.

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 clearly states the tool's function as 'Multiplies two numbers together', which is a specific verb (multiplies) and resource (numbers). However, it doesn't differentiate from sibling tools like 'add' or 'subtract' beyond the basic operation name, which keeps it from a perfect score.

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?

The description provides no guidance on when to use this tool versus alternatives like 'add' or 'sum'. It lacks context about mathematical scenarios or prerequisites, offering only the basic operation without usage context.

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

roundB

Rounds a number to the nearest integer

ParametersJSON Schema
NameRequiredDescriptionDefault
numberYesThe number to round

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It states rounding to nearest integer but omits the tie-breaking rule (e.g., 0.5 rounds up), which is critical for accuracy.

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, efficient sentence with no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter, the description is mostly sufficient but lacks the rounding rule. No output schema is needed given the simplicity.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds no new meaning beyond the schema's 'The number to round'.

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 clearly states the action 'Rounds', the resource 'a number', and the result 'to the nearest integer'. This distinguishes it from siblings like floor (rounds down), ceiling (rounds up), and round_to (rounds to specified precision).

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 given on when to use this tool versus alternatives like floor, ceiling, or round_to. It doesn't specify the rounding rule (e.g., half up) or when not to use it.

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

subtractA

Subtracts the second number from the first number

ParametersJSON Schema
NameRequiredDescriptionDefault
minuendYesThe number to subtract from (minuend)
subtrahendYesThe number being subtracted (subtrahend)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description accurately captures the operation but provides no additional behavioral traits beyond the obvious; no annotations to contradict or enhance.

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?

Single sentence with no wasted words; efficiently communicates the essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple arithmetic tool with no output schema, the description is fully complete.

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

Parameters3/5

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

Schema coverage is 100% and description adds no new meaning beyond what parameter descriptions already convey.

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?

Clearly states verb 'subtracts' and resources 'second number from the first number', distinguishing it from sibling arithmetic operations.

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 on when to use this vs alternatives like 'add' or 'multiply'; lacks context or exclusions.

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

sumB

Adds any number of numbers together

ParametersJSON Schema
NameRequiredDescriptionDefault
numbersYesArray of numbers to sum

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full responsibility for behavioral disclosure. It only states basic addition, omitting return type, error handling (e.g., non-numeric inputs), or floating-point behavior.

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?

The description is a single sentence, front-loaded with the key action. While it could include more detail, there is no wasted text.

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?

Given the tool's simplicity and lack of output schema, the description is incomplete. It does not state the return value (a number) or handle edge cases like single-element arrays. For a tool with many siblings, more context is needed.

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

Parameters3/5

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

Schema coverage is 100% for the single parameter 'numbers', which has a clear description. The tool description adds no further meaning beyond 'adds numbers together', so baseline 3 is appropriate.

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?

Description clearly states the verb 'adds' and resource 'numbers', with scope 'any number'. It effectively distinguishes this tool from siblings like 'add' (which implies two operands) and 'mean' (average).

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 on when to use this tool versus alternatives like 'add' for two numbers or 'sum' for arrays. Despite many sibling tools, the description provides no selection criteria.

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.

  1. 13 tool updatesv1.0.0
    • First observedadd
    • First observedceiling
    • First observeddivision
    • First observedfloor
    • First observedmax
    • First observedmean
    • First observedmedian
    • First observedmin
    • First observedmode
    • First observedmultiply
    • First observedround
    • First observedsubtract
    • First observedsum

TDQS

A3.6/5.0

Scored across 13 tools

Disambiguation5/5

Each tool has a clearly distinct mathematical purpose with no ambiguity. For example, 'add' and 'sum' differ in that 'add' handles exactly two numbers while 'sum' handles any number of numbers, and 'ceiling', 'floor', and 'round' are distinct rounding operations. There is no overlap that would cause misselection.

Naming Consistency5/5

All tool names follow a consistent pattern of using simple, descriptive verbs or nouns in lowercase (e.g., 'add', 'ceiling', 'division'). There are no deviations in style or convention, making the set highly predictable and readable.

Tool Count5/5

With 13 tools, this set is well-scoped for a math server, covering a comprehensive range of basic arithmetic, statistical, and rounding operations. Each tool earns its place without feeling excessive or insufficient for the domain.

Completeness4/5

The tool surface is nearly complete for basic math operations, including arithmetic (add, subtract, multiply, division), rounding (ceiling, floor, round), and statistics (mean, median, mode, min, max, sum). A minor gap is the lack of more advanced functions like exponentiation or trigonometry, but core workflows are well-covered.

Maintenance

ActivityInactive
ResponsivenessWithin a week

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    A Model Context Protocol server that provides basic calculator functionality for LLMs, enabling them to perform mathematical operations like addition, subtraction, multiplication, division, modulo, and square root.
    6
    163
    16
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A backend service that provides accurate arithmetic calculation capabilities to AI models via the Model Context Protocol, allowing LLMs to offload mathematical computations for numerical queries.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A Python-based MCP server that provides a suite of basic arithmetic tools, including addition, square roots, and percentage calculations, for AI assistants. It enables models to perform precise mathematical operations through the Model Context Protocol.
    MIT