内容
# 步骤 MCP
步骤 MCP 是一个面向代理的任务规划和执行 MCP 服务器,具有持久的 SQLite 存储和用于审查计划和跟踪进度的浏览器 UI。

该面板使执行状态一目了然,而 MCP 界面为代理提供了紧凑的工具、持久的资源和明确的下一个安全操作。
## 使用 Docker 运行
```bash
docker run -d \
--name steps-mcp \
--restart unless-stopped \
-v steps-mcp-data:/app/data \
-p 3001:3001 \
ghcr.io/dassader/steps-mcp:latest
```
`/app/data` 卷存储计划、步骤、笔记、过渡、附件和工作流状态。
`latest` 镜像发布适用于 `linux/amd64` 和 `linux/arm64`,因此 Docker 会自动选择正确的平台。
容器启动后:
- MCP 端点:`http://localhost:3001/mcp`
- 用户界面:`http://localhost:3001/`
- 健康检查:`http://localhost:3001/health`
将 MCP 客户端连接到上面的 Streamable HTTP 端点。调用 `server.get_started` 获取内置的工作流指南,然后使用返回的提示、工具和资源 URI 来计划和执行工作。
## 工作流
步骤 MCP 保持规划、审查、执行、验证和阻塞者明确:
1. 创建草稿计划和详细步骤。
2. 在浏览器 UI 中审查计划并记录明确的批准。
3. 启动服务器选择的下一步。
4. 在工作进展过程中添加持久性笔记和附件。
5. 将已完成的实现通过验证,或记录一个诚实的阻塞者。
工具响应包括当前状态、相关标识符和下一个安全操作,因此代理在工具描述中不需要整个状态机。

## 持久工作证据
每个状态转换都创建一个审计笔记。代理还可以添加独立的笔记,并附加文本、二进制证据或链接,而无需更改步骤状态。

## 配置
| 变量 | 默认值 | 目的 |
| --- | --- | --- |
| `HOST` | `0.0.0.0` 在 Docker 中 | HTTP 绑定地址 |
| `PORT` | `3001` | 容器 HTTP 端口 |
| `PUBLIC_URL` | `http://localhost:3001` | 在浏览器审查链接中返回的基本 URL |
| `MCP_ENDPOINT` | `/mcp` | Streamable HTTP MCP 路径 |
| `MCP_STATEFUL` | `true` | 启用有状态 MCP 会话 |
| `MCP_JSON_RESPONSE` | `false` | 返回 JSON 响应而不是打开 SSE 流 |
| `DB_PATH` | `/app/data/steps.db` 在 Docker 中 | SQLite 数据库路径 |
| `ALLOWED_ORIGINS` | 空 | 额外的逗号分隔的浏览器来源 |
## 本地开发
需要 Node.js 20 或更新版本。
```bash
npm ci
npm run typecheck
npm test
npm run build
npm start
```
默认本地数据库是 `steps.db`。复制 `.env.example` 到 `.env` 以自定义本地设置。
## 许可证
[ISC](LICENSE)