# AI提示词库 MCP服务器 基于MCP协议的AI提示词库服务器,为软件开发全生命周期提供结构化提示词模板。支持MCP协议和HTTP REST API双重访问方式。 > 🆕 **新功能**: 现已支持多目录配置,可同时从多个目录加载模板文件! ## 🚀 快速开始 ```bash # 安装与启动 git clone https://XXX/mcp-server-prompt-ts.git cd mcp-server-prompt-ts npm install && npm run build # 启动服务 npm start # MCP服务器 npm run start:http # HTTP服务器(端口3000) npm run start:http:prod # 生产环境(端口3100) # 🆕 多目录配置启动 TEMPLATE_DIRS="./prompts,./team-templates" npm start # 或使用命令行参数 npm start -- --template-dirs="./dir1,./dir2" ``` ## 💡 使用方法 ### 🔍 使用现有模板 1. **选择词库文件** → 根据开发阶段选择对应模板文件 2. **查找模板** → 找到符合需求的具体模板 3. **填充变量** → 将`{{用户输入}}`替换为实际内容 4. **执行分析** → 通过AI助手运行模板 ### 🎨 制作自定义模板 1. **确定用途** → 明确模板解决的具体问题 2. **设计结构** → 规划模板的分析框架和输出格式 3. **编写内容** → 使用Markdown格式和占位符语法 4. **测试优化** → 验证模板效果并持续改进 ### 📁 模板管理 - **单文件模式**: 将所有模板放在一个`.md`文件中 - **多目录模式**: 按功能分类组织到不同目录 - **版本控制**: 使用Git管理模板的版本和变更 > 📖 **详细指南**: 查看 [模板制作快速入门指南](TEMPLATE_CREATION_GUIDE.md) 了解完整的模板制作流程 ## 📚 词库结构 | 文件 | 大小 | 用途 | 核心模板 | |------|------|------|----------| | [ai-prompts.md](.prompt/ai-prompts.md) | 32KB | 核心开发流程 | 智能需求分析、架构设计、代码质量分析 | | [ai-prompts-testing.md](.prompt/ai-prompts-testing.md) | 2.5KB | 测试专用 | 测试方案、性能测试、自动化测试 | | [ai-prompts-devops.md](.prompt/ai-prompts-devops.md) | 3.9KB | 运维部署 | 部署策略、监控配置、故障排查 | | [ai-prompts-optimization.md](.prompt/ai-prompts-optimization.md) | 4.3KB | 代码优化 | 重构方案、性能优化、安全优化 | | [ai-prompts-tools.md](.prompt/ai-prompts-tools.md) | 4.6KB | 开发辅助 | 代码解释、工具指南、技术评估 | **总计**: 5个文件 | 47.6KB | 60+专业模板 ## ⚙️ 配置集成 ### Cursor IDE 快速配置 #### 单目录配置(传统方式) ```json { "mcpServers": { "mcp-server-prompt-ts": { "command": "node", "args": ["/path/to/mcp-server-prompt-ts/dist/index.js"], "env": { "TEMPLATE_DIR": ".prompt" } } } } ``` #### 多目录配置(推荐) ```json { "mcpServers": { "mcp-server-prompt-ts": { "command": "node", "args": ["/path/to/mcp-server-prompt-ts/dist/index.js"], "env": { "TEMPLATE_DIRS": ".prompt,./team-prompts,./project-templates" } } } } ``` ### 环境变量 | 变量 | 说明 | 默认值 | |------|------|--------| | `PORT` | HTTP服务端口 | 3000 | | `NODE_ENV` | 运行环境 | development | | `TEMPLATE_PATH` | 单个模板文件路径 | ai-prompts.md | | `TEMPLATE_DIR` | 单个模板目录 | .prompt | | `TEMPLATE_DIRS` | 多个模板目录(逗号分隔) | - | | `MCP_FORCE_JSON_LOGS` | JSON日志格式 | false | ### 🆕 多目录配置 支持从多个目录加载模板文件,提供更灵活的模板管理: #### 环境变量配置 ```bash # 配置多个模板目录 TEMPLATE_DIRS="./prompts,./templates,./ai-prompts" # 启动服务 npm start ``` #### 命令行参数配置 ```bash # 使用命令行参数 node dist/index.js --template-dirs="./dir1,./dir2,./dir3" # 或者通过npm npm start -- --template-dirs="./prompts,./templates" ``` #### 配置优先级 1. `TEMPLATE_DIRS` 环境变量(最高优先级) 2. `--template-dirs` 命令行参数 3. `TEMPLATE_DIR` 环境变量(向后兼容) 4. `--template-dir` 命令行参数 5. 默认目录 `.prompt` #### 使用场景 - **团队协作**: 不同团队维护各自的模板目录 - **项目分类**: 按项目类型分别存放模板 - **版本管理**: 同时使用稳定版和测试版模板 - **模块化**: 将模板按功能模块分目录管理 ## 🔌 API接口 ### MCP工具 - `enhancePrompt` - 优化提示词 - `searchTemplates` - 搜索模板 - `getCategories` - 获取分类 - `fillTemplate` - 填充模板 ### HTTP API ```bash POST /api/enhance # 优化提示词 GET /api/categories # 获取分类 GET /api/templates/search?keyword=关键词 # 搜索模板 POST /api/fill # 填充模板 GET /health # 健康检查 ``` ## 🛠️ 开发调试 ```bash # 开发模式(热重载) npm run dev # MCP服务器 npm run dev:http # HTTP服务器 # Inspector调试模式 npm run inspector # 标准模式 npm run inspector:dev # 详细日志 npm run inspector:http # HTTP服务调试 ``` ## 🧪 功能测试 ### 多目录配置测试 ```bash # 运行多目录配置测试 node test-multi-dirs-subprocess.js # 预期输出: # ✅ 测试通过:找到了预期数量的模板文件 # ✅ 测试通过:配置了预期数量的目录 ``` ### 手动验证 ```bash # 创建测试目录 mkdir test-dir1 test-dir2 echo "# Test Template 1" > test-dir1/test1.md echo "# Test Template 2" > test-dir2/test2.md # 使用多目录配置启动 TEMPLATE_DIRS="test-dir1,test-dir2" npm start # 清理测试目录 rm -rf test-dir1 test-dir2 ``` ## 🎯 模板特点 - **智能融合**: 结合直觉判断和系统分析 - **结构化**: 清晰的分析框架和评估体系 - **实用性**: 基于实际开发经验,提供可执行建议 - **完整性**: 覆盖需求→设计→开发→测试→部署全流程 - **专业性**: 星级复杂度评估、工期估算、风险分析 - **分布式友好**: 专门优化Dubbo微服务开发模板 ## 🏗️ 技术栈 主要支持以下技术栈的开发模板: - **Java + Spring Boot** - 微服务开发框架 - **Dubbo** - 分布式RPC框架 - **MySQL** - 数据库设计优化 - **Maven** - 项目构建管理 - **阿里巴巴开发规范** - 企业级质量标准 ## 📋 详细配置
Windows完整配置 **单目录配置**: ```json { "mcpServers": { "mcp-server-prompt-ts": { "command": "cmd", "args": ["/k", "cd", "/d", "D:\\workspace\\code\\mcp\\mcp-server-prompt-ts", "&", "node", "dist/index.js"], "env": { "TEMPLATE_DIR": ".prompt" } } } } ``` **多目录配置**: ```json { "mcpServers": { "mcp-server-prompt-ts": { "command": "cmd", "args": ["/k", "cd", "/d", "D:\\workspace\\code\\mcp\\mcp-server-prompt-ts", "&", "node", "dist/index.js"], "env": { "TEMPLATE_DIRS": ".prompt,D:\\templates\\team,D:\\templates\\project" } } } } ```
Mac/Linux完整配置 **单目录配置**: ```json { "mcpServers": { "mcp-server-prompt-ts": { "command": "bash", "args": ["-c", "cd /path/to/mcp-server-prompt-ts && node dist/index.js"], "env": { "TEMPLATE_DIR": ".prompt" } } } } ``` **多目录配置**: ```json { "mcpServers": { "mcp-server-prompt-ts": { "command": "bash", "args": ["-c", "cd /path/to/mcp-server-prompt-ts && node dist/index.js"], "env": { "TEMPLATE_DIRS": ".prompt,/home/user/team-templates,/opt/project-templates" } } } } ```
Inspector调试配置 ```json { "mcpServers": { "mcp-server-prompt-ts-inspector": { "command": "npx", "args": ["@modelcontextprotocol/inspector", "node", "/path/to/mcp-server-prompt-ts/dist/index.js"], "env": { "MCP_FORCE_JSON_LOGS": "true" } } } } ```
## 🏛️ 项目架构 ``` mcp-server-prompt-ts/ ├── .prompt/ # 默认提示词模板库(47.6KB) ├── src/ │ ├── config/ # 配置管理(支持多目录配置) │ │ └── config.service.ts # 配置服务(新增多目录支持) │ ├── services/ # 核心服务(模板解析、MCP、HTTP) │ ├── types/ # TypeScript类型定义 │ │ └── config.types.ts # 配置类型(新增templateDirs) │ ├── utils/ # 工具函数(日志、响应) │ ├── index.ts # MCP服务器入口 │ └── httpIndex.ts # HTTP服务器入口 ├── dist/ # 编译输出 ├── test-multi-dirs-subprocess.js # 多目录配置测试脚本 ├── TEMPLATE_CREATION_GUIDE.md # 模板制作快速入门指南 └── package.json # 项目配置 ``` ### 🗂️ 多目录模板组织示例 ``` 项目根目录/ ├── .prompt/ # 核心模板库 │ ├── ai-prompts.md # 主要开发模板 │ ├── ai-prompts-testing.md # 测试模板 │ └── ... ├── team-templates/ # 团队专用模板 │ ├── code-review.md # 代码审查模板 │ ├── meeting-notes.md # 会议记录模板 │ └── ... ├── project-specific/ # 项目特定模板 │ ├── api-design.md # API设计模板 │ ├── deployment.md # 部署模板 │ └── ... └── experimental/ # 实验性模板 ├── ai-assistant.md # AI助手模板 └── ... ``` ## 📖 模板制作指南 ### 🎨 模板格式规范 模板采用Markdown格式,支持多种占位符和结构化内容: #### 基本结构 ```markdown # 模板文件标题 ## 分类名称 ### 子分类名称 ``` 模板描述和使用说明 请分析以下{{用户输入}}的内容: 【分析框架】 1. 技术复杂度评估(⭐⭐⭐⭐⭐) 2. 实施建议 3. 风险分析 【输出要求】 - 结构化分析结果 - 具体的实施建议 - 风险评估和应对措施 #### 占位符类型 | 占位符 | 用途 | 示例 | |--------|------|------| | `{{用户输入}}` | 主要用户输入内容 | `分析{{用户输入}}的可行性` | | `${变量名}` | 自定义变量 | `项目名称:${projectName}` | | `{{}}` | 空占位符,等待填充 | `技术栈:{{}}` | ### 🛠️ 模板制作步骤 #### 1. 确定模板用途 ```markdown # 明确模板的应用场景 - 目标用户:开发者、架构师、项目经理 - 使用阶段:需求分析、设计、开发、测试、部署 - 解决问题:具体要解决的开发问题 ``` #### 2. 设计模板结构 ```markdown ## 推荐的模板结构 ### 标题层级 # 一级标题:模板文件名 ## 二级标题:功能分类 ### 三级标题:具体模板名称 ### 内容组织 ``` 模板说明:简要描述模板用途和适用场景 ``` 请对"{{用户输入}}"进行分析: 【分析维度1】 - 要点1:具体分析内容 - 要点2:具体分析内容 【分析维度2】 - 要点1:具体分析内容 - 要点2:具体分析内容 【输出要求】 - 格式要求:输出的具体格式 - 内容要求:必须包含的内容 - 质量标准:评判标准 ``` #### 3. 编写模板内容 **内容编写原则**: 1. **结构化**:使用清晰的层级结构 - 【】标记:用于标识分析框架 - 列表:用于组织要点 - 表格:用于对比和总结 2. **可操作性**:提供具体的指导 - 明确的分析步骤 - 具体的评估标准 - 可执行的建议 3. **专业性**:体现领域专业知识 - 技术术语的准确使用 - 行业最佳实践 - 经验总结和模式 4. **灵活性**:适应不同场景 - 占位符的合理使用 - 可选内容的标识 - 扩展性考虑 ### 📝 模板示例 #### 完整模板示例 **需求分析模板**: ```markdown ### 需求分析模板 请对需求"{{用户输入}}"进行全面分析: 【业务理解】 - 业务背景:{{}} - 目标用户:{{}} - 核心价值:{{}} 【功能分析】 - 核心功能:必须实现的功能点 - 扩展功能:可选的增强功能 - 性能要求:响应时间、并发量要求 【技术评估】 - 技术复杂度:⭐⭐⭐⭐⭐(1-5星) - 开发工期:预估{{}}人天 - 技术风险:高/中/低 - 依赖系统:{{}} 【实施建议】 1. 第一阶段:核心功能实现 2. 第二阶段:功能完善优化 3. 第三阶段:性能优化部署 【输出要求】 - 需求理解确认 - 技术方案建议 - 开发计划安排 - 风险识别和应对 ``` #### 代码生成模板示例 **Service层代码生成模板**: ```markdown ### Service层代码生成 请为"{{用户输入}}"生成Service层代码: 【代码结构】 ```java @Service @Slf4j public class ${className}ServiceImpl implements ${className}Service { @Autowired private ${className}Repository repository; @Override public ${returnType} ${methodName}(${paramType} ${paramName}) { log.info("开始处理业务逻辑: {}", ${paramName}); // 1. 参数校验 validate${className}(${paramName}); // 2. 业务逻辑处理 ${returnType} result = process${className}(${paramName}); // 3. 结果返回 log.info("业务处理完成: {}", result); return result; } private void validate${className}(${paramType} ${paramName}) { // 参数校验逻辑 {{}} } private ${returnType} process${className}(${paramType} ${paramName}) { // 核心业务逻辑 {{}} } } 【代码说明】 - 类名:${className}ServiceImpl - 主要方法:${methodName} - 参数类型:${paramType} - 返回类型:${returnType} 【最佳实践】 - 日志记录:关键节点记录日志 - 异常处理:业务异常和系统异常 - 事务控制:@Transactional注解使用 - 性能优化:缓存、批处理等 ``` ### 🔧 模板管理 #### 文件组织 **推荐的目录结构**: ``` templates/ ├── development/ # 开发阶段模板 │ ├── requirements.md # 需求分析模板 │ ├── design.md # 设计模板 │ └── coding.md # 编码模板 ├── testing/ # 测试阶段模板 │ ├── unit-test.md # 单元测试模板 │ └── integration.md # 集成测试模板 ├── deployment/ # 部署阶段模板 │ ├── deploy.md # 部署模板 │ └── monitor.md # 监控模板 └── tools/ # 工具类模板 ├── code-review.md # 代码审查模板 └── documentation.md # 文档模板 ``` #### 命名规范 - **文件名**:使用小写字母和连字符,如 `api-design.md` - **模板名**:使用中文描述,如 `### API接口设计` - **变量名**:使用驼峰命名,如 `${className}` #### 版本管理 - 使用Git管理模板版本 - 重大更新时创建新分支 - 保持向后兼容性 - 定期清理过时模板 ### 💡 最佳实践 #### 模板设计原则 - **简洁明了**:避免过于复杂的结构 - **实用性强**:贴近实际开发场景 - **易于理解**:清晰的说明和示例 - **可扩展性**:支持不同项目需求 #### 内容质量要求 - **准确性**:技术内容的准确性 - **完整性**:覆盖关键分析点 - **一致性**:格式和风格统一 - **时效性**:及时更新过时内容 #### 使用建议 - 根据项目特点选择合适模板 - 结合实际情况调整模板内容 - 积累经验不断优化模板 - 团队共享和协作改进 ## 💬 AI对话示例 以下展示MCP工具如何自动匹配模板并提供智能分析: ### 🔍 场景一:需求分析 **用户输入**: ``` 分析这个需求: https://company.atlassian.net/wiki/spaces/PROJ/pages/123456/电商订单退款功能需求 ``` **🤖 MCP工具自动匹配**: ``` 🔍 检测到需求分析场景... 📋 自动匹配模板: "智能需求分析(Sequential + 结构化融合)" ⚡ 开始分析... ``` **AI分析输出**: ``` 技术直觉快速判断: 快速复杂度评估: - 整体技术复杂度预估:⭐⭐⭐⭐(4星) - 最复杂的3个功能点:风控规则引擎、退款状态机、资金清算 - 最大风险点:第三方支付接口的异常处理 - 关键依赖:支付网关、风控系统、财务系统 结构化深度分析: 核心功能分解: 1. 退款申请模块 - 复杂度:⭐⭐⭐ | 风险:中 | 工期:3人天 2. 风控审核模块 - 复杂度:⭐⭐⭐⭐ | 风险:高 | 工期:5人天 3. 退款处理模块 - 复杂度:⭐⭐⭐⭐⭐ | 风险:高 | 工期:8人天 4. 状态通知模块 - 复杂度:⭐⭐ | 风险:低 | 工期:2人天 实施风险量化: - 技术风险:第三方支付API限流、网络超时处理 - 集成风险:支付系统版本兼容性、数据格式变更 - 时间风险:2小时时效要求需要优化处理流程 可执行实施计划: 第一阶段 - 基础功能(1周): - 功能:退款申请表单、基础审核流程 - 目标:实现端到端退款流程 - 成功标准:单笔退款成功率>99% 第二阶段 - 完善优化(2周): - 功能:风控规则、批量处理、异常重试 - 目标:满足2小时时效要求 - 成功标准:平均处理时长<30分钟 ``` ### 🛠️ 场景二:架构设计 **用户输入**: ``` 设计退款系统架构 ``` **🤖 MCP工具自动匹配**: ``` 🏗️ 检测到架构设计需求... 📐 自动匹配模板: "智能架构设计(经验直觉 + 技术深度)" ⚙️ 开始设计... ``` **AI架构输出**: ``` 架构直觉判断: 技术栈选择: - 首选技术栈:Spring Boot + MySQL + Redis + RocketMQ + Dubbo - 架构模式:微服务 + 事件驱动 + CQRS - 选择理由:退款涉及多系统协调,需要保证数据一致性 核心架构设计: 服务层设计: 1. 退款申请服务 (refund-application-service) - 职责:退款申请受理、参数校验 - 复杂度:⭐⭐⭐ 2. 风控审核服务 (risk-control-service) - 职责:风控规则计算、人工审核 - 复杂度:⭐⭐⭐⭐ 3. 退款处理服务 (refund-process-service) - 职责:调用支付网关、状态管理 - 复杂度:⭐⭐⭐⭐⭐ 4. 通知服务 (notification-service) - 职责:短信、邮件、推送通知 - 复杂度:⭐⭐ 关键组件设计: - API网关:统一入口、限流熔断 - 配置中心:动态风控规则配置 - 消息队列:异步处理、削峰填谷 - 分布式事务:TCC模式保证一致性 ``` ### 💻 场景三:代码实现 **用户输入**: ``` 请实现退款申请服务的核心代码 ``` **🤖 MCP工具自动匹配**: ``` ⚡ 检测到代码实现需求... 🔧 自动匹配模板: "Service开发" 📝 开始生成代码... ``` **AI代码输出**: ```java /** * 退款申请服务接口 */ public interface RefundApplicationService { /** * 提交退款申请 */ RefundApplicationDTO submitRefundApplication(RefundApplicationRequest request); /** * 查询退款申请状态 */ RefundApplicationDTO queryRefundStatus(String refundId); } @Service @Slf4j public class RefundApplicationServiceImpl implements RefundApplicationService { @Autowired private RefundApplicationRepository refundRepository; @Autowired private OrderService orderService; @Autowired private RiskControlService riskControlService; @Override @Transactional public RefundApplicationDTO submitRefundApplication(RefundApplicationRequest request) { log.info("收到退款申请, orderId={}, amount={}", request.getOrderId(), request.getAmount()); // 1. 参数校验 validateRefundRequest(request); // 2. 订单状态检查 OrderDTO order = orderService.getOrderById(request.getOrderId()); validateOrderStatus(order); // 3. 创建退款申请 RefundApplication refundApp = buildRefundApplication(request, order); refundApp = refundRepository.save(refundApp); // 4. 提交风控审核 riskControlService.submitRiskReview(refundApp.getId()); log.info("退款申请创建成功, refundId={}", refundApp.getId()); return RefundApplicationConverter.toDTO(refundApp); } private void validateRefundRequest(RefundApplicationRequest request) { if (request.getAmount().compareTo(BigDecimal.ZERO) <= 0) { throw new RefundException("退款金额必须大于0"); } } } ``` ### 🎯 使用效果总结 | 输入类型 | 自动匹配模板 | 输出内容 | 使用场景 | |----------|------------|----------|----------| | 需求文档链接 | 智能需求分析 | 复杂度评估+实施计划 | 项目启动阶段 | | 架构设计需求 | 智能架构设计 | 技术选型+服务拆分 | 架构设计阶段 | | 功能实现需求 | Service开发 | 完整代码+最佳实践 | 开发实现阶段 | **✨ 工具特点**: - �� **智能识别**: 自动识别输入内容类型 - 📋 **精准匹配**: 匹配最适合的专业模板 - ⚡ **即时输出**: 生成结构化分析和代码 - 🎯 **实用性强**: 直接可用的分析结果和代码 ## 🤝 贡献指南 欢迎提交PR改进模板: 1. 保持模板结构清晰 2. 内容实用可操作 3. 符合实际开发场景 4. 包含具体评估标准 ## 📄 许可证 MIT License