Spacelift Intent MCP Server

使用说明(Markdown 版)

  • 项目简介

    • Spacelift Intent MCP 服务器是一套具备资源托管、工具注册与执行、以及提示模板渲染能力的后端服务,旨在为大型语言模型客户端提供可扩展、可安全管理的上下文与功能。
  • 主要功能点

    • 资源管理:持久化和管理云资源的状态与依赖关系,支持创建、更新、读取、导入、删除、刷新等全生命周期操作。
    • 工具注册与执行:提供一组基础设施相关的 MCP 工具,LLM 可以调用外部功能(如 Provider 描述、资源创建、数据源读取等),工具执行结果以 JSON-RPC 风格的响应形式返回。
    • 提示模板与交互:提供可定制的 Prompt 模板渲染,使 LLM 在对话中能够以可控方式获取信息与执行动作。
    • 会话与能力声明:维护会话状态、服务器能力信息,便于后续向前兼容性扩展。
    • 状态持久化:使用 SQLite 数据库保存状态、依赖、操作日志等,确保跨会话的一致性与可追溯性。
    • 传输与集成:核心实现采用 stdio 传输(与 MCP Host 的标准集成最常见场景),并具备后续扩展为 SSE/WebSocket 的能力。
  • 安装步骤

      1. 构建二进制
      • 使用 Go 语言环境,将仓库源码编译为独立执行文件。
      1. 运行前准备
      • 确保有一个可写的本地数据库目录用于状态持久化,以及临时目录放置 provider 二进制及执行缓存。
      1. 运行
      • 将生成的二进制在标准输入/输出模式下启动,服务器将通过 MCP 的 stdio 传输与客户端通信。
      1. 依赖配置
      • 如需在生产环境中持久化状态,请按照仓库提供的使用示例,将数据库目录通过环境变量或配置路径暴露给服务,确保 state.db 等文件持久化。
      1. 运行状态与日志
      • 启动后,监控日志输出以确认 MCP 会话建立以及工具注册情况,确保资源与工具均可被客户端调用。
  • 服务器配置(MCP 客户端配置信息)

    • 配置示例(JSON,用于 MCP Host 连接该服务器时提供给客户端的启动信息;该示例聚焦于启动二进制与参数,具体环境可按需要调整):
    • server name: spacelift-intent
    • command: spacelift-intent
    • args: [](若以本地二进制直接运行可为空;如使用 Docker 运行,请将对应容器执行命令放入 args 中)
    • 说明:MCP 客户端需要在其配置中包含以上信息,用于与本 MCP 服务器建立连接。在容器化或本地二进制模式下,可以按 README 提供的示例进行配置,确保数据库目录和临时目录正确映射与设置。
  • 基本使用方法

    • 启动前准备
      • 备份和准备好本地 SQLite 数据库目录用于持久化状态,确保 TMP_DIR 指定的临时目录存在。
    • 与 MCP Host 连接
      • 在 MCP Host(如 VSCode/Claude/Claude Code 等)中添加一个 MCP 服务器条目,名称为 spacelift-intent,对应的命令为 spacelift-intent(或通过 Docker 启动容器的方式),并配置必要的环境变量。
    • 调用与调试
      • 通过 MCP 客户端调用工具(如 provider-search、lifecycle-resources-create、state-get 等)进行资源管理与查询,服务器将返回标准的 JSON-RPC 结果或通知信息。
    • 运行与调试要点
      • 确认数据库目录可写、提供者插件下载缓存目录可写、以及提供商二进制缓存目录有效。
      • 观察日志输出以排查连接、工具注册或资源操作中的错误。
  • 注意事项

    • 该实现基于 SQLite 进行状态持久化,删除/清理状态目录会丢失当前会话中的资源状态,请谨慎操作。
    • provider/OpenTofu 等组件需要网络访问以下载和缓存 provider 二进制文件,确保网络联通与访问权限。

服务器信息