Math-MCP
The Math-MCP server enables LLMs to perform accurate numerical calculations through a simple API, providing:
Basic Arithmetic: Addition, subtraction, multiplication, and division
Statistical Functions: Sum, mean/average, median, mode, minimum, and maximum of number lists
Rounding Functions: Floor (round down), ceiling (round up), and round to nearest integer
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., "@Math-MCPcalculate the average of 85, 92, 78, and 95"
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.
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 |
| Adds two numbers together |
|
| Subtracts the second number from the first number |
|
| Multiplies two numbers together |
|
| Divides the first number by the second number |
|
| Adds any number of numbers together |
|
| Divides two numbers and returns the remainder |
|
| Rounds a number down to the nearest integer |
|
| Rounds a number up to the nearest integer |
|
| Rounds a number to the nearest integer |
|
Statistical Operations
Function | Description | Parameters |
| Calculates the arithmetic mean of a list of numbers |
|
| Calculates the median of a list of numbers |
|
| Finds the most common number in a list of numbers |
|
| Finds the minimum value from a list of numbers |
|
| Finds the maximum value from a list of numbers |
|
Trigonometric Operations
Function | Description | Parameters |
| Calculates the sine of a number in radians |
|
| Calculates the arcsine (in radians) of a number |
|
| Calculates the cosine of a number in radians |
|
| Calculates the arccosine (in radians) of a number |
|
| Calculates the tangent of a number in radians |
|
| Calculates the arctangent (in radians) of a number |
|
| Converts a radian value to its equivalent in degrees |
|
| Converts a degree value to its equivalent in radians |
|
Available Tools
13 toolsaddC
Adds two numbers together
| Name | Required | Description | Default |
|---|---|---|---|
| firstNumber | Yes | The first addend | |
| secondNumber | Yes | The second addend |
TDQS
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 basic function without mentioning error handling, performance characteristics, or any constraints like input limits or precision issues. This is inadequate 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single sentence that directly states the tool's purpose. There's no wasted language or unnecessary elaboration, making it efficient and front-loaded for quick understanding.
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?
Given the lack of annotations and output schema, the description is too minimal. It doesn't explain the return value (e.g., the sum as a number) or address potential issues like overflow, which is insufficient for a mathematical operation tool in a context with multiple sibling alternatives.
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 description coverage is 100%, with clear descriptions for both parameters ('first addend', 'second addend'). The description doesn't add any semantic details beyond what the schema provides, such as examples or edge cases, 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.
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 'Adds two numbers together', which is a specific verb+resource combination. However, it doesn't distinguish this from sibling tools like 'sum' or 'multiply', which also perform mathematical operations on numbers, so it doesn't fully differentiate from alternatives.
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?
The description provides no guidance on when to use this tool versus alternatives like 'sum' (which might handle multiple numbers) or other arithmetic operations. There's no mention of use cases, prerequisites, or exclusions, leaving the agent without context for tool selection.
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
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | The number to round up |
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 clearly describes the mathematical behavior ('Rounds a number up to the nearest integer'), which is the core behavioral trait. However, it doesn't mention edge cases (e.g., handling of negative numbers, non-numeric inputs, or overflow), which would be helpful additional context.
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 that directly states the tool's purpose with zero wasted words. It's perfectly front-loaded and appropriately sized for this simple mathematical function.
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?
For a simple mathematical operation with one parameter and no output schema, the description provides adequate context about what the tool does. However, it doesn't specify the return value format (e.g., that it returns an integer), which would be helpful given the lack of output schema. The completeness is good but not perfect.
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?
Schema description coverage is 100%, with the parameter 'number' already documented as 'The number to round up'. The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline score of 3 for high schema coverage.
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 clearly states the specific mathematical operation ('Rounds a number up') and distinguishes it from sibling tools like 'floor' (which rounds down) and 'round' (which rounds to nearest). It precisely identifies both the verb ('Rounds up') and the resource ('a number').
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?
The description implies usage context through the mathematical operation name 'ceiling', which suggests when to use this versus alternatives like 'floor' or 'round'. However, it doesn't explicitly state when-not-to-use scenarios or directly name alternatives, leaving some interpretation to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divisionC
Divides the first number by the second number
| Name | Required | Description | Default |
|---|---|---|---|
| denominator | Yes | The number to divide by (denominator) | |
| numerator | Yes | The number being divided (numerator) |
TDQS
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 states the basic operation but fails to mention critical behaviors such as handling division by zero, error conditions, or output format. This is a significant gap for a mathematical tool with potential runtime issues.
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 extremely concise and front-loaded with a single, clear sentence that directly states the tool's function. There is no wasted verbiage, making it efficient and easy to parse.
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?
Given the lack of annotations and output schema, the description is incomplete. It doesn't address behavioral aspects like error handling or result formatting, which are crucial for a division operation. While the schema covers parameters well, the overall context for safe and effective use is insufficient.
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?
Schema description coverage is 100%, with clear parameter descriptions in the schema (e.g., 'numerator' as 'The number being divided'). The description adds minimal value beyond the schema, as it only reiterates the division operation without providing additional context like constraints or examples.
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 clearly states the tool's purpose as 'Divides the first number by the second number,' which is a specific verb (divides) and resource (numbers). It distinguishes from siblings like 'add' or 'multiply' by specifying division, though it doesn't explicitly contrast with them beyond the inherent mathematical operation.
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?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'multiply' or 'subtract,' nor does it specify contexts where division is preferred over other mathematical operations, leaving usage entirely implicit.
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
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | The number to round down |
TDQS
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 discloses the core behavior (rounding down), but does not add context beyond that, such as handling of negative numbers, edge cases, or performance. It's adequate but lacks rich behavioral details.
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, efficient sentence with zero waste. It is appropriately sized and front-loaded, directly stating the tool's function without unnecessary elaboration. Every word earns its place.
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?
Given the tool's low complexity (one parameter, simple mathematical operation), no annotations, and no output schema, the description is complete enough for basic use. It covers the essential purpose and parameter intent, though it could benefit from more behavioral context or examples.
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?
Schema description coverage is 100%, so the schema already documents the 'number' parameter fully. The description adds no additional meaning beyond what the schema provides, such as examples or constraints. Baseline 3 is appropriate when the schema does the heavy lifting.
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 clearly states the tool's purpose with a specific verb ('Rounds down') and resource ('a number'), and it distinguishes from siblings like 'ceiling' (which rounds up) and 'round' (which rounds to nearest). It precisely defines the mathematical operation without ambiguity.
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?
The description implies when to use this tool—when you need to round a number down to the nearest integer—but does not explicitly state when not to use it or name alternatives like 'ceiling' or 'round'. It provides clear context for its mathematical function without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
maxA
Finds the maximum value from a list of numbers
| Name | Required | Description | Default |
|---|---|---|---|
| numbers | Yes | Array of numbers to find the maximum of |
TDQS
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 states what the tool does but lacks details on error handling (e.g., for non-numeric inputs or empty arrays), return format, or computational characteristics (e.g., time complexity). This is a significant gap 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the core functionality, making it easy to parse quickly. Every part of the sentence earns its place by conveying essential information.
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?
Given the tool's low complexity (single parameter, simple operation) and high schema coverage, the description is minimally adequate. However, without annotations or an output schema, it lacks details on behavior (e.g., error cases) and return values, which could be important for reliable use by an AI agent.
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?
Schema description coverage is 100%, with the parameter 'numbers' clearly documented as an array of numbers. The description adds no additional semantic information beyond what the schema provides, such as examples or constraints (e.g., minimum array length). Baseline 3 is appropriate since the schema does the heavy lifting.
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 clearly states the specific verb ('Finds') and resource ('maximum value from a list of numbers'), making the purpose immediately understandable. It distinguishes this tool from siblings like 'min' (minimum), 'mean' (average), and 'sum' (total), which operate on the same input type but produce different results.
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?
The description implies usage by specifying it works on 'a list of numbers', but it doesn't explicitly state when to use this tool versus alternatives like 'min' or 'median'. No guidance is provided on prerequisites, edge cases (e.g., empty lists), or performance considerations, leaving usage context partially inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meanB
Calculates the arithmetic mean of a list of numbers
| Name | Required | Description | Default |
|---|---|---|---|
| numbers | Yes | Array of numbers to find the mean of |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the calculation but does not cover error handling (e.g., for empty arrays or non-numeric inputs), performance considerations, or output format. This is a significant gap for a tool with no annotation support.
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, efficient sentence that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy to understand at a glance.
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?
Given the lack of annotations and output schema, the description is incomplete. It does not explain the return value (e.g., a single number), error conditions, or behavioral traits, which are crucial for an AI agent to use the tool correctly. This is inadequate for a tool with no structured support beyond the input schema.
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 description coverage is 100%, with the parameter 'numbers' fully documented in the schema. The description adds no additional semantic details beyond what the schema provides, such as examples or edge cases. Baseline 3 is appropriate as the schema handles the parameter documentation adequately.
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 clearly states the specific action ('calculates') and the resource ('arithmetic mean of a list of numbers'), distinguishing it from sibling tools like 'sum', 'median', or 'mode' by specifying the exact statistical operation. It avoids tautology by not merely repeating the tool name 'mean'.
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?
The description provides no guidance on when to use this tool versus alternatives like 'median' or 'sum', nor does it mention prerequisites or exclusions. It lacks context for selection among the many mathematical sibling tools, leaving usage implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
medianC
Calculates the median of a list of numbers
| Name | Required | Description | Default |
|---|---|---|---|
| numbers | Yes | Array of numbers to find the median of |
TDQS
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 basic function without mentioning error handling (e.g., for empty arrays, though schema requires minItems:1), performance considerations, or output format. This is inadequate 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that directly states the tool's purpose without any unnecessary words. It is front-loaded and efficiently conveys the essential information, making it highly concise and well-structured.
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?
Given the tool's complexity (simple mathematical operation) but lack of annotations and output schema, the description is insufficient. It does not explain the return value (e.g., a single number), handle edge cases, or provide usage context, leaving gaps in completeness for effective agent invocation.
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 description coverage is 100%, with the parameter 'numbers' fully documented in the schema. The description adds no additional semantic context beyond what the schema provides (e.g., no examples or edge cases), so it meets the baseline score of 3 for high schema coverage without extra value.
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 clearly states the tool's function ('Calculates the median') and the resource it operates on ('a list of numbers'), which is specific and unambiguous. However, it does not explicitly differentiate from sibling tools like 'mean' or 'mode', which also operate on lists of numbers, leaving some potential for confusion in sibling selection.
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?
The description provides no guidance on when to use this tool versus alternatives. It does not mention sibling tools like 'mean' or 'mode' for different statistical measures, nor does it specify scenarios where median is preferred (e.g., for skewed data or outliers), leaving the agent without usage context.
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
| Name | Required | Description | Default |
|---|---|---|---|
| numbers | Yes | Array of numbers to find the minimum of |
TDQS
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 what the tool does ('Finds the minimum value') without addressing behavioral traits like error handling (e.g., empty lists, non-numeric elements), performance considerations, or output format. This is inadequate 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose with zero waste. It is appropriately sized and front-loaded, making it easy to understand at a glance without unnecessary elaboration.
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?
Given the tool's low complexity (single parameter, no output schema, no annotations), the description is minimally adequate but lacks completeness. It does not explain return values (e.g., what happens with empty lists) or behavioral context, which is needed since annotations are absent. A score of 3 reflects this basic sufficiency with clear gaps.
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?
Schema description coverage is 100%, with the parameter 'numbers' fully documented in the schema as 'Array of numbers to find the minimum of'. The description adds no additional meaning beyond this, such as examples or constraints (e.g., minimum list length). Baseline 3 is appropriate since the schema does the heavy lifting.
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 clearly states the specific action ('Finds') and resource ('minimum value from a list of numbers'), distinguishing it from siblings like 'max' (which finds the maximum) and 'mean' (which calculates the average). It precisely conveys the tool's function without ambiguity.
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?
The description implies usage for finding minimum values in numerical lists, providing clear context. However, it does not explicitly state when to use this tool versus alternatives like 'max' or 'median', or any exclusions (e.g., handling non-numeric inputs). This leaves some guidance gaps compared to explicit sibling differentiation.
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
| Name | Required | Description | Default |
|---|---|---|---|
| numbers | Yes | Array of numbers to find the mode of |
TDQS
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 describes the core behavior (finding the mode) but doesn't disclose important traits like how it handles ties (multiple modes), empty arrays, non-numeric inputs, or the return format. The description is accurate but lacks behavioral details that would help an agent use it correctly.
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 zero wasted words. It's front-loaded with the core purpose and appropriately sized for a simple mathematical tool, making it easy for an agent to parse quickly.
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?
Given the tool's low complexity (single parameter, no annotations, no output schema), the description is minimally complete. It states what the tool does but lacks details on behavior (e.g., tie-breaking) and output format, which are important for correct usage. It's adequate but has clear gaps in contextual information.
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?
Schema description coverage is 100%, so the schema already fully documents the single parameter ('numbers' as an array of numbers). The description adds no additional meaning beyond what the schema provides—it doesn't explain parameter constraints, examples, or edge cases. Baseline 3 is appropriate when the schema does all the work.
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 clearly states the specific verb ('finds') and resource ('most common number in a list of numbers'), making the purpose immediately understandable. It distinguishes this tool from its siblings (like mean, median, max, min) by specifying it calculates the statistical mode rather than other mathematical operations.
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?
The description implies usage context by stating it finds 'the most common number,' which suggests it should be used when frequency analysis is needed rather than other statistical measures. However, it doesn't explicitly state when not to use it or name specific alternatives among the sibling tools.
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
| Name | Required | Description | Default |
|---|---|---|---|
| SecondNumber | Yes | The second number | |
| firstNumber | Yes | The first number |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| number | Yes | The number to round |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the basic function. It doesn't disclose important behavioral traits like how it handles edge cases (e.g., .5 values, negative numbers), precision limitations, or error conditions.
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, efficient sentence with zero wasted words. It's appropriately sized for this simple mathematical operation and gets straight to the point without unnecessary elaboration.
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?
For a mathematical operation with no annotations and no output schema, the description is too minimal. It doesn't explain the return value format, rounding rules for edge cases, or how this differs from similar sibling tools, leaving significant gaps in understanding.
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?
Schema description coverage is 100%, so the schema already documents the single parameter. The description adds no additional parameter semantics beyond what's in the schema, maintaining the baseline score for high schema coverage.
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 clearly states the specific action ('Rounds') and resource ('a number') with precise outcome ('to the nearest integer'). It effectively distinguishes from siblings like 'ceiling' or 'floor' which have different rounding behaviors.
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 on when to use this tool versus alternatives like 'ceiling' or 'floor'. The description only states what it does, not when it's appropriate or how it differs from similar mathematical operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subtractB
Subtracts the second number from the first number
| Name | Required | Description | Default |
|---|---|---|---|
| minuend | Yes | The number to subtract from (minuend) | |
| subtrahend | Yes | The number being subtracted (subtrahend) |
TDQS
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 states the action ('subtracts') but does not cover important traits such as error handling (e.g., for non-numeric inputs), performance characteristics, or return format. This is a significant gap for a tool with no annotation coverage, making it minimally informative beyond the basic operation.
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, efficient sentence that directly states the tool's function without any unnecessary words. It is front-loaded and wastes no space, making it highly concise and well-structured for quick understanding.
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?
Given the tool's low complexity (simple arithmetic), high schema coverage (100%), and lack of output schema, the description is adequate but incomplete. It covers the basic operation but fails to address behavioral aspects like error handling or result format, which are important for an agent to use it correctly without annotations. This results in a minimal viable score.
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 description coverage is 100%, with clear descriptions for both parameters ('minuend' and 'subtrahend'). The description adds no additional meaning beyond what the schema provides, as it only restates the subtraction operation without detailing parameter usage or constraints. This meets the baseline score when the schema does the heavy lifting.
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 clearly states the tool's purpose with a specific verb ('subtracts') and identifies the resources involved ('the second number from the first number'). It distinguishes this from sibling tools like 'add' or 'multiply' by specifying subtraction. However, it doesn't explicitly name the sibling alternatives or contrast with them directly, which prevents 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.
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', nor does it mention any prerequisites or exclusions. It implies usage for subtraction operations but lacks explicit context for selection among the many mathematical sibling tools, leaving the agent to infer based on the operation name alone.
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
| Name | Required | Description | Default |
|---|---|---|---|
| numbers | Yes | Array of numbers to sum |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states the basic operation. It doesn't disclose behavioral traits like error handling (e.g., for non-numeric inputs), performance characteristics, or output format details, leaving significant gaps.
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, efficient sentence with zero waste—it directly states the tool's purpose without unnecessary words. It's appropriately sized for a simple mathematical operation.
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?
For a simple tool with high schema coverage and no output schema, the description is minimally adequate but lacks context on usage scenarios or behavioral details. It meets basic needs but doesn't fully compensate for the absence of annotations.
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?
Schema description coverage is 100%, so the schema already fully documents the 'numbers' parameter. The description adds no additional meaning beyond implying the array can have 'any number' of elements, which aligns with but doesn't enhance the schema's documentation.
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 clearly states the specific action ('adds') and resource ('any number of numbers'), distinguishing it from siblings like 'multiply' or 'subtract'. It precisely defines the mathematical operation without ambiguity.
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 on when to use this tool versus alternatives like 'add' (which might handle only two numbers) or 'mean' (which calculates average). The description doesn't mention prerequisites, limitations, or comparative use cases.
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.
13 tool updates
v1.0.0- First observed
add - First observed
ceiling - First observed
division - First observed
floor - First observed
max - First observed
mean - First observed
median - First observed
min - First observed
mode - First observed
multiply - First observed
round - First observed
subtract - First observed
sum
TDQS
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.
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.
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.
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
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
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Precision math engine for AI agents. 203 exact methods. Zero hallucination.
Educational MCP server with 17 math/stats tools, visualizations, and persistent workspace
Related MCP Servers
- AlicenseCqualityDmaintenanceA Model Context Protocol server that enables LLMs to perform precise numerical calculations by evaluating mathematical expressions.1157MIT
- AlicenseBqualityCmaintenanceA 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.630416MIT
- AlicenseNot gradedqualityDmaintenanceA 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.1MIT
- AlicenseNot gradedqualityDmaintenanceA 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
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/EthanHenrickson/math-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server