Metadata-Version: 2.4
Name: bachai-calculator-mcp
Version: 1.0.0
Summary: Calculator MCP Server - Basic math operations via Model Context Protocol
Home-page: https://github.com/BACH-AI-Tools/calculator-mcp
Author: BACH Studio
Author-email: BACH Studio <contact@bachstudio.com>
License: MIT
Project-URL: Homepage, https://github.com/BACH-AI-Tools/calculator-mcp
Keywords: mcp,calculator,math,arithmetic
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Dynamic: author
Dynamic: home-page
Dynamic: requires-python

# Calculator MCP

一个简单而强大的计算器 MCP 服务器，通过 Model Context Protocol 提供数学运算功能。

## 功能特性

- ➕ **基本运算**: 加、减、乘、除、幂、取模
- 🔢 **高级数学**: 平方根、阶乘、对数
- 📐 **三角函数**: sin、cos、tan
- 🚀 **零依赖**: 仅使用 Python 标准库
- 📡 **stdio 模式**: 兼容 supergateway 和 Claude Desktop

## 快速开始

### 使用 uvx (推荐)

```bash
uvx bachai-calculator-mcp
```

### 使用 pip 安装

```bash
pip install bachai-calculator-mcp
bachai-calculator-mcp
```

### 直接运行

```bash
python main.py
```

## MCP 工具列表

### 1. calculate
基本数学运算

**参数**:
- `operation`: 运算类型（add, subtract, multiply, divide, power, modulo）
- `a`: 第一个数字
- `b`: 第二个数字

**示例**:
```json
{
  "name": "calculate",
  "arguments": {
    "operation": "add",
    "a": 10,
    "b": 5
  }
}
```
**返回**: `10 + 5 = 15`

### 2. sqrt
计算平方根

**参数**:
- `number`: 要计算平方根的数字

**示例**:
```json
{
  "name": "sqrt",
  "arguments": {
    "number": 16
  }
}
```
**返回**: `√16 = 4.0`

### 3. factorial
计算阶乘

**参数**:
- `number`: 要计算阶乘的整数

**示例**:
```json
{
  "name": "factorial",
  "arguments": {
    "number": 5
  }
}
```
**返回**: `5! = 120`

### 4. trigonometry
三角函数计算

**参数**:
- `function`: 三角函数类型（sin, cos, tan）
- `angle`: 角度（度数）

**示例**:
```json
{
  "name": "trigonometry",
  "arguments": {
    "function": "sin",
    "angle": 30
  }
}
```
**返回**: `sin(30°) = 0.5`

### 5. logarithm
对数计算

**参数**:
- `number`: 真数
- `base`: 底数（可选，默认为 e）

**示例**:
```json
{
  "name": "logarithm",
  "arguments": {
    "number": 100,
    "base": 10
  }
}
```
**返回**: `log_10(100) = 2.0`

## 配置

### Supergateway 配置

```json
{
  "mcpServers": {
    "calculator": {
      "outputTransport": "sse",
      "port": 8000,
      "stdio": "uvx bachai-calculator-mcp",
      "ssePath": "/sse",
      "messagePath": "/message"
    }
  }
}
```

### Claude Desktop 配置

Windows: `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "calculator": {
      "command": "uvx",
      "args": ["bachai-calculator-mcp"]
    }
  }
}
```

macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`

```json
{
  "mcpServers": {
    "calculator": {
      "command": "uvx",
      "args": ["bachai-calculator-mcp"]
    }
  }
}
```

## 使用示例

### 在 Claude Desktop 中使用

安装并配置后，您可以向 Claude 发送类似的请求：

- "请帮我计算 123 + 456"
- "计算 25 的平方根"
- "5 的阶乘是多少？"
- "计算 sin(45度)"
- "计算以 2 为底 8 的对数"

### 手动测试

```bash
# 测试初始化
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' | uvx bachai-calculator-mcp

# 测试加法
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"calculate","arguments":{"operation":"add","a":10,"b":5}}}' | uvx bachai-calculator-mcp
```

## 技术特点

- **零依赖**: 仅使用 Python 标准库（math, operator, json）
- **轻量级**: 代码简洁，启动快速
- **可靠**: 完整的错误处理和边界检查
- **兼容性**: 支持 Python 3.7+
- **标准化**: 完全遵循 MCP 协议规范

## 错误处理

服务器包含完善的错误处理：

- ✅ 除零检查
- ✅ 负数平方根检查
- ✅ 阶乘范围验证
- ✅ 对数参数验证
- ✅ JSON 解析错误处理

## 开发

```bash
# 克隆仓库
git clone https://github.com/BACH-AI-Tools/calculator-mcp.git
cd calculator-mcp

# 本地测试
python main.py

# 构建包
python -m build

# 发布到 PyPI
python -m twine upload dist/*
```

## 许可证

MIT License - 详见 LICENSE 文件

## 贡献

欢迎提交 Issue 和 Pull Request！

## 更新日志

### v1.0.0 (2024-11-07)
- 🎉 初始发布
- ✨ 支持基本数学运算
- ✨ 支持高级数学函数
- ✨ 支持三角函数
- ✨ 零依赖实现

