1. 目的
背景:已经实现了1个比较完备的远程命令行MCP,支持SSE和HTTPStream。实现文件系统MCP。
目的:展示怎样通过openspec构造宪法,通过openspecx构造规则以及范式命令(大概需要10分钟),0手工编码完成文件操作MCPserver(大概需要30分钟),生成完即可上线服务。
示例代码:https://github.com/GoodMood2008/sdd-example
上一篇文章:openspecx工具-使用SDD开发同类需求
2. 环境准备
npm工具
安装 @fission-ai/openspec:
npm install -g @fission-ai/openspec@latest
安装 @goodmood2008/openspecx:
npm install -g @goodmood2008/openspecx@latest
PYTHON环境
安装方式:按照项目根目录下的 INSTALL.md 文件说明进行环境配置与安装。
3. 生成宪法(国家法律)
操作1:初始化项目
命令行执行:
openspec init
注意事项:执行过程中需选择 cursor 选项。
初始化文件列表
- .cursor/commands/openspec-proposal.md
- .cursor/commands/openspec-apply.md
- .cursor/commands/openspec-archieve.md
- openspec/AGENT.md
- openspec/project.md
- AGENT.md
操作2:填充宪法
在对话窗口中,拷贝“1. Populate your project context:”下的内容粘贴进去;
建议模型:选择 claude 模型执行;
权限确认:执行过程中需确认 validate 等相关执行权限;
输出结果:完成宪法文件(project.md)的补全。
操作3:评审与优化宪法
评审生成的 project.md 文件;
将需要修改的要点反馈给大模型,由大模型完成对应修改。
4. 提取MCP_SERVER规则(地市法律)
操作1:初始化模块与规则
命令行执行:
openspecx init mcp_server/ add_new_mcpserver
参数说明:
mcp_server/:目标模块目录
add_new_mcpserver:自定义规则名称
输出文件:
- .cursor/commands/openspecx-add_new_mcpserver-proposal.md
- .cursor/rule/add_new_mcpserver-RULE.md
操作2:填充规则
拷贝“1. Populate your module RULE:”下的内容,粘贴到对话窗口执行;
建议模型:选择claude模型;
权限确认:执行过程中需确认validate等相关执行权限;
输出结果:补全规则文件.cursor/rule/add_new_mcpserver-RULE.md。
操作3:补充波及模块规则
对话窗口指令:
.cursor/rule/add_new_mcpserver-RULE.md 帮我补全关联规则xxxx,格式要符合openspec/RULE.md
说明:人工评审后,若存在其他模块的关联波及规则,补充至此处。
操作4:补充对抗规则
对话窗口指令:
.cursor/rule/add_new_mcpserver-RULE.md ,帮我在###Phase 3: 测试和验证 中补充运行环境为 source ~/mcp_venv/bin/activate
说明:人工评审后,将单元测试、编译对抗的规则补充完整。
5. 生产文件操作MCPServer
操作1:生成文件操作mcpServer的设计与任务spec
对话窗口指令:
/openspecx-add_new_mcpserver-proposal 构建文件操作的mcpServer,具备创建目录、写文件、读文件、展示目录下的列表、拷贝文件到另外目录这五个操作,mcp端口使用10002
模式建议:使用Auto模式,避免浪费cursor限额;
注意事项:执行过程中需不断点击权限授权;
输出文件:
- openspec/change/{change_id}/design.md
- openspec/change/{change_id}/task.md
- openspec/change/{change_id}/proposal.md
操作2:人工评审与spec补全
对生成的design.md、task.md、proposal.md进行人工评审,重点检查task.md是否遗漏.cursor/rule/add_new_mcpserver-RULE.md中的内容;
若存在遗漏,在对话窗口执行指令:
/openspecx-add_new_mcpserver-proposal 帮我检查规则,看是否在task.md中有遗漏
说明:可反复执行直至文档完善。
操作3:执行任务
对话窗口指令:
/openspec-apply
说明:执行后可查看模块代码生成、波及代码生成、编译对抗的过程;若发现task.md任务未完整完成,反复执行指令:
/openspec-apply 帮我完成没有完成的任务
操作4:执行归档
对话窗口指令:
/openspec-apply
说明:该步骤不要遗漏,否则会对下个需求生产带来干扰
现在你可以按照5章节的操作过程,实现1个git的mcp server,体验一下生成过程。
6. 小结
成果验收:file_mcp_server 已完整生成,可直接运行上线,该方法适用于同类需求的范式化代码生成。
需求生成策略:
- 首个需求生成时,也可以使用本方法,可将设计直接体现在规则中;
- 存量需求则要求对应模块架构良好、代码内聚,便于大模型直接分析模块代码生成规则
核心动作:以 Agent 为核心思考问题,将遗漏点通过与大模型交互持续补充到规则中。
环境与质量保障:构造良好的本地环境,将编译、单元测试规则及环境配置补充到规则中,执行/openspec-apply后可获得可编译、可上线的高质量代码。