calculator_mcp
Click on "Deploy 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., "@calculator_mcpCalculate the factorial of 10."
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.
Calculator MCP Server
一个全面的数学计算 MCP (Model Context Protocol) 服务器,为 Claude Code 提供强大的数学计算功能。该服务器使用 FastMCP 框架构建,提供多种数学运算工具和智能提示功能。
功能特性
🧮 核心计算工具 (Tools)
基础运算: 加法、减法、乘法、除法
高级运算: 乘方、开方、取余、阶乘
基础统计: 平均值、中位数、标准差、最小/最大值、总和、计数、极差、方差、众数
高级统计: 百分位数、四分位数、四分位距、几何平均、调和平均
📋 智能提示 (Prompts)
乘法表生成: 自定义大小和起始数字的乘法表
方程求解: 分步骤解方程的对话式提示
金融计算: 复利计算提示
几何计算: 圆形、三角形、矩形、球体的详细计算指导
单位换算: 温度、长度、重量、速度、体积的全方位换算指导
贷款分期: 月供、总利息、提前还款、还款方式对比分析
概率计算: 排列、组合、二项分布、期望值、贝叶斯定理计算
健身分析: 步数、卡路里、心率、体重、血压的健康数据统计分析
资产清单: 列出所有可用工具和提示
Related MCP server: calculator
安装配置
Global Scope (全局安装)
使用 FastMCP 命令行工具安装到 Claude Code 全局配置:
uv run fastmcp install claude-code src/mcp_server/server.py --name calculator_mcp注意:fastmcp 还不支持在 Project Scope 安装!!! (很奇怪!)
Project Scope (项目级安装)
在项目根目录下的 .mcp.json 文件中添加以下配置:
{
"mcpServers": {
"calculator-mcp": {
"command": "/opt/homebrew/bin/uv",
"args": [
"run",
"python",
"/Users/szou/Python/Playground/CalculatorMCP/src/mcp_server/server.py"
]
}
}
}注意: 请将路径
/Users/szou/Python/Playground/CalculatorMCP/替换为你的实际项目路径。
可用工具详情
基础运算工具
add - 加法运算
参数: a (float), b (float)
返回: float
示例: add(5.5, 3.2) → 8.7subtract - 减法运算
参数: a (float), b (float)
返回: float
示例: subtract(10, 3) → 7multiply - 乘法运算
参数: a (float), b (float)
返回: float
示例: multiply(4, 5.5) → 22.0divide - 除法运算
参数: a (float), b (float)
返回: dict (包含结果和余数)
示例: divide(15, 4) → {"quotient": 3.75, "remainder": 3}高级运算工具
power - 乘方运算
参数: base (float), exponent (float)
返回: float
示例: power(2, 3) → 8.0root - 开方运算
参数: number (float), n (int, 默认=2)
返回: float
示例: root(16, 2) → 4.0, root(27, 3) → 3.0mod - 取余运算
参数: a (int), b (int)
返回: int
示例: mod(17, 5) → 2factorial - 阶乘运算
参数: n (int)
返回: int
示例: factorial(5) → 120统计分析工具 - 基础统计
mean - 平均值
参数: numbers (List[float])
返回: float
示例: mean([1, 2, 3, 4, 5]) → 3.0median - 中位数
参数: numbers (List[float])
返回: float
示例: median([1, 2, 3, 4, 5]) → 3.0stddev - 标准差
参数: numbers (List[float])
返回: float
示例: stddev([1, 2, 3, 4, 5]) → 1.58min_value - 最小值
参数: numbers (List[float])
返回: float
示例: min_value([5, 2, 8, 1, 9]) → 1max_value - 最大值
参数: numbers (List[float])
返回: float
示例: max_value([5, 2, 8, 1, 9]) → 9sum - 总和
参数: numbers (List[float])
返回: float
示例: sum([1, 2, 3, 4, 5]) → 15count - 计数
参数: numbers (List[float])
返回: int
示例: count([1, 2, 3, 4, 5]) → 5range_stat - 极差
参数: numbers (List[float])
返回: float
示例: range_stat([1, 5, 3, 9, 2]) → 8variance - 方差
参数: numbers (List[float])
返回: float
示例: variance([1, 2, 3, 4, 5]) → 2.5mode - 众数
参数: numbers (List[float])
返回: float 或 List[float] (多个众数时)
示例: mode([1, 2, 2, 3, 2]) → 2统计分析工具 - 高级统计
percentile - 百分位数
参数: numbers (List[float]), p (float, 0-100)
返回: float
示例: percentile([1, 2, 3, 4, 5], 50) → 3.0quartiles - 四分位数
参数: numbers (List[float])
返回: dict {Q1, Q2, Q3}
示例: quartiles([1, 2, 3, 4, 5, 6, 7, 8]) → {"Q1": 2.25, "Q2": 4.5, "Q3": 6.75}iqr - 四分位距
参数: numbers (List[float])
返回: float
示例: iqr([1, 2, 3, 4, 5, 6, 7, 8]) → 4.5geometric_mean - 几何平均值
参数: numbers (List[float], 必须为正数)
返回: float
示例: geometric_mean([2, 4, 8]) → 4.0harmonic_mean - 调和平均值
参数: numbers (List[float], 必须为正数)
返回: float
示例: harmonic_mean([1, 2, 4]) → 1.71智能提示功能
build_multiplication_table - 乘法表生成
生成自定义乘法表的提示,支持指定大小和起始数字。
使用方法: /build_multiplication_table
参数:
size(int, 默认=10): 乘法表大小start(int, 默认=1): 起始数字
solve_equation_conversation - 方程求解对话
启动分步骤解方程的对话式提示。
使用方法: /solve_equation_conversation
参数:
equation(str): 要求解的方程
financial_calculation_prompt - 金融计算
生成复利计算的提示和指导。
使用方法: /financial_calculation_prompt
参数:
principal(float): 本金rate(float): 利率time(int): 时间(年)
geometry_calculation - 几何计算
生成几何形状的详细计算步骤,包含目标、子目标和分步MCP工具调用指导。
使用方法: /geometry_calculation
参数:
shape(str): 形状类型(circle、triangle、rectangle、sphere)dimension1(float): 第一个维度(如半径、长度、边a)dimension2(float, 可选): 第二个维度(如宽度、高度、边b)dimension3(float, 可选): 第三个维度(仅用于三角形的第三条边)
支持的形状:
圆形 (circle): 需要半径,计算面积、周长、对应球体属性
三角形 (triangle):
底和高模式:需要底边和高度
三边模式:需要三条边长,使用海伦公式
矩形 (rectangle): 需要长和宽,计算面积、周长、对角线
球体 (sphere): 需要半径,计算表面积、体积、大圆周长
unit_conversion - 单位换算
生成单位换算的详细步骤指导,包含换算公式、验证方法和实际应用场景。
使用方法: /unit_conversion
参数:
conversion_type(str): 换算类型(temperature、length、weight/mass、speed/velocity、volume)value(float): 需要换算的数值from_unit(str, 可选): 源单位to_unit(str, 可选): 目标单位
支持的换算类型:
温度 (temperature): 摄氏度、华氏度、开尔文之间的换算
长度 (length): 公制、英制长度单位换算(km、m、cm、mm、miles、feet、inches等)
重量 (weight/mass): 质量单位换算(kg、g、pounds、ounces等)
速度 (speed/velocity): 速度单位换算(m/s、km/h、mph、knots等)
体积 (volume): 容积单位换算(liters、gallons、ml、cups等)
loan_amortization - 贷款分期计算
生成贷款分期还款的详细分析,包含月供计算、利息分析、提前还款和还款方式对比。
使用方法: /loan_amortization
参数:
principal(float): 贷款本金annual_rate(float): 年利率(百分比)term_years(int): 贷款期限(年)calculation_type(str, 可选): 计算类型,默认为"monthly_payment"
支持的计算类型:
月供计算 (monthly_payment/payment): 计算固定月供金额、总成本、利息分解
总利息分析 (total_interest/interest): 专注分析贷款生命周期的总利息成本
提前还款 (early_payoff/prepayment): 分析额外本金还款的影响和节省
还款方式对比 (comparison/equal_principal): 等额本息 vs 等额本金还款方式对比
probability_calculation - 概率计算
生成概率论和组合数学的详细计算指导,包含排列组合、概率分布和统计推理。
使用方法: /probability_calculation
参数:
calculation_type(str): 计算类型(permutation、combination、binomial、expected_value、bayes)n(int, 可选): 总数量或试验次数r(int, 可选): 选择数量或成功次数probability(float, 可选): 成功概率(用于二项分布)trials(int, 可选): 试验次数(用于二项分布)
支持的计算类型:
排列 (permutation/arrangement): 计算P(n,r),顺序重要的排列数
组合 (combination/choose): 计算C(n,r),顺序无关的组合数
二项概率 (binomial/binomial_probability): 计算二项分布概率P(X=k)
期望值 (expected_value/expectation): 计算概率分布的期望值E(X)
贝叶斯 (bayes/conditional): 计算条件概率和贝叶斯推理
list_all_assets - 资产清单
列出所有可用的工具和提示功能。
使用方法: /list_all_assets
使用示例
工具使用示例
基础计算
# 加法运算
@calculator-mcp add 25.5 14.3
# 乘方运算
@calculator-mcp power 2 10
# 统计分析
@calculator-mcp mean [85, 92, 78, 96, 88]复杂计算组合
# 计算复合表达式: (5 + 3) * 2^3
@calculator-mcp add 5 3 # 结果: 8
@calculator-mcp power 2 3 # 结果: 8
@calculator-mcp multiply 8 8 # 结果: 64Slash Commands 示例
生成乘法表
/build_multiplication_table size:12 start:1生成 1-12 的乘法表提示。
求解方程
/solve_equation_conversation equation:"2x + 5 = 15"启动求解线性方程的分步对话。
金融计算
/financial_calculation_prompt principal:10000 rate:0.05 time:3生成本金10000元,年利率5%,3年期复利计算的提示。
几何计算
# 圆形计算(半径=5)
/geometry_calculation shape:"circle" dimension1:5.0
# 三角形计算(底=6,高=4)
/geometry_calculation shape:"triangle" dimension1:6.0 dimension2:4.0
# 三角形计算(三边:3, 4, 5 - 直角三角形)
/geometry_calculation shape:"triangle" dimension1:3.0 dimension2:4.0 dimension3:5.0
# 矩形计算(长=8,宽=6)
/geometry_calculation shape:"rectangle" dimension1:8.0 dimension2:6.0
# 球体计算(半径=7)
/geometry_calculation shape:"sphere" dimension1:7.0生成带有详细目标和分步指导的几何计算提示,每个步骤都包含MCP工具调用说明。
单位换算
# 温度换算(25摄氏度转华氏度)
/unit_conversion conversion_type:"temperature" value:25.0 from_unit:"celsius" to_unit:"fahrenheit"
# 长度换算(100米转英尺)
/unit_conversion conversion_type:"length" value:100.0 from_unit:"meters" to_unit:"feet"
# 重量换算(5公斤转磅)
/unit_conversion conversion_type:"weight" value:5.0 from_unit:"kilograms" to_unit:"pounds"
# 速度换算(60英里/小时转公里/小时)
/unit_conversion conversion_type:"speed" value:60.0 from_unit:"mph" to_unit:"km/h"
# 体积换算(4升转美制加仑)
/unit_conversion conversion_type:"volume" value:4.0 from_unit:"liters" to_unit:"gallons"
# 获取通用换算指导(不指定具体单位)
/unit_conversion conversion_type:"energy" value:100.0生成详细的单位换算指导,包含换算公式、验证步骤、参考点和MCP工具调用说明。
贷款分期计算
# 月供计算(25万贷款,4.5%年利率,30年)
/loan_amortization principal:250000.0 annual_rate:4.5 term_years:30 calculation_type:"monthly_payment"
# 总利息分析(30万贷款,5.0%年利率,20年)
/loan_amortization principal:300000.0 annual_rate:5.0 term_years:20 calculation_type:"total_interest"
# 提前还款分析(20万贷款,4.25%年利率,15年)
/loan_amortization principal:200000.0 annual_rate:4.25 term_years:15 calculation_type:"early_payoff"
# 还款方式对比(40万贷款,3.75%年利率,25年)
/loan_amortization principal:400000.0 annual_rate:3.75 term_years:25 calculation_type:"comparison"
# 默认月供计算(不指定calculation_type)
/loan_amortization principal:180000.0 annual_rate:5.5 term_years:30生成详细的贷款分析,包含分步的MCP工具计算、财务洞察、验证步骤和实用建议。
概率计算
# 排列计算(10选3的排列数)
/probability_calculation calculation_type:"permutation" n:10 r:3
# 组合计算(彩票:49选6)
/probability_calculation calculation_type:"combination" n:49 r:6
# 二项分布(20次试验中15次成功,成功率80%)
/probability_calculation calculation_type:"binomial" n:20 r:15 probability:0.8
# 期望值计算(投资回报期望)
/probability_calculation calculation_type:"expected_value"
# 贝叶斯推理(医学诊断概率更新)
/probability_calculation calculation_type:"bayes"
# 通用概率指导(不指定具体参数)
/probability_calculation calculation_type:"general_guide"生成详细的概率和组合数学指导,包含公式推导、MCP工具计算步骤、实际应用场景和验证方法。
健身数据分析
# 步数分析(每日分析,减重目标)
/fitness_analytics metric_type:"steps" time_period:"daily" goal_type:"weight_loss"
# 心率分析(每周分析,运动训练目标)
/fitness_analytics metric_type:"heart_rate" time_period:"weekly" goal_type:"athletic_training"
# 血压监控(每月分析,健康监控)
/fitness_analytics metric_type:"blood_pressure" time_period:"monthly" goal_type:"health_monitoring"
# 体重追踪(每周分析,减重目标)
/fitness_analytics metric_type:"weight" time_period:"weekly" goal_type:"weight_loss"
# 卡路里分析(每日分析,健身改善)
/fitness_analytics metric_type:"calories" time_period:"daily" goal_type:"fitness_improvement"
# 默认参数(步数,每周,健康监控)
/fitness_analytics metric_type:"steps"
# 季度健康综合分析
/fitness_analytics metric_type:"heart_rate" time_period:"quarterly" goal_type:"health_monitoring"生成详细的健身数据统计分析,包含:
健康指标的统计描述(均值、方差、范围、分位数)
时间趋势分析和模式识别
目标导向的健康建议和优化策略
MCP统计工具的分步计算指导
健康风险评估和安全注意事项
fitness_analytics - 健身数据分析
生成健身和健康数据的统计分析,包含多种健康指标的详细分析和趋势监控。
使用方法: /fitness_analytics
参数:
metric_type(str): 健康指标类型(steps、calories、heart_rate、weight、blood_pressure)time_period(str, 默认="weekly"): 分析周期(daily、weekly、monthly、quarterly)goal_type(str, 默认="health_monitoring"): 健身目标(weight_loss、fitness_improvement、health_monitoring、athletic_training)
支持的健康指标:
步数分析 (steps): 日常活动量评估,步数目标追踪,活动模式识别
卡路里分析 (calories): 能量消耗分析,代谢评估,减重/增重指导
心率分析 (heart_rate): 心血管健康监控,运动强度分析,静息心率趋势
体重分析 (weight): 体重变化趋势,减重/增重进度,健康体重范围评估
血压分析 (blood_pressure): 血压监控,心血管风险评估,健康警报
分析周期选项:
日常 (daily): 每日数据变化和短期波动分析
每周 (weekly): 周度趋势和模式识别
每月 (monthly): 月度进展追踪和长期趋势
季度 (quarterly): 长期健康趋势和年度目标评估
健身目标类型:
减重 (weight_loss): 针对减重目标的数据分析和建议
健身改善 (fitness_improvement): 提升体能和运动表现的指导
健康监控 (health_monitoring): 日常健康状态跟踪和预防
运动训练 (athletic_training): 专业运动表现优化和训练指导
统计工具集成: 每个指标分析都使用10+种统计工具进行深度分析:
基础统计: mean, variance, stddev, min_value, max_value, range_stat
分布分析: percentile, quartiles, iqr, mode
趋势分析: 时间序列模式,异常值检测,健康范围对比
查看所有功能
/list_all_assets显示所有可用的工具和提示功能清单。
技术架构
项目结构
CalculatorMCP/
├── README.md # 项目说明文档
├── pyproject.toml # Python 项目配置
├── .mcp.json # MCP 服务器配置
├── CLAUDE.md # 开发指南
├── src/
│ └── mcp_server/ # MCP 服务器主目录
│ ├── __init__.py
│ ├── server.py # 主服务器文件 - FastMCP 服务器实例
│ ├── models/ # 数据模型定义
│ │ ├── __init__.py
│ │ └── schemas.py # Pydantic 数据验证模型
│ ├── tools/ # 计算工具实现 (23个工具)
│ │ ├── __init__.py
│ │ ├── add_tool.py # 加法运算
│ │ ├── subtract_tool.py # 减法运算
│ │ ├── multiply_tool.py # 乘法运算
│ │ ├── divide_tool.py # 除法运算
│ │ ├── power_tool.py # 乘方运算
│ │ ├── root_tool.py # 开方运算
│ │ ├── mod_tool.py # 取余运算
│ │ ├── factorial_tool.py # 阶乘运算
│ │ └── statistics_tool.py # 统计分析工具 (15种统计函数)
│ └── prompts/ # 智能提示实现 (9个提示)
│ ├── __init__.py
│ ├── list_assets_prompt.py # 资产清单提示
│ ├── multiplication_table_prompt.py # 乘法表生成
│ ├── solve_equation_prompt.py # 方程求解对话
│ ├── financial_calculation_prompt.py # 金融计算指导
│ ├── geometry_calculation_prompt.py # 几何计算指导
│ ├── unit_conversion_prompt.py # 单位换算指导
│ ├── loan_amortization_prompt.py # 贷款分期分析
│ ├── probability_calculation_prompt.py # 概率计算指导
│ └── fitness_analytics_prompt.py # 健身数据分析 (新增)
├── tests/ # 测试文件目录
│ ├── __init__.py
│ ├── test_tools/ # 工具测试 (95个测试)
│ │ ├── __init__.py
│ │ ├── test_add_tool.py
│ │ ├── test_subtract_tool.py
│ │ ├── test_multiply_tool.py
│ │ ├── test_divide_tool.py
│ │ ├── test_power_tool.py
│ │ ├── test_root_tool.py
│ │ ├── test_mod_tool.py
│ │ ├── test_factorial_tool.py
│ │ ├── test_statistics_tool.py # 基础统计测试
│ │ ├── test_statistics_extended.py # 扩展统计测试
│ │ └── test_statistics_server_tools.py # 服务器集成测试
│ └── test_prompts/ # 提示测试 (101个测试)
│ ├── __init__.py
│ ├── test_list_assets_prompt.py
│ ├── test_multiplication_table_prompt.py
│ ├── test_solve_equation_prompt.py
│ ├── test_financial_calculation_prompt.py
│ ├── test_geometry_calculation_prompt.py
│ ├── test_unit_conversion_prompt.py
│ ├── test_loan_amortization_prompt.py
│ ├── test_probability_calculation_prompt.py
│ └── test_fitness_analytics_prompt.py # 健身分析测试 (新增)
└── ai_docs/ # AI 生成的文档
└── [documentation files]依赖要求
Python 3.8+
FastMCP 框架
Pydantic (数据验证)
uvicorn (ASGI 服务器)
开发说明
本地运行
# 安装依赖
uv sync
# 启动服务器
uv run python src/mcp_server/server.py测试
# 运行所有测试
uv run pytest
# 运行特定测试
uv run pytest tests/test_tools/test_add_tool.py许可证
本项目基于 MIT 许可证开源。
贡献
欢迎提交 Issue 和 Pull Request 来改进这个项目!
Available Tools
23 toolsaddB
Add two numbers together.
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | ||
| b | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden, but this is a pure arithmetic operation whose behavior ('add two numbers together') is fully evident. It discloses nothing about output type, rounding, or numeric precision, which is a minor gap for a calculator tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with zero wasted words. Nothing could be trimmed without losing meaning.
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?
An output schema exists, so return values need not be explained, and the operation is trivial. The description is nearly sufficient for such a simple tool; the only missing piece is differentiation from the 'sum' sibling.
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 0%, with parameters named only 'a' and 'b'. The description says 'two numbers', which confirms operand type but adds no mapping to 'a'/'b' or information about order (irrelevant for addition, but not stated) or accepted numeric ranges.
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?
States a specific verb (add) and its operands (two numbers), which is unambiguous on its own. It does not differentiate itself from siblings such as sum or mean, which also aggregate numbers, but the operation is clear enough that no agent would confuse 'add' with 'mod' or 'factorial'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus 'sum' (which likely adds a list) or how it differs from adding more than two values. The description gives no context, exclusions, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
countC
Count the number of values in a dataset.
| Name | Required | Description | Default |
|---|---|---|---|
| numbers | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full behavioral burden, yet it says nothing about edge cases such as empty arrays, whether it counts elements or distinct values, or what the return type is. For a tool with zero structured behavioral coverage, one short sentence is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence that is front-loaded with the verb. It wastes no words, though the brevity borders on under-specification rather than true conciseness.
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?
An output schema exists, so return values need not be explained, and the tool is simple with one parameter. Still, the description omits edge-case behavior (empty input, distinct vs total count) that matters for a counting tool.
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 0% and the description only vaguely refers to 'values in a dataset'. It does not clarify that the lone required parameter is an array of numbers or what form the input takes, so the description fails to compensate for the undocumented schema.
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?
States a specific verb (count) and resource (values in a dataset), which is clearer than a bare name. However, it does not differentiate from nearby siblings like sum, mean, or mode, which also operate on a collection of values; the agent must infer the distinction from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use count versus the many aggregation siblings (sum, mean, median, variance). No context, prerequisites, or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divideB
Divide the first number by the second.
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | ||
| b | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing about edge cases such as division by zero or how errors are surfaced. For a pure arithmetic tool the risk is low, but the denominator-nonzero constraint is left entirely unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero waste that states the operation and operand order immediately.
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?
An output schema exists so return values need not be explained, and the operation is simple. However, the division-by-zero behavior and the a/b role assignment in the schema remain undocumented, leaving a small but real gap.
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 0% and the parameters are generically named 'a' and 'b', but the description meaningfully maps them ('first number by the second' → a is numerator, b is denominator). It still omits that b must be nonzero, so it partially compensates for the coverage gap.
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?
States a specific verb (divide) and its operand relationship ('first number by the second'), which distinguishes it from siblings like multiply, subtract, and add. Sibling differentiation is implicit via the operation name rather than explicit, so it stops short of a 5.
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 on when to use this versus alternatives such as mod, power, or the mean-family tools that also perform division internally. Usage is only implied by the mathematical operation name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
factorialB
Calculate factorial of n with progress reporting.
| Name | Required | Description | Default |
|---|---|---|---|
| n | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose one useful trait beyond the schema — 'with progress reporting' — which hints at a long-running/interactive operation. However, it omits critical behavior for factorial: domain constraints on n, overflow behavior, and what the progress reporting actually looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with the action front-loaded and no wasted verbiage. Nothing redundant is included.
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?
An output schema exists, so return values need not be explained, and one parameter is trivially discoverable. Still, for a numeric unary function the description should mention domain restrictions and any limits on n, which it does not.
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 0% and the description only restates the parameter name ('of n') without adding meaning. For factorial, the sign and range of n are semantically critical, and neither the schema nor the description address them.
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?
States a specific verb+resource ('Calculate factorial of n'), which is unambiguous and clearly distinct from the arithmetic siblings like multiply or power. It lacks any explicit sibling differentiation, but the operation is inherently self-identifying.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to prefer this over alternatives (e.g. multiply loops) and no stated preconditions, such as n needing to be a non-negative integer or practical size limits. The agent is left to infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geometric_meanB
Calculate the geometric mean of positive values.
| Name | Required | Description | Default |
|---|---|---|---|
| numbers | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does add one genuinely useful constraint not present in the schema — that values must be positive — since the schema accepts any number including negatives and zero. However, it says nothing about what happens on invalid input (error vs. NaN), empty arrays, or how the result is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. Every word earns its place and the key constraint appears immediately.
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 one-parameter math utility with an output schema (so return format needn't be explained) and no annotations, purpose plus input-domain constraint is close to sufficient. The main missing piece is error behavior for zero/negative or empty input.
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 coverage is 0% and the single parameter is just an untyped-by-description array of numbers. The phrase 'of positive values' does add a real semantic constraint on the input domain that the schema does not express. It still leaves open whether the array may be empty, whether duplicates or ordering matter.
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?
States a specific verb (Calculate) and resource (geometric mean) plus a scope qualifier (positive values). This is clearly distinct from the sibling harmonic_mean or mean, but the description never names the alternatives, so it relies on the agent's own domain knowledge to differentiate.
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 when-to-use guidance, no mention of when geometric mean is preferred over the arithmetic mean or harmonic_mean siblings, and no exclusions. Usage is only implicitly inferable from the mathematical name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
harmonic_meanB
Calculate the harmonic mean of positive values.
| Name | Required | Description | Default |
|---|---|---|---|
| numbers | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 usefully discloses the domain constraint that inputs must be positive, but says nothing about behavior on empty arrays, zero/negative inputs, or errors. Partial but not full behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; every word earns its place and the key domain constraint is included.
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 one-parameter statistical tool with an output schema (so return values needn't be described), the description covers the core purpose and a key domain constraint. It falls short only on error/edge-case behavior, which is minor here.
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 0% and the single 'numbers' array param is undocumented in the schema. The description adds the meaningful constraint that values must be positive, but does not clarify that input is an array of numbers or how invalid input is handled.
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?
States a specific verb ('Calculate') and resource ('harmonic mean'), which distinguishes it from the sibling 'geometric_mean' and 'mean' by name. However, it does not explicitly contrast itself with those siblings, so an agent must infer the difference.
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 on when to use harmonic mean versus the sibling 'geometric_mean' or 'mean', and no prerequisites or exclusions stated. The 'positive values' phrase hints at the domain but is not framed as usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
iqrB
Calculate the interquartile range (Q3 - Q1) of a dataset.
| Name | Required | Description | Default |
|---|---|---|---|
| numbers | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the core computation (Q3 - Q1), which is useful, but does not specify quartile interpolation method, handling of edge cases, or explicit purity/no-side-effect behavior.
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 definition is a single, front-loaded sentence with zero waste. It is appropriately sized for a 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?
The tool is simple and an output schema exists, so return values need not be explained. However, the description leaves the quartile computation method ambiguous and provides no parameter guidance, making it only minimally complete for correct 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?
Schema description coverage is 0%, so the single numbers parameter has no structured documentation. The description says 'of a dataset' but adds no meaningful detail about the expected numeric array, requiredness, or constraints beyond what the schema name implies.
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 states a specific verb (Calculate), resource (interquartile range), and formula (Q3 - Q1) of a dataset. It clearly identifies what the tool computes, though it does not explicitly distinguish itself from siblings like quartiles, range_stat, or percentile.
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 when-to-use guidance, prerequisites, or alternatives. With related tools such as quartiles, percentile, and range_stat available, an agent receives no help in choosing iqr over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
max_valueB
Find the maximum value in a dataset.
| Name | Required | Description | Default |
|---|---|---|---|
| numbers | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It conveys that this is a pure computation over a numeric array (no side effects implied by 'find'), but does not disclose behavior for edge cases such as empty arrays, ties, or non-numeric input. For a trivial pure function this is adequate but thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no wasted words, and the core purpose is front-loaded. It is appropriately sized, though slightly under-specified rather than maximally informative.
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?
An output schema exists, so return values need not be explained, and this is a simple single-parameter pure function. The description is complete enough for an agent to invoke it correctly, with only edge-case behavior left implicit.
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 0%, so the schema gives only the parameter name 'numbers' and type. The phrase 'in a dataset' loosely maps to that array input but adds no real format, constraint, or ordering semantics beyond what the schema shows.
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 states a specific verb ('find') and resource ('maximum value') with scope ('in a dataset'), which is clear on its own. It does not, however, explicitly differentiate from the closely related sibling min_value, though the name and wording make the distinction inferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like min_value, mean, or median, all of which are siblings. No prerequisites, edge-case handling, or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
meanC
Calculate the arithmetic mean of a dataset.
| Name | Required | Description | Default |
|---|---|---|---|
| numbers | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 says nothing about edge cases: what happens with an empty dataset, whether non-numeric values are rejected, whether the result is rounded, or how it handles extreme values. The only behavioral inference available is that it's a pure read/compute operation, which is implicit in the name, not in the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or redundancy. It is appropriately sized for the simplicity of the tool, though its brevity comes at the cost of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so the description needn't explain return values. However, with no annotations, zero schema description coverage, and no behavioral or usage context, the description is too thin for a tool sitting among many similar statistical and arithmetic siblings. It lacks the information an agent would need to confidently select and invoke it correctly in ambiguous scenarios.
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 0%, so the schema does not document the single 'numbers' parameter beyond its type and title. The description says 'a dataset' but does not clarify that the parameter is a flat array of numbers, whether it must be non-empty, or any constraints. With the schema providing no semantic description and the tool description also silent, the parameter is effectively undocumented.
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 states a specific verb ('Calculate') and resource ('arithmetic mean of a dataset'), which is clear on its own. However, with siblings like geometric_mean, harmonic_mean, median, and mode, the description does nothing to distinguish arithmetic mean from those alternatives beyond the word 'mean' itself. It's a vague but functional purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives like geometric_mean or harmonic_mean, and no conditions under which this tool should be selected over its siblings. With 23 sibling tools in the same numeric-calculation domain, the lack of routing guidance is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
medianB
Calculate the median of a dataset.
| Name | Required | Description | Default |
|---|---|---|---|
| numbers | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses nothing about edge cases (even-length datasets averaging the two middle values, empty input handling, ordering requirements), though the operation itself is a deterministic pure computation with low risk.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with zero filler. It is appropriately sized for a simple unary math 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?
An output schema exists, so return-value explanation is unnecessary, and the tool is a simple pure computation. The description is nearly complete for its complexity, with only edge-case behavior (empty/even-length input) left implicit.
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 0% for the single 'numbers' parameter, so the description should compensate. 'dataset' hints at an array of values, which aligns with the schema, but it does not state the expected element type, non-emptiness, or numeric-only constraint.
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?
States a specific verb and resource ('Calculate the median') and, by naming 'median', implicitly distinguishes itself from the many sibling statistics tools (mean, mode, variance, etc.). It is clear but offers no explicit sibling-differentiation guidance.
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 when-to-use guidance and no alternatives named. With siblings like mean, mode, and percentile, a note on when median is preferred (e.g., robust to outliers) would add real value; the description provides none.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
min_valueB
Find the minimum value in a dataset.
| Name | Required | Description | Default |
|---|---|---|---|
| numbers | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must carry the behavioral burden. It implies a read-only computation, which is likely correct, but does not specify behaviors such as handling of empty arrays, NaN values, or return type. The presence of an output schema mitigates some concern about return format, but the description adds no behavioral detail 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, front-loaded sentence that directly states the tool's purpose with no wasted words. It is appropriately sized for a simple operation, though it could benefit from brief usage or edge-case notes.
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 simplicity, one parameter, and an output schema, the description covers the core function but leaves gaps in usage context, edge-case behavior, and parameter details. It is adequate but incomplete for full contextual 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?
The schema has 0% description coverage and only one parameter ('numbers') whose type is clear from the schema. The description does not add any semantics about the parameter, such as format or constraints, but given the simple parameter and output schema, this is minimally acceptable.
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?
States a specific verb ('Find') and resource ('minimum value in a dataset'), and is clearly distinguishable from siblings like max_value, mean, and median. An agent can identify its function immediately.
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?
Provides no guidance on when to use this tool versus alternatives such as max_value or median, or how to handle edge cases like empty datasets. The absence of any usage context forces the agent to infer from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
modB
Calculate remainder (余数) when a is divided by b.
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | ||
| b | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 defines the operation deterministically, but omits edge-case behavior such as division by zero or sign handling for negatives, which matter for a modulo tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero waste. It is appropriately sized for a trivial two-argument math 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?
An output schema exists, so return-value explanation is not needed. For a simple pure-computation tool the description is essentially complete, with only b=0 behavior left unstated.
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 coverage is 0% and both parameters are named only 'a' and 'b'. The description usefully disambiguates that a is the dividend and b the divisor, but adds nothing about integer constraints or edge cases.
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?
States a specific verb+resource: computing the remainder of a divided by b. The operation is unambiguous and distinct from the arithmetic siblings (add, divide, power, etc.), though it does not explicitly call out how it differs from 'divide'.
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 when-to-use guidance, no mention of alternatives, no prerequisites. Given the operand parameters are untyped semantics-wise, an agent gets no help on context beyond the bare operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
modeB
Find the mode(s) of a dataset.
| Name | Required | Description | Default |
|---|---|---|---|
| numbers | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full behavioral burden. The parenthetical '(s)' hints that multiple modes may be returned, which is useful, but there's no disclosure of edge cases like empty input, all-equal values, or how ties are reported.
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?
One short, front-loaded sentence with no filler. Appropriate size for a simple statistical tool, though it could afford one more sentence of detail without becoming bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple and has an output schema, so return values needn't be explained. However, for a statistical function with a 0%-documented parameter and no annotations, the description is barely adequate.
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 coverage is 0% and the single parameter 'numbers' is only documented by its property title. The description doesn't clarify the expected array form, numeric constraints, or handling of floats, so it does not compensate for the low coverage. Baseline 3 reflects that one parameter is at least obvious from the name.
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?
States a specific verb ('find') and the statistical concept ('mode(s) of a dataset'), which is enough to distinguish it from siblings like mean, median, and sum. It doesn't explicitly name a sibling but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to prefer mode over mean or median, nor any note about what happens with multimodal datasets despite the parenthetical '(s)'. Usage is entirely inferred from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
multiplyA
Multiply two numbers.
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | ||
| b | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 nothing beyond the operation, but multiplication is an inherently pure, side-effect-free function, so the behavioral profile is self-evident to an agent. No edge-case context (overflow, float precision, operand order) is added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler. Every word earns its place and the operation is stated immediately.
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?
An output schema exists, so return values need no explanation, and the tool is a trivial two-operand primitive. The definition is adequate for correct invocation, though it could note operand semantics or precision behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% — parameters 'a' and 'b' carry only bare titles. The description's phrase 'two numbers' partially compensates by fixing the operand type and count, but adds no meaning about order, range, or behavior beyond that.
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?
States a specific verb (multiply) and its operand resource (two numbers). Within a family of arithmetic siblings (add, subtract, power), the operation itself is fully unambiguous and needs no further differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, but for a primitive binary arithmetic operation the correct usage is implied by the description and the sibling operation names. No alternative routing is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
percentileB
Calculate the pth percentile of a dataset.
| Name | Required | Description | Default |
|---|---|---|---|
| p | Yes | ||
| numbers | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 does not disclose the interpolation/quantile convention (e.g., linear interpolation vs nearest-rank), which materially affects the returned value, nor anything about handling of unsorted input, empty arrays, or out-of-range p. For a pure-computation tool this is thin behavioral 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?
A single, front-loaded sentence with zero wasted words. Structure is optimal for a simple math utility.
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?
An output schema exists, so return-value explanation is unnecessary. However, for a percentile tool the unresolved ambiguity in the p scale and interpolation method is a real completeness gap that the description does not close, leaving an agent to guess semantics that change the result.
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 coverage is 0% and there are two required parameters, so the description must compensate. It partially does: 'pth percentile' connects to the p parameter and 'dataset' to numbers, but it says nothing about valid p ranges (0-100 vs 0-1), and the schema gives only bare titles like 'P' and 'Numbers'.
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?
States a specific verb+resource: 'Calculate the pth percentile of a dataset.' An agent knows exactly what operation this performs. It does not, however, differentiate itself from nearby siblings such as quartiles, median, or iqr, which compute related order statistics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no reference to alternative tools like median or quartiles for related summary statistics. The agent must infer that this is the tool for arbitrary percentile queries versus the fixed-percentile siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
powerA
Calculate base raised to the power of exponent (乘方).
| Name | Required | Description | Default |
|---|---|---|---|
| base | Yes | ||
| exponent | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, but this is a pure, deterministic arithmetic function with no side effects, so the disclosure burden is low. The description does not mention edge cases (negative base with fractional exponent, overflow, complex results), which is the main behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that states the operation precisely, with a brief parenthetical gloss; nothing is wasted and the core action comes first.
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 two-parameter pure function with a sibling set of simple arithmetic tools and an output schema already present, the description covers what an agent needs to select and call it. Only edge-case behavior is left implicit.
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 0%, but the schema titles ('Base', 'Exponent') and the description together make the two parameters' roles clear, and the description adds the mathematical relationship between them. Still, no format, range, or edge-case semantics are provided.
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 gives a specific verb ('Calculate') and an unambiguous mathematical relation ('base raised to the power of exponent'), which an agent can distinguish from siblings like root, multiply, or factorial without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance and no named alternative (e.g. 'use root for nth roots'). Usage is only implied by the operation itself, which for a math primitive is reasonably self-evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quartilesB
Calculate the quartiles (Q1, Q2, Q3) of a dataset.
| Name | Required | Description | Default |
|---|---|---|---|
| numbers | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 operation and its outputs, which implies a pure, read-only calculation, but it does not mention edge-case handling (e.g., empty arrays, interpolation method) or confirm the absence of side effects. The presence of an output schema covers the return format, so the gap is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted words. It states the operation and outputs immediately, which is appropriate for a simple calculation tool.
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 one-parameter statistical tool with an output schema, the description is minimally adequate. However, it omits usage guidance relative to siblings and does not address edge cases or input expectations, leaving some gaps for an agent to navigate.
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 single parameter has 0% schema description coverage, so the description must compensate. It refers to 'a dataset' but adds no details about the expected input format, whether the array can be empty, or how the numbers should be structured. The schema name and type are self-explanatory, but the description adds little beyond that.
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 gives a specific verb ('Calculate') and resource ('quartiles') and even names the three outputs (Q1, Q2, Q3), so the operation is clear. However, it does not differentiate this tool from overlapping siblings such as percentile, median, or iqr, which could also produce some of these values.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like percentile, median, or iqr. The description simply states what it calculates, leaving the agent to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
range_statA
Calculate the range (max - min) of a dataset.
| Name | Required | Description | Default |
|---|---|---|---|
| numbers | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden, but for a deterministic pure-function statistic the bar is inherently low. It does not disclose edge-case behavior (empty array, single element, NaN handling) or confirm the operation is stateless and side-effect free, leaving modest 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?
A single tight sentence with zero waste, front-loading the operation and its exact formula. Nothing could be trimmed without losing meaning.
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 one-parameter, deterministic arithmetic tool with an output schema present, the definition supplies everything needed to call it correctly. Return-value explanation is unnecessary given the output schema, and the remaining edge-case silence is minor for this tool class.
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 0%, so the description must compensate; 'of a dataset' loosely signals that the numbers parameter is the input set. Combined with the schema's array-of-number typing, this is minimally adequate, though it adds no format, ordering, or constraint detail beyond 'max - min' semantics.
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 gives a specific verb (Calculate), the resource (range of a dataset), and even spells out the formula (max - min), which lets an agent distinguish it from adjacent statistics siblings like iqr or variance. It stops short of naming an alternative explicitly, so it is clear but not sibling-routing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to prefer range over siblings such as iqr, stddev, or min_value/max_value, and no stated preconditions. The agent must infer usage entirely from the tool name and formula.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rootC
Calculate the nth root of a number (开方).
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | ||
| number | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It says nothing about edge cases (e.g., even roots of negative numbers), whether n must be a positive integer, or the default n=2 behavior — all things an agent would want to know before invoking a root function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence that front-loads the core operation with no filler. The parenthetical Chinese gloss (开方) is mildly redundant but harmless.
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?
An output schema exists, so return values need not be explained. For a simple two-parameter math tool the description is minimally adequate, but it leaves domain/error behavior unstated, which is the main thing missing given the total 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 0%, so the description must compensate. It implicitly defines both parameters (the number and the root degree n via 'nth root'), which is better than nothing, but it does not mention the default n=2, the integer constraint on n, or the sign domain.
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 states a specific verb (calculate) and resource (nth root of a number), so an agent immediately knows the operation. However, it does not distinguish itself from closely related siblings like power (the inverse operation) or divide, so the agent must infer the boundary itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use root instead of power, divide, or any other arithmetic sibling. For a pure math helper in a large arithmetic family, the absence of routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stddevC
Calculate the standard deviation of a dataset.
| Name | Required | Description | Default |
|---|---|---|---|
| numbers | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It does not mention whether it computes population or sample standard deviation, nor does it describe any assumptions about the input (e.g., handling of empty arrays or non-numeric values).
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, concise sentence that is front-loaded with the action and result. It contains no unnecessary words.
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 that this is a statistical function with a required array parameter and no annotations, the description is incomplete. It omits critical details such as the type of standard deviation (population vs. sample), the required input format, and the return value characteristics (though an output schema exists, it likely describes the return type but not the statistical method).
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 coverage is 0% and there is only 1 parameter. The description says 'of a dataset' but does not clarify that the parameter is an array of numbers. Baseline for 1 param is not explicitly defined; however, with low schema coverage, the description should compensate but does not add meaning beyond the schema's property name.
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?
States a specific verb (Calculate) and resource (standard deviation of a dataset), which clearly distinguishes it from siblings like variance or mean. However, it does not explicitly differentiate from the closest sibling 'variance', which is a related but distinct statistic.
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 standard deviation vs. variance or other spread measures. The description merely states what the tool does without any context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subtractB
Subtract the second number from the first.
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | ||
| b | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose the operand ordering ('second number from the first'), which is the key behavioral detail for subtraction, but it does not mention result type, error behavior, or any other runtime characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted words. It communicates the core operation directly and is appropriately sized for a simple arithmetic tool.
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?
An output schema exists, so return values need not be explained. For a two-parameter arithmetic tool this is minimally adequate, but the description could explicitly map 'first'/'second' to 'a'/'b' to remove the only real ambiguity in calling it correctly.
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 coverage is 0%, so parameter semantics must come from the description. It maps 'first' and 'second' to the two operands, implying a minus b, but does not explicitly bind those terms to the parameter names 'a' and 'b', leaving a slight ambiguity.
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 states a specific mathematical operation (subtraction) with explicit operand order (second from first), which is clearer than a bare name. It lacks any sibling differentiation, though the sibling names (add, divide, multiply) make the distinction obvious without extra text.
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 given about when to use this tool versus alternatives like add or divide. The description only states the operation, not the context or conditions for selecting it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sumC
Calculate the sum of all values in a dataset.
| Name | Required | Description | Default |
|---|---|---|---|
| numbers | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden and does not meet it. It says nothing about determinism, behavior on an empty array, non-numeric handling, or overflow, all of which matter for an aggregation over arbitrary input values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with no filler, and the verb is front-loaded. It is efficient, though it is arguably under-specified rather than optimally trimmed.
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?
An output schema exists, so return-value explanation is not needed, and the tool takes one required parameter. Still, the absence of any disambiguation from 'add' or guidance on edge-case input leaves the definition only minimally viable for a math primitive in a dense sibling set.
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 0%, so the description must compensate for the single 'numbers' parameter. Saying 'all values in a dataset' does clarify that the input is a whole collection to be collapsed rather than two operands, which is more than the bare parameter name conveys, but it adds no format, type, or ordering detail.
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 states a specific verb ('Calculate') and resource ('sum of all values in a dataset'), which is clearer than a tautology. However, it does not distinguish this from siblings that are semantically adjacent, most notably 'add' (binary addition) versus 'sum' (aggregate over a collection), nor does it clarify its relationship to aggregate siblings like 'mean', 'count', or 'max_value'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool instead of 'add' or the other aggregate siblings. An agent must infer from the word 'dataset' that this collapses an entire collection rather than adding two operands, which is a meaningful ambiguity in a 23-tool arithmetic family.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
varianceC
Calculate the variance of a dataset.
| Name | Required | Description | Default |
|---|---|---|---|
| numbers | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does not specify whether it computes sample or population variance, how it handles edge cases (e.g., empty or single-element datasets), or any error behavior, which are critical for a statistical 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 is front-loaded with the core action. There is no wasted wording.
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?
Although an output schema exists and covers return values, the description omits essential context for correct invocation: the distinction between sample and population variance and any input constraints. For a mathematical tool with zero annotation and schema coverage, this is a significant gap.
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 0% for the single parameter. The description only says 'of a dataset,' adding no detail about the expected format (e.g., a non-empty array of numbers) or constraints, so it fails to compensate for the missing schema 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 states a specific verb and resource: 'Calculate the variance of a dataset.' It is clear what the tool computes, but it does not distinguish itself from siblings like stddev, mean, or median beyond the self-evident name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as stddev or mean, nor any mention of prerequisites or context. The description offers no usage conditions at all.
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.
23 tool updates
v0.1.0- First observed
add - First observed
count - First observed
divide - First observed
factorial - First observed
geometric_mean - First observed
harmonic_mean - First observed
iqr - First observed
max_value - First observed
mean - First observed
median - First observed
min_value - First observed
mod - First observed
mode - First observed
multiply - First observed
percentile - First observed
power - First observed
quartiles - First observed
range_stat - First observed
root - First observed
stddev - First observed
subtract - First observed
sum - First observed
variance
TDQS
Scored across 23 tools
Most tools have clearly distinct purposes, especially across arithmetic and statistical operations. Minor potential overlap exists between add and sum, or min_value/max_value and range_stat, but the descriptions clarify their boundaries well.
Names are all lowercase and multi-word names use snake_case consistently (e.g., range_stat, geometric_mean). The main deviation is that some tools are named as verbs (add, subtract) while others are nouns (mean, median), which is a minor inconsistency but still readable and predictable.
The 23 tools cover a broad math and statistics surface, and each seems to earn its place. However, the count is on the high side for a calculator server, making it slightly heavier than ideal.
The server offers strong descriptive statistics coverage and core arithmetic, but notable gaps remain for a general calculator, such as logarithms, exponentials, absolute value, rounding, and trigonometric functions. These missing operations could cause dead ends for common math tasks.
Maintenance
Related MCP Connectors
Educational MCP server with 17 math/stats tools, visualizations, and persistent workspace
This MCP server enables users to perform scientific computations regarding linear algebra and vect…
MCPCalc gives agents access to a comprehensive library of calculators spanning finance, math, health, construction, engineering, food, automotive, and more. It includes a full Computer Algebra System (CAS) and a grid-based Spreadsheet calculator.
Free calculators as MCP tools: finance, taxes, health, units, dates. Search, fetch & compute.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables mathematical operations and calculations through an MCP server interface. Provides computational capabilities accessible via HTTP endpoints for mathematical processing tasks.MIT
- AlicenseCqualityDmaintenanceA fully functional calculator server based on Model Context Protocol (MCP), providing rich mathematical operation functions It includes 13 specialized mathematics modules such as basic arithmetic, radical operations, trigonometric functions, logarithmic operations, statistics, combinatorial mathemat1002Apache 2.0
- AlicenseCqualityCmaintenanceA comprehensive MCP server that turns any AI assistant into a powerful mathematical computation engine, providing 52 advanced functions, 158 unit conversions, financial calculations, and secure AST-based evaluation.1815 PyPI14MIT
- AlicenseAqualityDmaintenanceA symbolic mathematics MCP server supporting calculus, linear algebra, number theory, statistics, and unit conversion via natural language.8MIT