使用说明
项目简介
本项目 'mcp-translation' 是一个实现了 Model Context Protocol (MCP) 的服务器,专注于提供多语言文本翻译服务。它定义了一个名为 'translation-flow' 的 Prompt,允许客户端通过 MCP 协议请求将文本从一种语言翻译成另一种语言。此服务器旨在作为 LLM 应用的后端,为其提供标准化的翻译功能。
主要功能点
- 文本翻译 Prompt: 提供 'translation-flow' Prompt,接受源语言、目标语言和待翻译文本作为参数,返回翻译后的文本。
- 多语言支持: 理论上支持所有大型语言模型能够处理的语言翻译(取决于底层LLM的能力)。
- MCP 协议: 遵循 MCP 协议标准,易于与任何兼容 MCP 协议的 LLM 客户端集成。
- 可配置性: 允许用户通过修改 Prompt 定义来定制翻译流程(虽然当前版本只有一个固定的翻译流程)。
安装步骤
- 安装 Python 3.12 或更高版本:确保你的环境中安装了 Python 3.12 或更高版本。
- 安装 'uv': 按照仓库 'README.md' 建议,使用 'uv' 包管理工具。如果尚未安装 'uv',请先安装 'uv'。
- 创建虚拟环境并安装依赖: 在项目根目录下,使用 'uv' 创建虚拟环境并安装项目自身。
uv venv uv pip install .
服务器配置
MCP 服务器是为 MCP 客户端提供服务的,客户端需要配置服务器的启动信息才能连接和使用翻译服务。以下是在 MCP 客户端配置文件(例如 'claude_desktop_config.json')中配置 'mcp-translation-server' 的示例:
{ "mcpServers": { "translation-flow-server": { // 服务器名称,客户端可以自定义,用于在客户端配置中引用此服务器 "command": "uv", // 启动服务器的命令,这里使用 uv run 运行 Python 脚本 "args": [ // 传递给 uv run 的参数列表 "run", // uv run 子命令,用于运行脚本 "mcp-translation-server" // 实际要运行的脚本入口点,对应项目中的 mcp-translation-server 命令 ] } } }
配置参数说明:
- 'server name': 'translation-flow-server' - 服务器的名称,客户端使用此名称来标识和引用该翻译服务器。你可以根据需要自定义此名称。
- 'command': 'uv' - 启动服务器进程的命令。这里配置为 'uv',表示使用 'uv run' 来运行 Python 脚本。
- 'args': 启动参数列表。
- '"run"': 'uv run' 命令本身。
- '"mcp-translation-server"': 指定要运行的 Python 入口点。'mcp-translation-server' 对应于项目 'pyproject.toml' 文件中 '[project.scripts]' 部分定义的脚本名称,实际执行 'src/translation_server/main.py' 文件中的 'main' 函数。
注意:
- 请根据实际的 'mcp-translation' 项目路径,在客户端配置中调整 'args' 中的 '--project' 参数(如果需要,当前示例配置中 '--project' 参数已被移除,因为假定在项目根目录下启动客户端)。
- 'claude_desktop_config.json' 仅为示例,实际客户端配置文件名和位置可能有所不同,请参考你使用的 MCP 客户端的文档。
基本使用方法
-
启动 MCP 服务器:安装完成后,在项目根目录下运行以下命令启动翻译服务器:
uv run mcp-translation-server服务器将通过标准输入/输出 (stdio) 与 MCP 客户端通信。
-
配置 MCP 客户端:
- 打开你的 MCP 客户端的配置文件(例如 'claude_desktop_config.json')。
- 在 'mcpServers' 部分添加或修改服务器配置,使用上面提供的示例配置,并根据你的实际情况修改服务器名称 ('server name')。
-
在 MCP 客户端中使用翻译 Prompt:
- 在你的 LLM 应用或 MCP 客户端中,调用名为 'translation-flow' 的 Prompt。
- 传递以下参数:
- 'source_language': 源语言,例如 "English", "中文"。
- 'target_language': 目标语言,例如 "French", "日本語"。
- 'text': 需要翻译的文本内容。
- 'country' (可选): 目标语言国家/地区,例如 "US", "JP",用于更精细的本地化翻译风格。
- 客户端将向 'mcp-translation-server' 发送 MCP 请求,服务器会调用相应的 Prompt 逻辑进行翻译,并将翻译结果返回给客户端。
示例 Prompt 调用 (伪代码,仅供理解):
client.get_prompt( server_name="translation-flow-server", // 客户端配置中定义的服务器名称 prompt_name="translation_flow", arguments={ "source_language": "English", "target_language": "中文", "text": "Hello, world!", "country": "CN" // 可选 } )
通过以上步骤,你就可以使用 'mcp-translation-server' 为你的 LLM 应用提供多语言翻译服务。
信息
分类
AI与计算