MCP数学
一个全面的模型上下文协议(MCP)服务器,可以将任何人工智能助手变成一个强大的数学计算引擎。MCP Mathematics为您提供专业级功能,包括52个高级数学函数、15个类别的158个单位转换、完整的财务计算和安全的基于AST的评估——所有这些都在一个生产就绪的安全环境中。
什么是MCP数学?
MCP Mathematics是针对AI助手的最完整的数学计算服务器,专为模型上下文协议而构建。这种生产就绪的解决方案将任何与MCP兼容的AI变成了一个强大的数学工具,可以处理从简单的算术到复杂的财务计算、许多不同领域的单位转换以及高级科学计算的所有事情。
关键创新:使用Python的抽象语法树(AST)评估,MCP Mathematics在保持完全安全的同时为您提供了卓越的数学能力——在不丢失任何功能的情况下阻止代码注入漏洞。
为什么选择MCP数学?
不妥协的安全
- 基于AST的评估:每个计算都通过Python的AST进行检查和验证,AST可以阻止代码注入攻击
- 沙盒执行:所有计算都在安全、受控的环境中运行,只允许安全操作
- 零外部依赖:由于核心功能不需要任何外部库,因此安全风险较低
完全数学能力
- 52内置功能:从简单的数学到复杂的科学计算
- 158单位转换:广泛的单位转换支持,涵盖15个不同类别
- 财务计算:全套金融工具,包括利息、贷款和税务计算
- Unicode运算符支持:使用起来很自然的简单数学符号,如×、÷和^
- 完整的数学库覆盖:完全访问Python的所有数学函数
生产就绪架构
- 类型安全设计:在整个代码中进行完整的类型检查,确保一切工作可靠
- 清洁生产规范:专业代码,没有调试遗留或额外注释
- 完成测试:130次测试确保所有功能正常工作
- 线程安全操作:100%可靠的并发执行,基于定时器的超时系统
- 高级内存管理:有界LRU/TTL缓存可防止生产环境中的内存泄漏
- 企业错误处理:正确的异常链和优雅的资源清理
入门指南
先决条件
在安装MCP Mathematics之前,请确保您已经:
- 系统上的Python 3.10或更高版本
- MCP兼容的AI助手(Claude Desktop、VS Code with Continue或类似工具)
安装选项
选择最适合您的安装方法:
选项1:使用uv快速安装(推荐)
这是最快的开始方式:
# Install the uv package manager if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install and run MCP Mathematics
uvx mcp-mathematics选项2:传统pip安装
如果你更喜欢使用pip:
pip install mcp-mathematics📦 包裹信息: PyPI上的mcp数学
选项3:开发安装
如果您想提供帮助或需要最新的开发版本:
git clone https://github.com/SHSharkar/MCP-Mathematics.git
cd MCP-Mathematics
pip install -e .配置指南
配置Claude桌面
要在Claude Desktop中使用MCP Mathematics,您需要更新配置文件。
配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json
如果您安装了uv:
{
"mcpServers": {
"mcp-mathematics": {
"command": "uvx",
"args": [
"mcp-mathematics"
]
}
}
}如果你安装了pip:
{
"mcpServers": {
"mcp-mathematics": {
"command": "mcp-mathematics"
}
}
}使用Continue配置VS代码
如果您使用带有Continue扩展名的VS Code:
{
"models": [
{
"model": "claude-3-5-sonnet",
"provider": "anthropic",
"mcpServers": {
"mcp-mathematics": {
"command": "uvx",
"args": [
"mcp-mathematics"
]
}
}
}
]
}FastMCP云配置
MCP Mathematics可通过FastMCP作为云托管服务提供,无需本地安装即可即时访问。从多种连接方式中选择:
连接到克劳德代码
通过快速设置从命令行访问您的工具:
claude mcp add --scope local --transport http mathematics https://mathematics.fastmcp.app/mcp连接到克劳德桌面
只需一键安装,即可在Claude的桌面应用程序中直接使用您的工具:
下载链接: https://mathematics.fastmcp.app/manifest.dxt?v=aa76634e-bffb-4be5-b1fd-c680cd7f7142
*下载.dxt文件。打开文件以自动连接。*
连接到Codex CLI
在Codex CLI会话中访问您的工具:
codex mcp add -- mathematics npx -y mcp-remote@latest https://mathematics.fastmcp.app/mcp配置Codex
通过将此添加到Codex的配置文件中,持久存储您的MCP .codex/config.toml:
[mcp_servers.mathematics]
command = "npx"
args = ["-y", "mcp-remote@latest", "https://mathematics.fastmcp.app/mcp"]连接到Gemini CLI
通过快速设置从命令行访问您的工具:
gemini mcp add mathematics https://mathematics.fastmcp.app/mcp --transport http连接到光标
AI驱动的代码编辑器,内置工具支持。点击立即连接:
FastMCP云优势:
- 无需本地安装
- 始终保持最新功能
- 通过云基础架构增强性能
- 跨多个平台的即时访问
- 生产就绪部署
可用的MCP工具
MCP Mathematics通过21个具有描述性数学域名的专用工具,让您可以访问其所有数学功能,以获得最大的清晰度和可记忆性。每个工具都是为特定任务设计的,并为卓越的性能而构建:
核心计算工具
1. evaluate_mathematical_expression -单表达式评估
处理数学表达式的主要工具。它支持所有52个内置函数、单位转换和财务计算。它处理从简单的算术到复杂的科学计算的一切。
使用案例:
- 快速计算:
"2 * pi * 10"→"62.83185307179586" - 科学计算:
"sin(pi/2) + log10(1000)"→"4.0" - 财务分析:
"compound_interest(5000, 6.5, 15)"→ 完整的利息明细 - 单位转换:
"convert_between_measurement_units(100, 'km', 'mi', 'length')"→ 自动单元检测和转换
2. evaluate_multiple_mathematical_expressions -并行处理引擎
专为同时处理多个表达式而构建,在进行大量计算或数据分析工作时为您提供更好的性能。
使用案例:
- 数据处理:处理财务计算数组
- 科学分析:批量三角计算
- 批量转换:同时转换多个值
Input: ["sin(pi/2)", "cos(0)", "sqrt(16)", "factorial(5)"]
Output: ["1.0", "1.0", "4.0", "120"]专用计算工具
3. convert_between_measurement_units -先进单位转换系统
智能单位转换系统,适用于15个类别的158个单位。它能自动识别单位类型,支持不同的拼写,并处理复杂的复合单位。
高级功能:
- 智能检测:自动识别单元类别
- 别名支持:接受多种拼写和缩写
- 复合单位:处理复杂的单位,如m/s²、kg·m/s²
- 历史跟踪:保留转换审计跟踪
Input: value=100, from_unit="meters", to_unit="feet"
Output: "328.084" (with automatic precision handling)4. convert_units_from_natural_language -自然语言单位转换
使用自然语言查询转换单位,使单位转换更加直观和易于访问。此工具解析自然语言请求并自动确定适当的转换。
支持的自然语言模式:
- “将100米转换为英尺”
- 华氏32摄氏度是多少
- “50英里/小时->公里/小时”
- “5公斤等于多少磅”
- “从100美元到欧元”
Input: "convert 100 kilometers to miles"
Output: {
"success": true,
"conversion": {
"original_query": "convert 100 kilometers to miles",
"input_value": 100,
"input_unit": "kilometers",
"output_value": 62.137119,
"output_unit": "miles",
"unit_type": "length"
}
}5. compute_statistical_operations -统计分析引擎
对数据集进行全面的统计计算,为数据分析和科学计算提供必要的统计指标。
可用统计操作:
- 描述性统计:平均值、中位数、众数、范围
- 变异性度量:方差、标准差
- 分布分析:偏度、峰度
- 数据质量:四分位数、百分位数
Input: data=[1, 2, 3, 4, 5], operation="mean"
Output: "Result: 3.0"6. perform_matrix_mathematical_operations -矩阵数学引擎
用于线性代数、工程计算和科学计算的高级矩阵运算,支持多种矩阵运算。
支持的矩阵操作:
- 基本操作:乘法、转置
- 高级运算:行列式、逆运算
- 矩阵分析:秩、特征值(如适用)
- 无效操作的错误处理
Input: matrices=[[[1,2],[3,4]], [[5,6],[7,8]]], operation="multiply"
Output: Matrix multiplication result with proper formatting7. perform_number_theory_analysis -数论分析
用于数学研究、密码学和计算数学的高级数论运算。
可用数论运算:
- 素数测试:检查数字是否为素数
- 素数分解:找出所有素数
- 除数分析:计算所有除数
- 欧拉函数:计算φ(n)函数
Input: n=97, operation="is_prime"
Output: "Result: 97 is prime"会话管理工具
8. create_mathematical_calculation_session -会话初始化
使用可选的初始变量创建新的计算会话,实现跨多个操作的有状态数学计算。
会话功能:
- 变量存储:保存和重用计算结果
- 状态持久性:维护跨操作的上下文
- 隔离环境:多个独立会话
- 自定义初始化:设置初始变量
Input: session_id="analysis_1", variables={"x": 10, "pi": 3.14159}
Output: "Session created: analysis_1"9. evaluate_expression_in_session_context -有状态的计算
在特定会话上下文中执行计算,可以访问存储的变量,并能够保存结果以供以后使用。
Input: session_id="analysis_1", expression="x * 2 + pi", save_as="result"
Output: "Result: 23.14159" (and saves as 'result' variable)10. list_mathematical_session_variables -变量管理
列出当前存储在计算会话中的所有变量,显示其名称和值以便于参考。
Input: session_id="analysis_1"
Output: {"x": 10, "pi": 3.14159, "result": 23.14159}11. delete_mathematical_calculation_session -会话清理
安全地删除计算会话和所有相关变量,释放内存并确保干净的状态管理。
系统监控工具
12. get_mathematical_computation_performance_metrics -性能监控
提供全面的系统性能指标,包括计算统计数据、内存使用情况和操作正常运行时间,用于监控系统健康状况。
指标包括:
- 计算统计:执行的总计算
- 性能数据:平均响应时间
- 内存使用情况:当前内存消耗
- 系统正常运行时间:服务器运行时间
13. get_mathematical_security_audit_report -安全信息
返回当前安全状态,包括用于安全监控和合规性的速率限制信息和会话数据。
14. get_mathematical_memory_usage_statistics -内存分析
缓存和会话管理的详细内存使用统计数据,有助于性能优化和资源规划。
管理和发现工具
15. get_mathematical_computation_history -计算审计跟踪
使用时间戳完整记录所有计算,以便您可以跟踪、检查和重复任何数学工作。
特征:
- 时间戳记录:每次计算都包括运行时间
- 可配置的限制:获取1-100个最近的计算结果
- 表达式跟踪:完整的输入和输出日志记录
- 错误记录:计算失败,并显示错误详细信息
16. clear_mathematical_computation_history -历史管理
允许您在出于隐私、性能或存储原因需要时安全地清除计算历史记录。
17. optimize_mathematical_computation_memory -内存优化
清理过期的缓存条目并优化内存使用,有助于在长时间运行的会话中保持最佳性能。
优化功能:
- 缓存清理:删除过期的缓存条目
- 内存碎片整理:优化内存分配
- 资源回收:释放未使用的资源
- 性能改进:保持系统响应能力
18. list_all_available_mathematical_functions_and_constants -完整的能力发现
完整的参考工具,可让您即时访问所有可用的数学函数、常数、单位转换及其设置。
发现类别:
- 数学函数:所有52个具有签名的可用函数
- 常数:具有值的数学和物理常数
- 单位转换:按类别组织的所有158个单位
- 系统能力:可用操作和限制
备注:此工具将列出函数、常量和最近历史访问的功能整合到一个综合界面中。
MCP资源
通过MCP协议直接访问这些资源及其相应的实现功能:
history://recent-查看最近的计算历史记录(由实现recent_calculation_history)functions://available-浏览可用的数学函数(由实现mathematical_functions_catalog)constants://math-访问数学常量及其值(通过以下方式实现mathematical_constants_catalog)
MCP提示
常见计算模式的预配置提示:
scientific_calculation-科学计算的结构化模板batch_calculation-优化的批处理模板
数学能力
MCP Mathematics为您提供了一个完整的数学计算环境,支持超过52个函数,涵盖基础算术、高级科学计算和专业数学运算。该系统能够精确可靠地处理从简单计算到复杂科学和金融计算的所有事情。
基本操作
除了标准算术之外,MCP Mathematics还支持易于使用的数学运算符,包括用于自然数学表达式的Unicode符号:
- 补充:
+ - 减法:
- - 乘法:
*或× - 部门:
/或÷ - 楼层划分:
// - 模块:
% - 指数化:
**或^
完整功能库
三角函数
以弧度为单位的基本三角运算:
sin(x),cos(x),tan(x)-标准三角函数asin(x),acos(x),atan(x)-反三角函数atan2(y, x)-适当象限的双参数反正切
双曲函数
完整的双曲函数集:
sinh(x),cosh(x),tanh(x)-双曲函数asinh(x),acosh(x),atanh(x)-反双曲函数
对数函数和指数函数
全面的对数运算:
log(x)-自然对数log10(x)-常用对数(以10为底)log2(x)-二进制对数log1p(x)-精度为(1+x)的自然对数exp(x)-指数函数(e^x)exp2(x)-Base-2指数expm1(x)-指数减1(e^x-1)sqrt(x)-平方根pow(x, y)-电源功能
圆度和精度
数字精度控制:
ceil(x)-四舍五入到最接近的整数floor(x)-四舍五入到最接近的整数trunc(x)-删除小数部分
特殊数学函数
高级数学运算:
factorial(x)-因式计算gamma(x)-伽玛函数lgamma(x)-γ函数的自然对数erf(x)-错误函数erfc(x)-互补误差函数
数论
整数和组合数学:
gcd(x, y)-最大公约数lcm(x, y)-最小公倍数(Python 3.9+)isqrt(x)-整数平方根comb(n, k)-二项式系数(组合)perm(n, k)-排列
浮点运算
对浮点运算的精确控制:
fabs(x)-浮点绝对值copysign(x, y)-x的大小与y的符号fmod(x, y)-浮点余数remainder(x, y)-IEEE剩余操作modf(x)-将整数和小数部分分开frexp(x)-分解为尾数和指数ldexp(x, i)-高效计算x×2^ihypot(x, y)-欧几里德距离计算cbrt(x)-立方根(Python 3.11+)
数值比较
数值分析功能:
isfinite(x)-检查有限值isinf(x)-检查无穷大isnan(x)-检查无数字isclose(a, b)-近似相等性测试
高级数值函数
科学计算的专业操作:
nextafter(x, y)-下一个可表示的浮点值ulp(x)-最小精度单位
角度转换
角度单位之间的无缝转换:
degrees(x)-将弧度转换为度数radians(x)-将度数转换为弧度
数学常量
访问基本数学常数:
pi- π ≈ 3.141592653589793e-欧拉数≈2.718281828459045tauT = 2π ≈ 6.283185307179586inf-正无穷大nan-不是数字
真实世界的例子
基础算术
evaluate_mathematical_expression("2 + 3 * 4") # Result: 14
evaluate_mathematical_expression("10 / 3") # Result: 3.3333333333333335
evaluate_mathematical_expression("2 ** 8") # Result: 256科学计算
evaluate_mathematical_expression("sin(pi/2)") # Result: 1.0
evaluate_mathematical_expression("log10(1000)") # Result: 3.0
evaluate_mathematical_expression("sqrt(16) + cos(0)") # Result: 5.0复杂数学表达式
evaluate_mathematical_expression("(2 + 3) * sqrt(16) / sin(pi/2)") # Result: 20.0
evaluate_mathematical_expression("factorial(5) + gcd(12, 8)") # Result: 124自然数学符号
evaluate_mathematical_expression("5 × 3") # Result: 15
evaluate_mathematical_expression("20 ÷ 4") # Result: 5.0
evaluate_mathematical_expression("2 ^ 10") # Result: 1024完整的单位转换系统
MCP Mathematics包括一个智能单位转换系统,该系统可与15个基本类别的158个经过仔细校准的单位配合使用。该系统不仅仅进行简单的转换,它还提供智能单位检测,支持不同的拼写,处理复杂的复合单位,并跟踪您的转换历史。这使得它非常适合科学工作、工程计算和日常转换。
转换系统自动管理精度,接受许多不同的输入格式,并与数学表达式引擎无缝协作,以便在复杂计算中实现平滑集成。
支持的单位类别
长度(15个单位)
- 度量:
m,km,cm,mm,nm,micron,angstrom - 帝国的:
mi,yd,ft,in - 天文学的:
ly(光年),AU(天文单位),pc(秒差距) - 航海:
nmi(海里)
质量(13单位)
- 度量:
kg,g,mg,ton(公制),t - 帝国的:
lb,oz,ton_us(短吨),ton_uk(长吨),st(石头) - 特别:
ct(克拉),gr(谷物),amu(原子质量单位)
时间(15单位)
- 标准:
s,min,h,d,wk,mo,yr - 次秒:
ms,us,ns,ps - 扩展:
decade,century,millennium,fortnight
温度(3单位)
K(开尔文),C(摄氏度),F(华氏)
面积(12个单位)
- 度量:
m2,km2,cm2,mm2,hectare,are - 帝国的:
ft2,yd2,in2,mi2,acre,sqch(方形链条)
体积(16单位)
- 度量:
L,mL,m3,cm3 - 我们:
gal,qt,pt,fl_oz,cup,tbsp,tsp - 英国:
gal_uk,qt_uk,pt_uk - 立方:
ft3,in3
速度/速率(10个单位)
m/s,km/h,mph,ft/s,knot,mach,cm/s,mi/min,in/s,c(光速百分比)
数据/数字存储(16个单元)
- 二元的:
B,KB,MB,GB,TB,PB,EB,ZB - 位:
bit,Kbit,Mbit,Gbit,Tbit - IEC:
KiB,MiB,GiB
压力(10单位)
Pa,kPa,MPa,atm,bar,mbar,psi,torr,mmHg,inHg
能量(12单位)
J,kJ,MJ,cal,kcal,Wh,kWh,BTU,eV,ft_lb,erg,therm
功率(10台)
W,kW,MW,hp,PS,BTU/h,ft_lb/s,cal/s,erg/s,ton_refrigeration
部队(8个单位)
N,kN,lbf,kgf,dyne,pdl,ozf,tonf
角度(6个单位)
deg,rad,grad,arcmin,arcsec,turn
频率(6个单位)
Hz,kHz,MHz,GHz,rpm,rad/s
燃油经济性(6台)
mpg,mpg_uk,L/100km,km/L,mi/L,gal/100mi
智能功能
单位别名
为了方便起见,MCP Mathematics支持通用单位别名:
convert_between_measurement_units(
100, "kilometers", "miles", "length"
) # Works with full names
convert_between_measurement_units(100, "km", "mi", "length") # Works with abbreviations
convert_between_measurement_units(
100, "metre", "yard", "length"
) # Supports alternate spellings自动检测
系统会自动从上下文中找出单元类型:
convert_between_measurement_units(
100, "kg", "lb", "mass"
) # Automatically detects mass conversion复合单元
解析和处理复杂的复合单元:
parse_compound_unit("m/s²") # Acceleration units
parse_compound_unit("kg·m/s²") # Force units科学记数法
非常大或非常小的值的自动格式化:
format_scientific_notation(0.000001, precision=2) # 1.00e-6
format_scientific_notation(1000000, precision=2) # 1.00e+6转换历史
使用时间戳跟踪所有转换:
convert_with_history(100, "m", "ft", precision=2) # Stores in history
conversion_history.get_recent(10) # Retrieve last 10单位转换示例
# Length conversions
convert_between_measurement_units(100, "meters", "feet", "length") # 328.084
convert_between_measurement_units(1, "mile", "kilometers", "length") # 1.60934
# Mass conversions
convert_between_measurement_units(1, "kg", "pounds", "mass") # 2.20462
convert_between_measurement_units(100, "grams", "ounces", "mass") # 3.52740
# Temperature conversions
convert_between_measurement_units(0, "C", "F", "temperature") # 32
convert_between_measurement_units(100, "F", "C", "temperature") # 37.7778
# Data storage conversions
convert_between_measurement_units(1024, "MB", "GB", "data") # 1.024
convert_between_measurement_units(1, "TB", "bytes", "data") # 1099511627776专业财务计算套件
MCP数学包括一套完整的金融工具,专为专业用途、教育和个人资金管理而设计。财务系统支持高级计算,包括复利建模、贷款分析、税务计算和业务财务工作。
所有财务功能都使用高精度来确保您获得准确的货币计算,并支持您在现实财务工作中会发现的不同复合频率、付款时间表和税务情况。
核心财务职能
运营百分比
calculate_percentage(1000, 15) # 150 (15% of 1000)
calculate_percentage_of(50, 200) # 25 (50 is 25% of 200)
calculate_percentage_change(100, 150) # 50 (50% increase)利息计算
# Simple Interest
calculate_simple_interest(1000, 5, 10)
# Returns: {"interest": 500, "amount": 1500}
# Compound Interest
calculate_compound_interest(1000, 5, 10, 12) # Monthly compounding
# Returns: {"amount": 1647.01, "interest": 647.01}贷款计算
# Calculate monthly payment
calculate_loan_payment(100000, 5, 30, 12) # $100k, 5%, 30 years, monthly
# Returns: {"payment": 536.82, "total_paid": 193255.78, "interest_paid": 93255.78}税务计算
# Calculate tax (inclusive or exclusive)
calculate_tax(100, 10, is_inclusive=False) # 10% tax on $100
# Returns: {"amount": 100, "tax": 10, "total": 110}
calculate_tax(110, 10, is_inclusive=True) # Price includes 10% tax
# Returns: {"amount": 100, "tax": 10, "total": 110}账单操作
# Split bill with tip
split_bill(100, 4, tip_percent=20)
# Returns: {"total": 120, "per_person": 30, "tip": 20}
# Calculate tip
calculate_tip(100, 18) # 18% tip on $100
# Returns: 18折扣和加价
# Calculate discount
calculate_discount(100, 20) # 20% off $100
# Returns: {"original": 100, "discount": 20, "final": 80}
# Calculate markup
calculate_markup(100, 25) # 25% markup on $100 cost
# Returns: {"cost": 100, "markup": 25, "price": 125}企业架构与安全
MCP Mathematics是一个企业级数学计算平台,将强大的安全措施与生产就绪架构相结合。该系统旨在处理关键任务计算,同时保持最高的代码质量和安全标准。
多层安全框架
核心安全原则
- 零信任架构:检查每个输入,验证每个操作
- 纵深防御:多个安全层为您提供全面保护
- 最小特权原则:只允许进行必要的操作
- 故障安全默认值:安全默认值阻止意外安全问题
安全实施
- AST评估引擎:每个数学表达式在求值之前都会通过抽象语法树进行处理,这可以在保持完整数学能力的同时阻止代码注入攻击
- 白名单行动:只有经过特别批准的数学运算和函数才能运行,从而阻止未经授权的代码执行
- 输入消毒:在处理之前彻底检查所有表达式和参数
- 错误控制:完整的错误处理确保计算失败不会影响系统安全
- 依赖性最小化:核心功能不需要外部库,大大降低了安全风险
生产级建筑
代码质量标准
- 类型安全:使用Python 3.10+功能完成类型注释,确保在编译时捕获错误
- 清洁建筑:模块化设计,明确分离关注点,使维护和扩展更容易
- 专业代码库:生产就绪代码,没有调试语句、控制台日志或不必要的注释
- 完成测试:130个单元测试可全面覆盖所有数学函数和边缘情况
- 自动化质量:通过黑色格式化和Ruff linting实施的代码标准
性能和可靠性
- 优化计算:用于高性能计算的高效算法和数据结构
- 高级内存管理:具有自动清理功能的有限LRU和TTL缓存系统可阻止长时间运行的进程中的内存泄漏
- 线程安全并发:使用基于定时器的超时而不是基于信号的方法进行100%可靠的并发执行
- 会话管理:为企业环境提供优雅的资源清理和会话处理
- 错误恢复:正确的异常链,具有更好的调试和监控可追溯性
- 可扩展性:设计用于处理具有并发处理的高容量计算工作负载的架构
开发指南
这本完整的指南为您提供了为MCP Mathematics做出贡献所需的一切,从设置开发环境到构建生产就绪的发行版。该项目遵循严格的质量标准和自动化工作流程,以确保一切工作可靠并保持可维护性。
开发环境设置
先决条件
# Ensure Python 3.10+ is installed
python --version # Should be 3.10 or higher
# Clone the repository
git clone https://github.com/SHSharkar/MCP-Mathematics.git
cd MCP-Mathematics
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install development dependencies
pip install -e ".[dev]"质量保证工作流程
运行完整的测试套件
运行涵盖所有130个测试用例的全面测试套件:
# Run all tests with detailed output
python -m pytest tests/ -v
# Run tests with coverage reporting
python -m pytest tests/ --cov=src --cov-report=html
# Run specific test categories
python -m pytest tests/test_calculator.py -v # Core functionality
python -m pytest tests/test_unit_conversion.py -v # Unit conversions
python -m pytest tests/test_financial.py -v # Financial calculations代码质量和标准
使用自动化质量工具保持专业代码标准:
# Auto-format code with Black (100-character line limit)
black src/ tests/ --line-length 100
# Comprehensive linting with Ruff
ruff check src/ tests/ --fix
# Type checking with mypy
mypy src/
# Run complete pre-commit validation
pre-commit run --all-files性能和安全验证
# Security analysis
bandit -r src/
# Performance profiling for mathematical operations
python -m cProfile -s cumtime scripts/benchmark.py
# Memory usage analysis
python -m memory_profiler scripts/memory_test.py分发和部署
构建生产包
为PyPI创建优化的分发包:
# Install build tools
pip install build twine
# Clean previous builds
rm -rf dist/ build/
# Build source and wheel distributions
python -m build
# Verify package integrity
twine check dist/*
# Test installation in clean environment
pip install dist/*.whl发布管理
# Tag release version
git tag -a v1.0.0 -m "Release version 1.0.0"
# Push tags to trigger CI/CD
git push origin --tags
# Upload to PyPI (maintainers only)
twine upload dist/*错误处理
MCP Mathematics为您提供清晰、有用的错误信息,帮助您找出问题所在:
- 语法错误:明确识别格式错误的表达式
- 除以零:顺利处理数学上的不可能
- 无效函数:调用未知函数时的有用消息
- 类型错误:有关不兼容操作的详细信息
- 空表达式:缺少输入时提供有用的反馈
系统要求
- Python 3.10或更高版本
- MCP SDK 1.4.1或更高版本
许可证
MCP数学是在MIT许可证下发布的。版权所有©2025马里兰州萨扎德·侯赛因·沙卡尔
作者
萨扎德·侯赛因·沙卡尔女士 github: @SHSharkar 电子邮件:md@szd.sh
贡献
我们欢迎对代码质量保持高标准的贡献。当您捐款时:
- 编写干净、无注释的生产代码
- 包括完整的类型注释
- 为新功能添加完整的测试覆盖率
- 保持干净、逻辑清晰的git历史记录
致谢
MCP数学是建立在Anthropic开发的模型上下文协议(MCP)规范之上的,它扩展了为专业用途设计的生产就绪数学功能。
