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 实现的降级路径。
- 使用 Bun(推荐,性能更佳)或 npm 安装全局包:
-
服务器配置(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:对服务器的简要描述,方便在管理配置时快速识别。
-
基本使用方法
- 启动服务器
- 使用打包后的可执行入口,提供目标工作目录(如代码仓库根目录或临时工作区)。
- 连接客户端
- 使用 MCP 客户端(示例中通过 MCP SDK 的 stdio 传输连接)向服务器发起 JSON-RPC 请求,如列出可用工具、读取资源、调用工具、获取 Prompt 等。
- 常见操作
- 列出工具、调用工具、分析代码、查看图谱、获取上下文等,服务器应返回标准的 JSON-RPC 响应。
- 会话管理
- 客户端在建立连接后创建会话,服务器负责会话上下文的维护与能力声明,确保在多客户端环境中的隔离性与安全性。
- 启动服务器
-
运行与维护要点
- 服务器应具备日志轮转、错误健康检查以及对原生依赖的健壮降级路径。
- 支持的传输协议可根据部署环境切换,确保在本地开发、云端容器、以及前端代理等场景均可稳定工作。
- 定期更新工具集和资源,确保与代码仓库的变动保持一致。
-
备注
- 本仓库包含大量 MCP 相关实现代码、CLI、GPU/CPU 加速实现、测试用例、以及示例文档。若要在生产环境中使用,请按项目提供的构建与运行脚本进行打包、部署与配置。