SpecLock MCP 服务器

使用说明(简明、面向开发与运维人员)

  • 项目简介
    • SpecLock MCP 服务器是 SpeLock 项目的服务器端实现,按 MCP 协议标准向 LLM 客户端提供资源、工具、Prompts 的访问与执行能力,同时提供会话管理、能力声明、传输协议适配等能力,便于将 AI 客户端接入统一的“上下文服务框架”。
  • 主要功能点
    • MCP 核心能力:基于 MCP 协议对外提供资源读取、工具调用、Prompts 获取/执行等标准接口,支持 JSON-RPC 请求/响应。
    • 资源、工具、Prompts 管理:内置大量工具用于资源、权限、上下文、审计、模板应用等操作;资源与 Prompts 的定义、注册、查询、执行等均可通过 MCP 暴露。
    • 多传输协议支持:提供 STDIO 与 HTTP 两种传输方式(以及后续扩展的 StreamableHTTP),实现跨环境的灵活接入。
    • 安全与治理:内置 RBAC(角色权限控制)、API Key 认证、AES-256-GCM 加密存储、审计链(HMAC-SHA256)等企业级保障。
    • 审计与合规:提供 SOC 2 / HIPAA 兼容的导出、审计链验证、变更日志等能力。
    • Git 集成与模板:提供 Git 化的变更追踪、模板应用以快速生成基线约束与计划。
  • 安装与运行步骤
    1. 环境准备
      • 需要 Node.js 版本 18.x 及以上。
    2. 安装与构建
      • 在仓库根目录执行安装依赖(通常为 npm install 或 yarn install,具体以官方包管理方式为准)。
    3. 启动 MCP 服务器
      • 使用 SpeLock 提供的 CLI 启动服务器:
        • speclock serve --project <你的项目根路径>
      • 也可以通过直接运行提供的 HTTP/STDIO 方式(如常见的 Smithery/Expo 运行场景)来启动。
    4. 连接 MCP 客户端
      • MCP 客户端需要配置服务器信息并通过 JSON-RPC 与服务器交互。
      • 客户端通常需要提供:
        • server name(服务器名称)
        • command(启动命令)
        • args(启动参数)
  • 服务器配置(MCP 客户端使用的连接信息示例,描述性注释,不是代码块) { "serverName": "speclock", "command": "npx", "args": ["speclock", "serve", "--project", "."] /* 注释: - serverName: MCP 客户端在本地标识的服务器名称,需保持唯一。 - command/args: 启动服务器的命令及参数,客户端会通过 MCP 协议向服务器发起请求并接收响应。 - 实际部署中可能会将 --project 指定为具体的工作区路径,或通过环境变量注入 PROJECT_ROOT。 */ }
  • 基本使用方法
    • 启动后,MCP 客户端可以通过标准的 JSON-RPC 请求发送以下类型的请求:
      • 读取资源、读取上下文、调用工具、获取 Prompts、执行模板、导出合规报告等。
    • 在对话开始前,建议调用 speclock_session_briefing 获取当前工作空间的上下文摘要。
    • 进行重大变更前,请先通过 speclock_check_conflict 进行冲突检测,必要时通过 speclock_set_enforcement 设置硬性/提示式策略。
    • 如需将变更记录到上下文中,可使用 speclock_log_change、speclock_add_lock、speclock_add_decision 等工具。
    • 如需停止服务,使用常规的进程管理手段关闭 MCP 服务器即可。

服务器信息