Math MCP Server
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Each tool has a clearly distinct mathematical operation: addition, division, matrix multiplication, multiplication, and subtraction. There is no overlap in purpose—add and multiply handle lists for their respective operations, while divide and subtract handle two numbers, and matrix_multiplication is uniquely for matrices. An agent can easily tell them apart based on their specific functions.
Naming Consistency5/5All tool names follow a consistent verb-based pattern (add, divide, matrix_multiplication, multiply, subtract) without mixing conventions. The naming is straightforward and predictable, using simple action words that directly describe the operation, with matrix_multiplication as a compound term that still fits the verb_noun style.
Tool Count4/5With 5 tools, the count is reasonable for a math server covering basic arithmetic and matrix operations. It is well-scoped, but slightly under for a comprehensive math toolkit, as it lacks tools for operations like exponentiation, trigonometry, or advanced linear algebra, which might be expected in a broader math domain.
Completeness3/5The tool set covers basic arithmetic (add, subtract, multiply, divide) and matrix multiplication, but there are notable gaps for a math server. Missing operations include exponentiation, square roots, trigonometric functions, and other matrix operations (e.g., inversion, determinant), which limits the surface for handling common mathematical tasks and could lead to agent workarounds.
Average 3.9/5 across 5 of 5 tools scored. Lowest: 3.2/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- No commit activity data available
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the precision (64-bit floating point) and return type, which is helpful. However, it doesn't mention error handling (e.g., for invalid inputs), performance characteristics, or side effects. The example adds some clarity but doesn't fully cover behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with three sentences. The first sentence states the core purpose, the second provides an example, and the third adds fraction support. There's minimal redundancy, and information is front-loaded, though the fraction note could be integrated more smoothly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given 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), two parameters with 0% schema coverage, and the presence of an output schema (which handles return values), the description is reasonably complete. It covers the operation, precision, and input types via examples, though it lacks explicit parameter definitions and usage guidelines.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It implies that parameters are numbers (via the example and fraction mention) but doesn't explicitly define 'number_1' and 'number_2' or their roles (e.g., minuend and subtrahend). The fraction example adds some meaning but doesn't fully document the two parameters beyond what's inferred from the tool name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Subtracts two numbers with 64 bit floating point precision and returns a 64 bit float.' This specifies the verb (subtracts), resource (two numbers), and precision details. It distinguishes from siblings like 'add' and 'divide' by focusing on subtraction, though it doesn't explicitly contrast with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 'multiply'. It includes an example and mentions fractions, but these are usage examples rather than contextual guidelines for tool selection. There's no mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the precision (64-bit floating point) and return type, which are useful behavioral traits. However, it does not cover error handling (e.g., division by zero), performance aspects, or other constraints, leaving gaps in behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with three sentences that are front-loaded: the first states the core functionality, the second gives an example, and the third adds flexibility. There is minimal waste, though the fraction example could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity, two parameters with 0% schema coverage, and the presence of an output schema (which handles return values), the description is fairly complete. It covers purpose, parameters, and behavior adequately, though it lacks usage guidelines and some behavioral details like error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning by explaining that parameters are numbers used for division, provides examples (e.g., 10 and 2, fractions like 1/2), and clarifies they can be integers or numbers. This effectively documents the parameters beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific verb 'divides' and resource 'two numbers', distinguishing it from sibling tools like add, multiply, and subtract by specifying the division operation. It also mentions the precision and return type, making the purpose explicit and distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 multiply or subtract, nor does it mention any prerequisites or exclusions. It includes an example but lacks 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.
- Behavior3/5
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 does disclose key behavioral traits: the tool accepts both positive and negative numbers, uses 64-bit floating point precision, returns a 64-bit float, and accepts fractions. However, it doesn't mention error handling (e.g., what happens with non-numeric inputs), performance characteristics, or any limitations beyond the precision specification. The description doesn't contradict any annotations since none exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly sized and front-loaded: the first sentence states the core functionality, and subsequent sentences provide essential examples and clarifications. Every sentence earns its place by adding value—none are redundant or unnecessary. The structure flows logically from general operation to specific examples.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given 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 nested objects) and the presence of an output schema (which handles return value documentation), the description is mostly complete. It covers the purpose, usage, parameter semantics, and behavioral aspects adequately. However, it could be more complete by mentioning error cases or edge behaviors, which would be helpful despite the output schema's existence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must compensate. It adds substantial meaning beyond the bare schema: it explains that the 'numbers' parameter should be 'a list of positive and/or negative numbers,' provides format examples ('[1, 2, 3]'), mentions support for fractions, and clarifies the 64-bit floating point precision. While it doesn't explicitly document every aspect of the parameter (like the 'anyOf' schema detail), it provides enough practical guidance for effective use.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Adds a list of positive and/or negative numbers with 64 bit floating point precision and returns a 64 bit float.' This specifies the exact verb ('adds'), resource ('list of numbers'), and distinguishes it from sibling tools like 'subtract' or 'multiply' by focusing on addition. The description goes beyond just restating the name by explaining the operation and data types involved.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: for adding numbers in a list format with 64-bit floating point precision. It gives examples like '[1, 2, 3]' and '[1/2, 1/3, 1/4]' to illustrate proper usage. However, it doesn't explicitly state when NOT to use it or mention alternatives (like using 'subtract' for subtraction operations), which prevents a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses key behavioral traits: precision ('64 bit floating point'), return format ('result as a matrix'), input format requirements ('nested lists'), and compatibility constraints. It doesn't mention error handling, performance limits, or side effects, but covers essential operational behavior adequately.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the core purpose. Every sentence adds value: operation definition, format specification, compatibility rule, and data type flexibility. It could be slightly more structured but avoids redundancy and stays focused on essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the mathematical complexity, 0% schema coverage, and presence of an output schema (which handles return values), the description is quite complete. It covers purpose, input format, constraints, and data types. It doesn't explain edge cases or error responses, but for a tool with output schema and clear mathematical operation, this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate fully. It explicitly explains both parameters: 'matrix_1' and 'matrix_2' are described as matrices in nested list format with detailed examples and formatting rules. It adds crucial meaning beyond the bare schema, including data types (integers, numbers, fractions), structure (rows/columns), and validation rules (compatibility).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('multiplies two matrices') and resource ('matrices'), distinguishing it from sibling tools like 'add', 'subtract', 'multiply' (scalar), and 'divide' by specifying matrix multiplication. It goes beyond just restating the name by detailing the operation and output format.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the compatibility requirement ('matrices must be compatible for multiplication'), but doesn't explicitly state when to use this tool versus alternatives like scalar 'multiply' or other matrix operations. It provides necessary context for correct invocation but lacks explicit guidance on tool selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 discloses key behavioral traits: it handles positive/negative numbers, uses 64-bit floating point precision, returns a 64-bit float, and accepts fractions. However, it lacks details on error handling (e.g., empty lists, non-numeric inputs) or performance aspects, which could be useful for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded: the first sentence states the core functionality, followed by practical usage details. Every sentence earns its place by adding value—no redundant or vague information. It's efficient and well-structured for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given 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, and an output schema (which handles return values), the description is mostly complete. It covers purpose, usage, and parameter semantics adequately. However, it could benefit from mentioning edge cases or linking to sibling tools for more advanced operations, slightly reducing completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description must compensate. It adds significant meaning beyond the schema: it explains that the parameter 'numbers' should be a list, provides format examples (e.g., [1, 2, 3]), and clarifies that fractions are allowed. This effectively documents the single parameter, though it could specify constraints like minimum list length.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: multiplying a list of numbers with 64-bit floating point precision and returning a 64-bit float. It specifies the verb ('multiplies'), resource ('list of positive and/or negative numbers'), and distinguishes from siblings like 'add', 'divide', 'matrix_multiplication', and 'subtract' by focusing exclusively on multiplication.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: for multiplying numbers in a list format. It implies usage by specifying the input format and examples, but does not explicitly state when not to use it or name alternatives like 'matrix_multiplication' for matrix operations, leaving some room for improvement in sibling differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
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/avanishd-3/math-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server