SDLXLIFF MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • 该项目实现了一个 SDLXLIFF 的 MCP 服务器,能够对 SDLXLIFF 文件进行读取、逐段更新、保存、获取统计信息,以及执行 QA 检查、术语匹配和拼写检查等功能。服务器遵循 MCP 协议,通过 JSON-RPC 与客户端通信,提供标准化的 Resources、Tools、Prompts 等上下文服务。
  • 主要功能点

    • 读取、分页获取 SDLXLIFF 片段(read_sdlxliff),支持标签占位符、百分比匹配、CM(Context Match)等信息。
    • 获取单个片段(get_sdlxliff_segment),以及对单个片段进行目标文本更新(update_sdlxliff_segment),并在更新时保持对原有标签结构的保护。
    • 将修改内容原子性保存回 SDLXLIFF 文件(save_sdlxliff),并可创建原始文件备份。
    • 获取文件统计信息(get_sdlxliff_statistics),包括语言信息、总片段数、状态分布、锁定状态等。
    • 运行 SDLXLIFF 的 QA 检查(qa_check_sdlxliff),支持术语表和拼写字典的整合检查。
    • 标签处理与占位符转换工具,确保更新时能正确保留或还原 XML/SDLXLIFF 内联标签(如 <g>, <x> 等)。
    • RAG(Retrieval Augmented Generation)相关能力:索引、语义检索、统计、以及将检索结果格式化为可注入 Claude 的上下文。
    • MCP 客户端可通过工具清单(Tools)调用上述工具,支持批量问题追踪与修复工作流(如 add_issues_to_report、apply_pending_fixes 等工具)。
  • 安装步骤

    • 确保使用 Python 3.10 及以上版本。
    • 全局安装:pip3 install mcp-server-sdlxliff。
    • 启动服务器(命令示例,具体取决于运行环境):
      • 直接以模块方式运行:python -m mcp_server_sdlxliff
      • 或在某些环境下通过可执行入口启动(取决于安装方式与打包配置)
    • 服务器启动后,MCP 客户端即可通过配置的启动命令与参数连接并调用工具。
  • 服务器配置(MCP 客户端需要的配置信息以 JSON 格式提供)

    • serverName: SDLXLIFF MCP 服务器
    • command: mcp-server-sdlxliff
    • args: [](如需自定义工作目录或环境变量,可在这里添加;以下示例仅供理解)
    • 说明:该配置用于 MCP 客户端在启动时知道如何启动服务器进程,以及给服务器传递的参数。实际参数由客户端读取并应用,不需要客户端实现服务器内部逻辑。

    示例(JSON 描述,非代码块): { "serverName": "SDLXLIFF MCP 服务器", "command": "mcp-server-sdlxliff", "args": [] // 说明:serverName 为可读名称,command 为启动服务器的命令,args 为启动参数数组。MCP 客户端会使用该信息在需要时启动并连接服务器。 }

  • 基本使用方法

    • 启动并连接:在 MCP 客户端配置好服务器后,客户端执行启动命令,建立与 MCP 服务器的连接。
    • 读取 SDLXLIFF 文件:使用 read_sdlxliff 获取片段,支持分页与标签信息控制。
    • 修改片段与标签:通过 get_sdlxliff_segment 获取具体片段,使用 update_sdlxliff_segment 或 update_segment_with_tags(如需要保持/恢复标签),并在必要时执行 validate_sdlxliff_segment 进行预校验。
    • 保存变更:调用 save_sdlxliff 将内存中的修改写回磁盘(可指定输出路径以实现覆盖或备份)。
    • 运行 QA/术语/拼写检查:通过 qa_check_sdlxliff 调用 QA 过程,结合 glossaries/dictionaries 实现术语及拼写检查。
    • RAG 集成:如需语义检索,可通过 rag_search/rag_index 等工具对 SDLXLIFF 进行向量化检索,结果可注入到对话上下文中,提升后续翻译与审校的质量。
    • 使用注意:对于带标签的片段,更新时请确保提供原始标签占位符,或在 preserve_tags 为 true 时通过原始标记进行重建,避免格式丢失。
  • 其它信息

    • 该实现包含完整的服务器端逻辑、解析器、标签处理、QA 与 RAG 集成,以及与前端客户端的接口适配,符合 MCP 服务器端的职责与实现。

服务器信息