使用说明(Markdown 格式)
- 项目简介
- 该仓库包含一个基于 MCP(Model Context Protocol)的后端服务器实现,核心功能包含对源代码的翻译(多语言到 Ruchy)、代码分析、 Provability/质量评估、以及能力端点的暴露与整合,面向 LLM 客户端提供上下文与功能服务。
- 主要功能点
- MCP 核心能力暴露
- 资源与工具管理:提供资源访问与工具执行能力,便于 LLM 客户端通过统一接口进行数据获取与外部功能调用。
- Prompt 模板与交互能力:支持基于上下文的提示模板定义与渲染,便于与 LLM 的上下文交互进行定制化对话流程(如翻译与验证的分步交互)。
- 会话与能力声明:服务端维护会话上下文,宣告自身能力(如代码翻译、分析、 Provability、质量评估等)。
- JSON-RPC 风格通信接口:通过标准化的 HTTP JSON 请求/响应提供 MCP 功能入口。
- 资源与工具
- Translation(翻译): 将多语言代码翻译为 Ruchy(以 ruchy 为目标语言),并返回对应的 ruchy 代码。
- Analyzing(分析): 提供对 ruchy 代码的 AST/复杂度等分析结果。
- Provability/Quality(可验证性与质量评估): 提供 Provability 评分、质量分等信息。
- 安全性与扩展
- 会话管理、能力声明、以及可扩展的传输(支持未来扩展到 Stdio/SSE/WebSocket 等)。
- 具备基本的错误处理与健康检查端点,便于集成与监控。
- 安装与运行
- 构建与运行
- 使用 Rust 编译器工具链构建:在仓库根目录执行构建命令,生成 rosetta-ruchy-mcp 二进制。
- 也可通过发布版本安装 ruchy 编译器工具链(如 cargo install ruchy),以兼容服务器端的翻译工具调用。
- 启动参数(示例)
- --host: 设置绑定主机,例如 127.0.0.1
- --port: 设置监听端口,例如 8080
- --ruchy-path: ruchy 编译器的可执行路径,例如 ruchy 或可执行文件所在路径
- 启动后接口
- /health :健康状态
- /api/v1/capabilities :能力声明
- /api/v1/translate :翻译接口(POST,提交源代码与语言,返回 ruchy 代码及分析信息)
- /api/v1/analyze :分析接口
- /api/v1/verify :验证接口
- /api/v1/benchmark :基准接口(如未实现,将返回 not_implemented)
- 服务器配置(面向 MCP 客户端的描述性 JSON) 注:MCP 客户端本身并不需要,以下为示例配置,便于理解与调试;实际客户端调用以 MCP 服务端暴露的 HTTP 接口为准。
- server name: rosetta-ruchy-mcp
- command: rosetta-ruchy-mcp
- args: ["--host", "127.0.0.1", "--port", "8080", "--ruchy-path", "ruchy"]
- 基本使用方法
- 启动服务器
- 在服务器端执行启动命令后,服务将监听指定的主机与端口。
- 发送翻译请求
- 请求类型:POST
- URL: http://127.0.0.1:8080/api/v1/translate
- 请求体示例(字段说明见接口文档)包括 source_code、source_language、target_language、options 等字段
- 服务端返回 JSON 包含 ruchy_code、source_language、以及可选的分析/评估字段
- 进行分析与验证
- 如请求中开启分析、验证选项,服务会在翻译后返回对应的分析结果、 Provability/Quality/Performance 信息等
- 关注健康与能力
- 通过 capabilities 接口了解支持的语言、能力、端点等
- 通过 health 端点确认服务状态
- 注意事项
- 该实现包含完整的服务器端逻辑、路由、以及对翻译/分析/验证等能力的实现;若环境不具备 ruchy 编译器,相关分析/翻译接口可回退为 Mock 实现。
- 实际部署时请确保 ruchy 编译器可执行文件可访问,且服务器具备所需的系统工具以实现分析与打包等工作流。
- 其他信息
- 该 MCP 服务器提供的能力包含多语言翻译、代码分析、可验证性评估、质量评估和性能预测等扩展能力,便于 LLM 客户端以统一接口组合不同工具进行端到端的前后处理。
-
关键词 代码翻译, 模型上下文协议, JSON-RPC, 会话管理, 多语言支持
-
分类ID 6
信息
分类
AI与计算