@benyue1978/soloflow-mcp
Version:
A Model Context Protocol (MCP) server for project document management with 32 comprehensive prompts covering the complete software development lifecycle
661 lines (522 loc) • 22.5 kB
Markdown
# SoloFlow MCP 服务器
一个基于模型上下文协议(MCP)的服务器,用于项目文档管理,提供32个综合提示覆盖完整的软件开发生命周期。
[English](README.md) | 中文
## 功能特性
- 🚀 **MCP 协议支持**: 完整的模型上下文协议实现
- 📁 **文档管理**: 自动管理 `.soloflow/` 目录中的项目文档
- 🔧 **四个核心操作**: `list`、`read`、`update`、`init`
- 🎯 **32个综合提示**: 覆盖整个软件开发生命周期的内置提示
- 🛡️ **安全隔离**: 基于 `projectRoot` 的路径隔离
- 📝 **Markdown 支持**: 完整的 Markdown 文档格式支持
- 🎯 **Cursor 集成**: 完美支持 Cursor IDE 集成
- ⚡ **轻量级**: 仅支持 stdio 传输,无 HTTP 依赖
## 快速开始
### 1. 配置 Cursor
在项目根目录创建 `.cursor/mcp.json`:
```json
{
"mcpServers": {
"soloflow-mcp": {
"command": "npx",
"args": ["@benyue1978/soloflow-mcp"]
}
}
}
```
[](https://cursor.com/install-mcp?name=soloflow-mcp&config=ewogICAgImNvbW1hbmQiOiAibnB4IiwKICAgICJhcmdzIjogWwogICAgICAiLXkiLAogICAgICAiQGJlbnl1ZTE5Nzgvc29sb2Zsb3ctbWNwQGxhdGVzdCIKICAgIF0KfQ)
### 2. 初始化项目
```bash
# 在项目根目录运行
npx @benyue1978/soloflow-mcp init /path/to/your/project
```
### 3. 开始使用
在 Cursor 中,AI 助手现在可以:
- 列出项目文档:`list` 操作
- 读取文档内容:`read` 操作
- 更新文档内容:`update` 操作
- 初始化项目配置:`init` 操作
- 使用 32 个综合提示进行软件开发生命周期管理
## 综合提示系统
SoloFlow MCP 提供 32 个提示,分为 8 个类别,覆盖完整的软件开发生命周期:
### 📊 提示类别概览
| 类别 | 数量 | 描述 |
|------|------|------|
| **核心** | 4 | 基础项目管理功能 |
| **角色** | 5 | 不同开发角色的专门功能 |
| **任务** | 6 | 高级任务管理和分解功能 |
| **需求** | 3 | 需求分析和管理功能 |
| **设计** | 5 | 综合设计功能 |
| **开发** | 4 | 代码实现和开发功能 |
| **测试** | 5 | 测试和质量保证功能 |
| **发布** | 5 | 完整的发布和部署生命周期管理 |
## 🎯 基于场景的使用指南
### 场景 1:新项目设置
**目标**: 初始化新项目,建立适当的文档和工作区设置
**提示序列**:
1. `/soloflow-mcp/core/init-project` - 初始化项目文档结构
2. `/soloflow-mcp/core/setup-workspace` - 使用技术栈设置开发环境
3. `/soloflow-mcp/requirements/analyze-requirements` - 分析和记录需求
4. `/soloflow-mcp/requirements/prioritize-requirements` - 使用 MoSCoW 方法对需求进行优先级排序
5. `/soloflow-mcp/task/breakdown-requirements` - 将需求分解为可管理的任务
**使用示例**:
```bash
# 在 Cursor 聊天中输入:
/soloflow-mcp/core/init-project
/soloflow-mcp/core/setup-workspace --frontend React --backend Node.js --testing Jest --deployment Docker --database PostgreSQL
/soloflow-mcp/requirements/analyze-requirements --domain e-commerce --scope full-system
```
### 场景 2:需求分析阶段
**目标**: 全面的需求收集和分析
**提示序列**:
1. `/soloflow-mcp/role/analyst-mode` - 切换到分析师模式,专注于需求
2. `/soloflow-mcp/requirements/analyze-requirements` - 全面的需求分析
3. `/soloflow-mcp/requirements/validate-requirements` - 验证需求完整性
4. `/soloflow-mcp/requirements/prioritize-requirements` - 使用价值-复杂度矩阵进行优先级排序
5. `/soloflow-mcp/task/create-epic` - 从需求创建高级史诗
**使用示例**:
```bash
# 在 Cursor 聊天中输入:
/soloflow-mcp/role/analyst-mode
/soloflow-mcp/requirements/analyze-requirements --domain finance --scope full-system
/soloflow-mcp/requirements/validate-requirements --validationType comprehensive
```
### 场景 3:系统设计阶段
**目标**: 设计系统架构、UI 和数据模型
**提示序列**:
1. `/soloflow-mcp/role/architect-mode` - 切换到架构师模式,专注于设计
2. `/soloflow-mcp/design/system-architecture` - 设计整体系统架构
3. `/soloflow-mcp/design/api-interface` - 设计 API 接口和合约
4. `/soloflow-mcp/design/database-schema` - 设计数据库模式和数据模型
5. `/soloflow-mcp/design/create-ui` - 设计用户界面和用户体验
6. `/soloflow-mcp/design/review-design` - 审查和验证设计决策
**使用示例**:
```bash
# 在 Cursor 聊天中输入:
/soloflow-mcp/role/architect-mode
/soloflow-mcp/design/system-architecture --architectureType microservices
/soloflow-mcp/design/api-interface --apiType REST
/soloflow-mcp/design/database-schema --dbType PostgreSQL
```
### 场景 4:开发阶段
**目标**: 实现功能,确保代码质量和测试
**提示序列**:
1. `/soloflow-mcp/role/developer-mode` - 切换到开发者模式,专注于实现
2. `/soloflow-mcp/task/breakdown-architecture` - 将架构分解为实现任务
3. `/soloflow-mcp/development/write-code` - 使用最佳实践实现功能
4. `/soloflow-mcp/development/code-review-checklist` - 使用代码审查清单
5. `/soloflow-mcp/testing/write-unit-tests` - 编写全面的单元测试
6. `/soloflow-mcp/development/fix-bug` - 调试和修复出现的问题
**使用示例**:
```bash
# 在 Cursor 聊天中输入:
/soloflow-mcp/role/developer-mode
/soloflow-mcp/development/write-code --feature user-authentication --language TypeScript --framework Express
/soloflow-mcp/testing/write-unit-tests --component auth-service --language TypeScript --framework Jest
/soloflow-mcp/development/code-review-checklist --codeLanguage TypeScript
```
### 场景 5:测试阶段
**目标**: 全面的测试策略和执行
**提示序列**:
1. `/soloflow-mcp/role/tester-mode` - 切换到测试者模式,专注于质量
2. `/soloflow-mcp/testing/create-test-plan` - 创建全面的测试计划
3. `/soloflow-mcp/testing/write-unit-tests` - 为所有组件编写单元测试
4. `/soloflow-mcp/testing/run-tests` - 执行测试并分析结果
5. `/soloflow-mcp/testing/test-report` - 生成详细的测试报告
6. `/soloflow-mcp/testing/performance-test` - 进行性能测试
**使用示例**:
```bash
# 在 Cursor 聊天中输入:
/soloflow-mcp/role/tester-mode
/soloflow-mcp/testing/create-test-plan --feature payment-system --testType comprehensive
/soloflow-mcp/testing/run-tests --testType all --environment staging
/soloflow-mcp/testing/performance-test --component api-gateway --loadType stress
```
### 场景 6:发布管理
**目标**: 安全可靠的部署和监控
**提示序列**:
1. `/soloflow-mcp/role/project-manager-mode` - 切换到项目经理模式,进行协调
2. `/soloflow-mcp/release/commit-changes` - 使用适当的约定提交变更
3. `/soloflow-mcp/release/create-release` - 创建软件发布和版本控制
4. `/soloflow-mcp/release/deployment-checklist` - 使用部署清单
5. `/soloflow-mcp/release/monitor-deployment` - 监控部署状态
6. `/soloflow-mcp/release/rollback-plan` - 准备回滚计划(如需要)
**使用示例**:
```bash
# 在 Cursor 聊天中输入:
/soloflow-mcp/role/project-manager-mode
/soloflow-mcp/release/commit-changes --commitType feat --scope user-authentication
/soloflow-mcp/release/create-release --version 1.2.0 --releaseType minor
/soloflow-mcp/release/deployment-checklist --environment production
```
### 场景 7:Bug 修复和维护
**目标**: 高效的 Bug 修复和代码维护
**提示序列**:
1. `/soloflow-mcp/development/fix-bug` - 分析和修复 Bug
2. `/soloflow-mcp/development/refactor-code` - 重构代码以提高可维护性
3. `/soloflow-mcp/testing/run-tests` - 运行测试确保修复有效
4. `/soloflow-mcp/release/commit-changes` - 使用适当的消息提交修复
5. `/soloflow-mcp/core/generate-docs` - 更新变更的文档
**使用示例**:
```bash
# 在 Cursor 聊天中输入:
/soloflow-mcp/development/fix-bug --bugDescription "用户登录失败,返回 500 错误" --severity high
/soloflow-mcp/development/refactor-code --component auth-service --reason "改进错误处理"
/soloflow-mcp/core/generate-docs --docType api --component authentication
```
### 场景 8:项目管理和协调
**目标**: 有效的项目管理和团队协调
**提示序列**:
1. `/soloflow-mcp/role/project-manager-mode` - 切换到项目经理模式
2. `/soloflow-mcp/task/add-task` - 向项目添加新任务
3. `/soloflow-mcp/task/estimate-tasks` - 估算任务的时间和精力
4. `/soloflow-mcp/task/create-story` - 创建详细的用户故事
5. `/soloflow-mcp/core/check-project-status` - 检查整体项目状态
6. `/soloflow-mcp/task/create-epic` - 将任务组织成史诗
**使用示例**:
```bash
# 在 Cursor 聊天中输入:
/soloflow-mcp/role/project-manager-mode
/soloflow-mcp/task/add-task --taskTitle "实现 OAuth 集成" --priority high --category backend --estimatedTime 3d
/soloflow-mcp/task/estimate-tasks
/soloflow-mcp/core/check-project-status
```
## 📋 完整提示参考
### 核心功能 (4 个提示)
- `/soloflow-mcp/core/init-project` - 初始化项目文档结构
- `/soloflow-mcp/core/check-project-status` - 检查项目状态和文档完整性
- `/soloflow-mcp/core/generate-docs` - 为当前实现生成综合文档
- `/soloflow-mcp/core/setup-workspace` - 使用技术栈设置项目工作区
### 基于角色的功能 (5 个提示)
- `/soloflow-mcp/role/analyst-mode` - 切换到分析师模式进行需求分析
- `/soloflow-mcp/role/architect-mode` - 切换到架构师模式进行系统设计
- `/soloflow-mcp/role/developer-mode` - 切换到开发者模式进行实现
- `/soloflow-mcp/role/tester-mode` - 切换到测试者模式进行质量保证
- `/soloflow-mcp/role/project-manager-mode` - 切换到项目经理模式进行协调
### 任务管理 (6 个提示)
- `/soloflow-mcp/task/add-task` - 向项目添加新任务
- `/soloflow-mcp/task/breakdown-requirements` - 将需求分解为任务
- `/soloflow-mcp/task/breakdown-architecture` - 将架构分解为实现任务
- `/soloflow-mcp/task/create-epic` - 创建大规模功能史诗
- `/soloflow-mcp/task/create-story` - 创建详细的用户故事
- `/soloflow-mcp/task/estimate-tasks` - 估算任务的时间和精力
### 需求分析 (3 个提示)
- `/soloflow-mcp/requirements/analyze-requirements` - 全面的需求分析
- `/soloflow-mcp/requirements/validate-requirements` - 验证需求完整性
- `/soloflow-mcp/requirements/prioritize-requirements` - 使用各种方法对需求进行优先级排序
### 设计功能 (5 个提示)
- `/soloflow-mcp/design/create-ui` - 设计用户界面和用户体验
- `/soloflow-mcp/design/system-architecture` - 设计整体系统架构
- `/soloflow-mcp/design/api-interface` - 设计 API 接口和合约
- `/soloflow-mcp/design/database-schema` - 设计数据库模式和数据模型
- `/soloflow-mcp/design/review-design` - 审查和验证设计决策
### 开发功能 (4 个提示)
- `/soloflow-mcp/development/write-code` - 使用最佳实践实现功能
- `/soloflow-mcp/development/fix-bug` - 调试和修复代码问题
- `/soloflow-mcp/development/refactor-code` - 重构代码以提高可维护性
- `/soloflow-mcp/development/code-review-checklist` - 使用综合代码审查清单
### 测试功能 (5 个提示)
- `/soloflow-mcp/testing/create-test-plan` - 创建全面的测试计划
- `/soloflow-mcp/testing/write-unit-tests` - 为组件编写单元测试
- `/soloflow-mcp/testing/run-tests` - 执行测试并分析结果
- `/soloflow-mcp/testing/test-report` - 生成详细的测试报告
- `/soloflow-mcp/testing/performance-test` - 进行性能测试
### 发布管理 (5 个提示)
- `/soloflow-mcp/release/commit-changes` - 使用适当的约定提交变更
- `/soloflow-mcp/release/create-release` - 创建软件发布和版本控制
- `/soloflow-mcp/release/deployment-checklist` - 使用部署准备清单
- `/soloflow-mcp/release/rollback-plan` - 准备回滚计划
- `/soloflow-mcp/release/monitor-deployment` - 监控部署状态
## 支持的文档类型
| 文档类型 | 文件名 | 用途 |
|----------|--------|------|
| `overview` | `overview.md` | 项目概述和摘要 |
| `requirements` | `requirements.md` | 功能性和非功能性需求 |
| `system_architecture` | `system_architecture.md` | 技术架构设计 |
| `test_strategy` | `test_strategy.md` | 测试策略和计划 |
| `tasks` | `tasks.md` | 项目任务列表和进度 |
| `ui_design` | `ui_design.md` | UI/UX 设计规范 |
| `deployment` | `deployment.md` | 部署和基础设施文档 |
| `notes` | `notes.md` | 项目笔记和观察 |
## MCP 操作
### 核心操作
#### list - 列出文档
列出 `.soloflow/` 目录中的所有文档:
```json
{
"name": "list",
"description": "列出 .soloflow 目录中的所有文档",
"inputSchema": {
"projectRoot": "string - 项目根目录的绝对路径"
}
}
```
**响应示例**:
```json
[
{
"type": "requirements",
"title": "项目需求",
"filename": "requirements.md"
},
{
"type": "tasks",
"title": "项目任务",
"filename": "tasks.md"
}
]
```
#### read - 读取文档
读取特定文档类型的内容:
```json
{
"name": "read",
"description": "按类型读取文档内容",
"inputSchema": {
"projectRoot": "string - 项目根目录的绝对路径",
"type": "string - 文档类型 (overview, requirements, 等)"
}
}
```
**响应示例**:
```json
{
"raw": "# 项目需求\n\n## 功能性需求\n1. 用户管理\n2. 数据存储"
}
```
#### update - 更新文档
创建或更新文档内容:
```json
{
"name": "update",
"description": "创建或更新文档内容",
"inputSchema": {
"projectRoot": "string - 项目根目录的绝对路径",
"type": "string - 文档类型 (overview, requirements, 等)",
"content": "string - Markdown 格式的文档内容"
}
}
```
**响应示例**:
```json
{
"ok": true,
"message": "文档更新成功"
}
```
#### init - 初始化项目
初始化项目配置,创建 `.cursor/rules/soloflow.mdc` 文件:
```json
{
"name": "init",
"description": "初始化项目配置",
"inputSchema": {
"projectRoot": "string - 项目根目录的绝对路径"
}
}
```
**响应示例**:
```json
{
"message": "项目初始化成功。已创建 .cursor/rules/soloflow.mdc"
}
```
## 安全特性
### 路径隔离
- 所有操作都需要 `projectRoot` 参数
- 严格的绝对路径验证
- 防止路径遍历攻击
- 项目根目录必须存在
### 文档类型验证
- 预定义的文档类型白名单
- 严格的类型验证
- 防止任意文件访问
### 错误处理
- 详细的错误消息
- 优雅的失败处理
- 安全的默认行为
## 开发
### 本地开发
```bash
# 克隆仓库
git clone https://github.com/benyue1978/solo-flow-mcp.git
cd solo-flow-mcp
# 安装依赖
npm install
# 构建项目
npm run build
# 运行测试
npm test
# 启动开发服务器
npm start
```
### 项目结构
```
├── src/
│ ├── index.ts # 服务启动入口
│ ├── context.ts # 路径验证和工具函数
│ ├── tools/ # MCP 操作处理器
│ │ ├── list.ts # 列出文档
│ │ ├── read.ts # 读取文档
│ │ ├── update.ts # 更新文档
│ │ └── init.ts # 初始化项目
│ ├── prompts/ # 综合提示系统
│ │ ├── core-prompts.ts # 核心项目管理提示
│ │ ├── role-prompts.ts # 基于角色的提示
│ │ ├── task-prompts.ts # 任务管理提示
│ │ ├── requirements-prompts.ts # 需求分析提示
│ │ ├── design-prompts.ts # 设计和架构提示
│ │ ├── development-prompts.ts # 开发和编码提示
│ │ ├── testing-prompts.ts # 测试和 QA 提示
│ │ ├── release-prompts.ts # 发布和部署提示
│ │ ├── docs-prompts.ts # 文档提示
│ │ ├── workspace-prompts.ts # 工作区设置提示
│ │ ├── categories.ts # 提示类别
│ │ ├── mapping.ts # 路径映射系统
│ │ └── index.ts # 提示注册表
│ ├── types/
│ │ └── docTypes.ts # 文档类型定义
│ └── resources/
│ └── soloflow-content.ts # 资源文件内容
├── tests/ # 测试文件
│ ├── unit/ # 单元测试
│ ├── integration/ # 集成测试
│ └── utils/ # 测试工具
└── .soloflow/ # 项目文档
```
## 测试
### 运行所有测试
```bash
npm test
```
### 运行特定测试
```bash
# 单元测试
npm run test:unit
# 集成测试
npm run test:integration
# 覆盖率测试
npm run test:coverage
```
### 测试覆盖率
- 单元测试:50 个测试用例
- 集成测试:mcp-inspector 集成
- 覆盖率目标:> 85%
## 使用示例
### 示例 1:初始化项目
```bash
# 在项目根目录
npx @benyue1978/soloflow-mcp init /Users/username/my-project
```
### 示例 2:创建需求文档
```bash
# 通过 MCP 操作创建需求文档
npx @benyue1978/soloflow-mcp update \
--projectRoot /Users/username/my-project \
--type requirements \
--content "# 项目需求\n\n## 功能性需求\n1. 用户认证\n2. 数据持久化"
```
### 示例 3:在 Cursor 中使用
1. 配置 Cursor 设置
2. 初始化项目
3. 在 Cursor 中,AI 助手可以:
- 列出项目文档
- 读取文档内容
- 更新文档内容
- 管理项目配置
- 使用 32 个综合提示进行软件开发生命周期管理
### 示例 4:在 Cursor 中使用提示
1. 配置 Cursor 设置(如上所示)
2. 在 Cursor 的聊天对话框中,输入 32 个提示中的任何一个:
- `/soloflow-mcp/core/init-project` - 初始化项目文档
- `/soloflow-mcp/requirements/analyze-requirements` - 分析需求
- `/soloflow-mcp/design/system-architecture` - 设计系统架构
- `/soloflow-mcp/development/write-code` - 使用最佳实践编写代码
- `/soloflow-mcp/testing/create-test-plan` - 创建测试计划
- `/soloflow-mcp/release/commit-changes` - 正确提交变更
3. AI 将自动执行提示并更新您的项目文档
## 故障排除
### 常见问题
**问:为什么需要绝对路径?**
答:为了安全隔离,确保 MCP 服务只能访问指定的项目目录。
**问:如何重置项目配置?**
答:删除 `.cursor/rules/soloflow.mdc` 文件,然后再次运行 `init` 操作。
**问:支持哪些文档格式?**
答:目前支持 Markdown 格式,将来可能支持其他格式。
**问:如何处理并发写入?**
答:当前版本使用简单的文件系统操作,建议避免对同一文档进行并发写入。
**问:如何有效使用提示?**
答:按照软件开发生命周期顺序使用提示。从核心功能开始,然后转向特定阶段,如需求、设计、开发、测试和发布。
### 错误代码
| 错误 | 原因 | 解决方案 |
|------|------|----------|
| `项目根目录不存在` | 项目根目录不存在 | 确保路径正确且目录存在 |
| `无效的文档类型` | 文档类型不在白名单中 | 使用预定义的文档类型 |
| `文档内容不能为空` | 文档内容为空 | 提供有效的文档内容 |
## 贡献
欢迎贡献!请按照以下步骤:
1. Fork 项目
2. 创建功能分支
3. 提交您的更改
4. 推送到分支
5. 创建 Pull Request
## 许可证
MIT 许可证 - 详情请参阅 [LICENSE](LICENSE) 文件
## 更新日志
### v1.1.0
- 主要版本升级,增强项目文档管理功能
- 更新所有内部项目文档,反映v1.0.6功能和v1.1.0状态
- 改进package.json,提供更好的描述和元数据
- 通过综合文档更新增强项目结构
- 添加详细的技术规范和架构文档
- 更新部署和测试策略文档
- 改进项目笔记,包含综合开发历史
- 确保所有8个核心文档与最新项目状态同步
- 维护50个测试用例,100%通过率
- 完成双语文档支持(英文和中文)
### v1.0.6
- 添加综合双语文档支持,包含中文README
- 在英文和中文README文件之间添加语言选择链接
- 添加32个综合提示,覆盖整个软件开发生命周期
- 添加基于场景的使用指南,包含8个常见开发场景
- 添加基于角色的提示,适用于不同开发角色
- 添加需求分析、设计、开发、测试和发布管理提示
- 添加git_commit.mdc规则文件,用于标准化Git提交消息
- 创建git-commit-content.ts,包含嵌入式git提交指南
- 更新init工具,在项目初始化期间自动创建git_commit.mdc
- 使用Git提交消息约定增强项目设置
- 遵循规则文件创建和管理的一致模式
### v1.0.5
- 添加综合提示系统,包含32个覆盖整个软件开发生命周期的提示
- 添加基于场景的使用指南,包含8个常见开发场景
- 添加基于角色的提示,适用于不同开发角色
- 添加需求分析、设计、开发、测试和发布管理提示
- 添加git_commit.mdc规则文件,用于标准化Git提交消息
- 创建git-commit-content.ts,包含嵌入式git提交指南
- 更新init工具,在项目初始化期间自动创建git_commit.mdc
- 使用Git提交消息约定增强项目设置
- 遵循规则文件创建和管理的一致模式
### v1.0.4
- 使用最新的 MCP 提示和"更新前读取"规则更新 soloflow.mdc 内容
- 使用最新文档指南同步 soloflow-content.ts
- 改进有序列表格式以符合 MD029 标准
- 增强文档结构和最佳实践
### v1.0.2
- 添加综合项目文档(overview、ui_design、deployment、notes)
- 使用详细的提示使用指南更新 README.md
- 添加 Cursor 集成示例,用于直接提示使用
- 改进文档结构和用户体验
### v1.0.1
- 添加六个核心提示,用于软件工程最佳实践
- 添加测试覆盖率
- 添加 Cursor 集成支持
- 添加 NPM 包发布
### v1.0.0
- 初始版本发布
- 支持 list、read、update、init 操作
- 完整测试套件
- Cursor 集成支持
- NPM 包发布
## 联系方式
- 作者:SongYue <yuesong@gmail.com>
- 项目 URL:<https://github.com/benyue1978/solo-flow-mcp>
- NPM 包:<https://www.npmjs.com/package/@benyue1978/soloflow-mcp>