Skip to main content
Glama
Barnettxxf

Translation MCP Server

by Barnettxxf
README.md
# Translation MCP Server

一个基于 Model Context Protocol (MCP) 的文本翻译服务,支持 OpenAI 和兼容 OpenAI API 的模型。

## 功能特性

- 🌍 **多语言支持**: 支持 20+ 种主要语言之间的翻译
- 🤖 **AI 驱动**: 基于 OpenAI 兼容的大语言模型
- 📄 **长文本处理**: 自动分块处理大文档,突破 API 长度限制
- 🔍 **语言检测**: 自动识别输入文本的语言
- 🔌 **MCP 协议**: 标准化接口,易于集成到支持 MCP 的应用中
- ⚡ **异步处理**: 基于 asyncio 的高性能异步架构
- 🛠️ **灵活配置**: 支持自定义模型和 API 端点

## 支持的语言

| 语言代码 | 语言名称 | 语言代码 | 语言名称 |
|---------|---------|---------|----------|
| en | English | zh | 中文 |
| ja | 日本語 | ko | 한국어 |
| es | Español | fr | Français |
| de | Deutsch | it | Italiano |
| pt | Português | ru | Русский |
| ar | العربية | hi | हिन्दी |
| th | ไทย | vi | Tiếng Việt |
| id | Bahasa Indonesia | ms | Bahasa Melayu |
| tl | Filipino | tr | Türkçe |
| pl | Polski | nl | Nederlands |

## 安装

### 环境要求

- Python 3.10+
- OpenAI API 密钥(或兼容的 API 服务)

### 安装依赖

```bash
# 克隆项目
git clone <repository-url>
cd translation_mcp

# 使用 uv 安装依赖(推荐)
uv sync

# 或使用 pip 安装
pip install -e .
```

### 环境配置

创建 `.env` 文件并配置必要的环境变量:

```bash
# OpenAI API 配置
OPENAI_API_KEY=your_api_key_here
OPENAI_BASE_URL=https://api.openai.com/v1  # 可选,默认为 OpenAI 官方 API
OPENAI_MODEL=gpt-3.5-turbo  # 可选,默认模型
```

## 使用方法

### 作为 MCP 服务器使用

本项目是一个 MCP (Model Context Protocol) 服务器,需要在支持 MCP 的客户端中配置使用,而不是直接运行。

#### 在 Claude Desktop 中配置

在 Claude Desktop 的配置文件中添加:

```json
{
  "mcpServers": {
    "translation": {
      "command": "python",
      "args": ["/path/to/translation_mcp.py"],
      "env": {
        "OPENAI_API_KEY": "your_api_key_here"
      }
    }
  }
}
```

#### 使用 uvx 运行(推荐)

首先构建分发包:

```bash
# 构建 wheel 包
uv build

# 查看生成的 whl 文件
ls dist/
```

然后在 Claude Desktop 配置中使用:

```json
{
  "mcpServers": {
    "translation": {
      "command": "uvx",
      "args": ["/path/to/translation_mcp/dist/translation_mcp-0.1.0-py3-none-any.whl"],
      "env": {
        "OPENAI_API_KEY": "your_api_key_here"
      }
    }
  }
}
```

或者直接从 PyPI 安装(如果已发布):

```json
{
  "mcpServers": {
    "translation": {
      "command": "uvx",
      "args": ["translation-mcp"],
      "env": {
        "OPENAI_API_KEY": "your_api_key_here"
      }
    }
  }
}
```

### 开发和测试

```bash
# 直接运行进行测试
python translation_mcp.py

# 运行测试套件
python test_mcp.py
```

### MCP 工具

服务器提供以下 MCP 工具:

#### 1. translate_text

翻译普通文本到指定语言。

**参数**:
- `text` (string, 必需): 要翻译的文本
- `target_language` (string, 必需): 目标语言代码
- `source_language` (string, 可选): 源语言代码,不指定则自动检测

**示例**:
```json
{
  "text": "Hello, world!",
  "target_language": "zh",
  "source_language": "en"
}
```

#### 2. detect_language

检测文本的语言。

**参数**:
- `text` (string, 必需): 要检测语言的文本

**示例**:
```json
{
  "text": "Bonjour le monde!"
}
```

#### 3. translate_long_text

翻译长文本,自动分块处理。

**参数**:
- `text` (string, 必需): 要翻译的长文本
- `target_language` (string, 必需): 目标语言代码
- `source_language` (string, 可选): 源语言代码
- `max_chunk_size` (integer, 可选): 每个文本块的最大字符数,默认 2000

**示例**:
```json
{
  "text": "很长的文本内容...",
  "target_language": "en",
  "max_chunk_size": 1500
}
```

### MCP 资源

#### translation://languages

获取所有支持的语言列表,包含语言代码和名称。

## API 响应格式

### 成功响应

```json
{
  "translated_text": "翻译后的文本",
  "source_language": "en",
  "target_language": "zh",
  "model": "gpt-3.5-turbo",
  "success": true
}
```

### 错误响应

```json
{
  "error": "错误信息",
  "success": false
}
```

### 长文本翻译响应

```json
{
  "translated_text": "完整的翻译文本",
  "source_language": "auto-detected",
  "target_language": "zh",
  "chunks_count": 3,
  "success": true
}
```

## 配置选项

### 环境变量

| 变量名 | 描述 | 默认值 |
|--------|------|--------|
| `OPENAI_API_KEY` | OpenAI API 密钥 | 必需 |
| `OPENAI_BASE_URL` | API 基础 URL | `https://api.openai.com/v1` |
| `OPENAI_MODEL` | 默认模型 | `gpt-3.5-turbo` |

### 自定义模型

支持使用兼容 OpenAI API 的其他服务:

```bash
# 使用本地模型服务
OPENAI_BASE_URL=http://localhost:8000/v1
OPENAI_API_KEY=your_local_api_key

# 使用其他云服务
OPENAI_BASE_URL=https://your-service.com/v1
OPENAI_API_KEY=your_service_api_key
```

## 开发

### 项目结构

```
translation_mcp/
├── translation_mcp.py    # 主程序文件
├── pyproject.toml       # 项目配置和依赖
├── uv.lock             # 锁定的依赖版本
├── MANIFEST.in         # 打包配置
├── .env                # 环境变量配置
├── dist/               # 构建输出目录
└── README.md          # 项目文档
```

### 构建和分发

```bash
# 构建项目
uv build

# 发布到 PyPI(可选)
uv publish
```

### 核心组件

- **OpenAITranslator**: 翻译服务核心类
- **TranslationMCPServer**: MCP 服务器实现
- **异步处理**: 基于 asyncio 的异步架构
- **错误处理**: 完善的异常处理机制

## 许可证

MIT License

## 贡献

欢迎提交 Issue 和 Pull Request!

## 更新日志

### v0.1.0
- 初始版本发布
- 支持基础文本翻译
- 支持语言检测
- 支持长文本分块翻译
- MCP 协议集成