We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tengmmvp/Calculator_MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## 常用命令
### 运行开发服务器
```bash
# 直接运行 MCP 服务器
python src/server.py
# 开发环境建议使用 fastmcp dev 命令(更好的调试支持)
fastmcp dev src/server.py
```
### 依赖管理
```bash
# 安装依赖
pip install -r requirements.txt
# 更新开发依赖
pip install -r requirements.txt --upgrade
```
### 代码质量检查
```bash
# 代码格式化
black src/
# 代码风格检查
flake8 src/
# 运行测试(当有测试时)
pytest tests/ -v
# 测试覆盖率报告
pytest tests/ --cov=src --cov-report=html
```
### 配置 Claude Desktop
```bash
# 复制配置文件到 Claude 配置目录
cp config/claude_desktop_config.json "%APPDATA%\Claude\claude_desktop_config.json"
```
## 架构说明
### MCP 服务器架构
- **框架**: 基于 FastMCP v2.13.1+ 构建,提供现代化的 MCP 服务器实现
- **核心文件**: [`src/server.py`](src/server.py) - 包含所有 MCP 工具、资源和提示定义
- **异步处理**: 原生支持异步操作,可处理 100+ 并发请求
- **数据验证**: 使用 Pydantic 进行严格的类型验证和序列化
### 功能模块结构
#### 基础数学运算工具
- `calculator_add`: 加法运算,支持多数字相加
- `calculator_subtract`: 顺序减法运算(第一个数 - 第二个数 - 第三个数...)
- `calculator_multiply`: 乘法运算,支持多数字相乘
- `calculator_divide`: 除法运算,带零除保护
- `calculator_power`: 幂运算,支持负指数和分数指数
#### 高级计算功能
- `calculator_evaluate_expression`: 安全的数学表达式计算器,使用 AST 解析防止代码注入
- `calculator_solve_linear_equation`: 一元线性方程求解器
- `calculator_statistics`: 统计计算(均值、中位数、众数、标准差、方差)
- `calculator_batch_calculations`: 批量计算处理器,支持混合运算类型
#### 资源系统
- `calculator://constants`: 数学常数资源(π、e、φ、√2、√3)
- `calculator://formulas`: 常用数学公式资源
#### 提示系统
- `math_problem_solver`: 结构化数学问题解决助手
- `calculation_checker`: 计算验证和解释工具
### 安全特性
- **表达式安全**: 使用 AST 解析和验证防止恶意代码执行
- **输入验证**: 完整的 Pydantic 模型验证
- **错误处理**: 优雅降级和详细错误信息
- **沙箱执行**: 受控的代码执行环境
### 性能特性
- **响应时间**: < 10ms(平均),< 100ms(批量操作)
- **内存优化**: 基于 FastMCP 的内存高效设计
- **并发支持**: 原生异步处理能力
## 开发注意事项
### MCP 合规性
此服务器 100% 符合 MCP v1.0 规范,包括:
- 完整的工具注册和描述
- 标准化的资源访问接口
- 符合规范的提示系统
- 标准化错误响应格式
### 扩展开发
- 新工具应添加到 [`src/server.py`](src/server.py) 中
- 使用 `@mcp.tool()` 装饰器注册工具
- 使用 Pydantic 模型定义输入/输出结构
- 遵循现有的错误处理模式
### 测试建议
虽然当前项目中没有测试文件,但建议为以下内容编写测试:
- 所有数学运算工具的边界情况
- 表达式解析器的安全性验证
- 统计功能的准确性
- 批量操作的错误处理
## 配置文件
- [`config/claude_desktop_config.json`](config/claude_desktop_config.json): Claude Desktop 的 MCP 服务器配置
- [`requirements.txt`](requirements.txt): Python 依赖管理
- [`.claude/settings.local.json`](.claude/settings.local.json): Claude Code 权限设置
## API 文档
详细的 API 文档请参考 [`docs/API.md`](docs/API.md),包含所有工具、资源和提示的完整说明。