关于 rosetta-mcp
Rosetta 是基于 Claude 的 Excel 翻译工具,提供命令行、Web 应用、REST API 和面向 Claude 的 MCP 服务。它面向需要翻译表格的用户,在翻译文本时保留公式、格式、图表和布局;原文件不会被修改。
主要功能
- 01翻译 Excel 单元格文本
- 02保留公式、格式和布局
- 03选择工作表并设置领域上下文
- 04提供 Web 应用和 REST API
- 05显示实时翻译进度
适用场景
- 01将价目表翻译成多种语言
- 02翻译带专业术语的医疗表单
- 03仅翻译指定工作表
- 04通过浏览器翻译并查看进度
MCP 相关
提供供 Claude Desktop 使用的本地 MCP 服务,可通过本地文件路径翻译 Excel 文件。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Rosetta
由 AI 驱动的 Excel 翻译 CLI。翻译 Excel 文件,同时保留格式、公式和数据完整性。
功能介绍
Rosetta 使用 Claude AI 翻译 Excel 文件中的所有文本,同时不破坏以下内容:
- 公式和计算
- 格式(字体、颜色、边框)
- 合并单元格和布局
- 图表和图像
- 下拉菜单
- 富文本(单元格内的粗体、斜体)
前提条件
你需要 Anthropic 提供的 Claude API 密钥。
- 访问 console.anthropic.com
- 创建账户(或登录)
- 前往 API Keys 并创建新密钥
- 复制密钥(以
sk-ant-...开头)
注意:API 使用费用由 Anthropic 收取。当前费率请参阅 anthropic.com/pricing。翻译一个常见的 Excel 文件只需几美分。
安装
从 PyPI 安装:
pip install rosetta-xl
然后设置你的 API 密钥:
# Linux/macOS
export ANTHROPIC_API_KEY=sk-ant-your-key-here
# Windows (Command Prompt)
set ANTHROPIC_API_KEY=sk-ant-your-key-here
# Windows (PowerShell)
$env:ANTHROPIC_API_KEY="sk-ant-your-key-here"
或者在工作目录中创建一个 .env 文件:
ANTHROPIC_API_KEY=sk-ant-your-key-here
使用方法
# Translate to French
rosetta input.xlsx -t french
# Translate to Spanish with custom output name
rosetta input.xlsx -t spanish -o translated.xlsx
# Specify source language (auto-detected by default)
rosetta input.xlsx -s english -t german
# Translate only specific sheets
rosetta input.xlsx -t french --sheets "Sheet1" --sheets "Data"
# Add context for better translations (e.g., domain-specific terms)
rosetta input.xlsx -t french -c "Medical terminology document"
选项
| 选项 | 简写 | 描述 |
|---|---|---|
--target-lang | -t | 目标语言(必填) |
--source-lang | -s | 源语言(省略时自动检测) |
--output | -o | 输出文件路径(默认:input_translated.xlsx) |
--sheets | 要翻译的工作表(可重复指定,默认:全部) | |
--context | -c | 用于提升准确性的领域背景 |
--batch-size | -b | 每次 API 调用处理的单元格数(默认:50) |
示例
将价格表翻译成多种语言:
rosetta prices.xlsx -t french -o prices_fr.xlsx
rosetta prices.xlsx -t german -o prices_de.xlsx
rosetta prices.xlsx -t spanish -o prices_es.xlsx
结合上下文翻译医疗表单:
rosetta patient_form.xlsx -t french -c "Medical intake form with clinical terminology"
仅翻译“Questions”工作表:
rosetta survey.xlsx -t japanese --sheets "Questions"
故障排除
“ANTHROPIC_API_KEY not set”
- 确保已导出密钥:
export ANTHROPIC_API_KEY=sk-ant-... - 或创建包含密钥的
.env文件
“Invalid API key”
- 检查密钥是否以
sk-ant-开头 - 确保已从 console.anthropic.com 复制完整密钥
“Rate limit exceeded”
- 你已达到 Anthropic 的速率限制。请稍等一分钟后重试
- 或减小批次大小:
rosetta input.xlsx -t french -b 20
工作原理
- 从 Excel 文件中提取所有文本单元格
- 将文本分批发送给 Claude AI 翻译
- 写回译文,同时保留所有格式
- 保存翻译后的文件
原始文件绝不会被修改。
Web 应用和 API
Rosetta 还包含一个 Web 应用和 REST API,可在浏览器中进行翻译。
运行 API 服务
# Install with uv (recommended)
uv sync
# Start the server
uv run uvicorn rosetta.api:app --reload
# Or with pip
pip install -e .
uvicorn rosetta.api:app --reload
默认情况下,API 在 http://localhost:8000 上运行。
运行前端
cd frontend
npm install
npm run dev
前端在 http://localhost:5173 上运行,并连接到 API。
API 端点
| 端点 | 方法 | 描述 |
|---|---|---|
/translate | POST | 翻译 Excel 文件(返回文件) |
/translate-stream | POST | 翻译并通过 SSE 实时显示进度 |
/estimate | POST | 获取单元格数量和费用估算 |
/sheets | POST | 列出文件中的工作表名称 |
/count | POST | 统计可翻译的单元格 |
/preview | POST | 预览将要翻译的单元格 |
/health | GET | 健康检查 |
实时进度
/translate-stream 端点使用 Server-Sent Events(SSE)实时传输翻译进度。对于不支持 SSE 的网络(例如企业代理),前端会自动回退到标准的 /translate 端点。
MCP 集成
Rosetta 为 Claude Desktop 和 Claude Web 提供 MCP(Model Context Protocol)服务。
用于 Claude Desktop(本地)
添加到 Claude Desktop 配置文件(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"rosetta": {
"command": "uv",
"args": ["run", "--directory", "/path/to/rosetta", "python", "-m", "rosetta.api.mcp"],
"env": {
"ANTHROPIC_API_KEY": "your-key-here"
}
}
}
}
用法: 为获得最佳效果,请使用本地文件路径。
Translate ~/Downloads/report.xlsx to French
用于 Claude Web(浏览器)
注意: 截至 2026 年 1 月,Claude.ai 尚不支持在浏览器中使用自定义 MCP 服务。
当前建议: 使用网页版应用进行基于浏览器的翻译。
详细说明请参阅 MCP_USAGE.md。
要求
- Python 3.11+
- Anthropic API 密钥
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。