Ultrascript Tools MCP Server

使用说明(Markdown 格式)

  • 项目简介 Ultrascript Tools MCP Server 是一个面向 LLM 应用的后端服务实现,遵循 MCP(Model Context Protocol)标准。它通过 JSON-RPC 与客户端通信,提供资源管理、工具注册/调用、以及 Prompt 模板的定义与渲染等能力,帮助 LLM 客户端在任务执行中获取必要的上下文与外部功能。

  • 主要功能点

    • 资源与数据访问:集中管理用于上下文的 Resources,便于 LLM 按需查询和获取依赖数据。
    • 工具注册与执行:注册一组可由 LLM 调用的工具,支持跨进程/跨语言的功能执行与结果返回。
    • Prompt 模板管理:定义可渲染的 Prompt 模板,便于灵活引导和控制对话流程。
    • 会话与能力声明:维护会话信息、声明系统能力,确保多客户端环境的安全隔离与扩展性。
    • 多传输协议支持:支持多种传输协议(如 StdIO、Server-Sent Events、WebSocket 等)以适用于不同部署场景。
    • 安全与扩展性:提供会话隔离、权限控制与可扩展的插件化工具集,方便对接更多外部系统。
  • 安装步骤

    • 使用 Bun(推荐,性能更佳)或 npm 安装全局包:
      • Bun 安装并全局安装:bun install -g ultrascript-tools-mcp;然后 bun pm -g trust ultrascript-tools-mcp
      • npm 全局安装:npm install -g ultrascript-tools-mcp
    • 本仓库的特色依赖包括本地原生组件(如向量检索、GPU 加速、WASM 模块、Rust/Rust-Cargo 构建等),在安装过程中可能需要本地编译或构建原生库。若遇到本地原生依赖构建失败,可选择继续使用纯 JS 实现的降级路径。
  • 服务器配置(MCP 客户端连接配置示例,JSON 格式,供参考,不需要在客户端部署代码) { "server_name": "ultrascript-tools", "command": "node", "args": [ "<path-to-dist>/index.js", "<target-project-dir>" ], "transport": "stdio", "description": "Ultrascript Tools MCP 服务器,基于 MCP 协议的后端服务,提供资源、工具、Prompts 等能力" } 说明:

    • server_name:服务器实例名称,供 MCP 客户端辨识和日志定位使用。
    • command:运行服务器的命令,这里通常是 node。
    • args:服务器的执行参数,第一个通常指向打包后的入口文件 dist/index.js,第二个为目标数据目录或工作目录(服务器在启动时会读取该路径以构建初始上下文)。
    • transport:传输协议,此处为 stdio,MCP 客户端应通过该传输与服务器进行 JSON-RPC 通信。
    • description:对服务器的简要描述,方便在管理配置时快速识别。
  • 基本使用方法

    1. 启动服务器
      • 使用打包后的可执行入口,提供目标工作目录(如代码仓库根目录或临时工作区)。
    2. 连接客户端
      • 使用 MCP 客户端(示例中通过 MCP SDK 的 stdio 传输连接)向服务器发起 JSON-RPC 请求,如列出可用工具、读取资源、调用工具、获取 Prompt 等。
    3. 常见操作
      • 列出工具、调用工具、分析代码、查看图谱、获取上下文等,服务器应返回标准的 JSON-RPC 响应。
    4. 会话管理
      • 客户端在建立连接后创建会话,服务器负责会话上下文的维护与能力声明,确保在多客户端环境中的隔离性与安全性。
  • 运行与维护要点

    • 服务器应具备日志轮转、错误健康检查以及对原生依赖的健壮降级路径。
    • 支持的传输协议可根据部署环境切换,确保在本地开发、云端容器、以及前端代理等场景均可稳定工作。
    • 定期更新工具集和资源,确保与代码仓库的变动保持一致。
  • 备注

    • 本仓库包含大量 MCP 相关实现代码、CLI、GPU/CPU 加速实现、测试用例、以及示例文档。若要在生产环境中使用,请按项目提供的构建与运行脚本进行打包、部署与配置。

服务器信息