mcp-server-prompt-ts

mcp-server-prompt-ts

3.2

If you are the rightful owner of mcp-server-prompt-ts and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The AI Prompt Library MCP Server provides structured prompt templates for the entire software development lifecycle, supporting both MCP protocol and HTTP REST API access.

AI提示词库 MCP服务器

基于MCP协议的AI提示词库服务器,为软件开发全生命周期提供结构化提示词模板。支持MCP协议和HTTP REST API双重访问方式。

🆕 新功能: 现已支持多目录配置,可同时从多个目录加载模板文件!

🚀 快速开始

# 安装与启动
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管理模板的版本和变更

📖 详细指南: 查看 了解完整的模板制作流程

📚 词库结构

文件大小用途核心模板
32KB核心开发流程智能需求分析、架构设计、代码质量分析
2.5KB测试专用测试方案、性能测试、自动化测试
3.9KB运维部署部署策略、监控配置、故障排查
4.3KB代码优化重构方案、性能优化、安全优化
4.6KB开发辅助代码解释、工具指南、技术评估

总计: 5个文件 | 47.6KB | 60+专业模板

⚙️ 配置集成

Cursor IDE 快速配置

单目录配置(传统方式)
{
  "mcpServers": {
    "mcp-server-prompt-ts": {
      "command": "node",
      "args": ["/path/to/mcp-server-prompt-ts/dist/index.js"],
      "env": { "TEMPLATE_DIR": ".prompt" }
    }
  }
}
多目录配置(推荐)
{
  "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" }
    }
  }
}

环境变量

变量说明默认值
PORTHTTP服务端口3000
NODE_ENV运行环境development
TEMPLATE_PATH单个模板文件路径ai-prompts.md
TEMPLATE_DIR单个模板目录.prompt
TEMPLATE_DIRS多个模板目录(逗号分隔)-
MCP_FORCE_JSON_LOGSJSON日志格式false

🆕 多目录配置

支持从多个目录加载模板文件,提供更灵活的模板管理:

环境变量配置
# 配置多个模板目录
TEMPLATE_DIRS="./prompts,./templates,./ai-prompts"

# 启动服务
npm start
命令行参数配置
# 使用命令行参数
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

POST /api/enhance      # 优化提示词
GET  /api/categories   # 获取分类
GET  /api/templates/search?keyword=关键词  # 搜索模板
POST /api/fill         # 填充模板
GET  /health           # 健康检查

🛠️ 开发调试

# 开发模式(热重载)
npm run dev              # MCP服务器
npm run dev:http         # HTTP服务器

# Inspector调试模式
npm run inspector        # 标准模式
npm run inspector:dev    # 详细日志
npm run inspector:http   # HTTP服务调试

🧪 功能测试

多目录配置测试

# 运行多目录配置测试
node test-multi-dirs-subprocess.js

# 预期输出:
# ✅ 测试通过:找到了预期数量的模板文件
# ✅ 测试通过:配置了预期数量的目录

手动验证

# 创建测试目录
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完整配置

单目录配置:

{
  "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" }
    }
  }
}

多目录配置:

{
  "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完整配置

单目录配置:

{
  "mcpServers": {
    "mcp-server-prompt-ts": {
      "command": "bash",
      "args": ["-c", "cd /path/to/mcp-server-prompt-ts && node dist/index.js"],
      "env": { "TEMPLATE_DIR": ".prompt" }
    }
  }
}

多目录配置:

{
  "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调试配置
{
  "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格式,支持多种占位符和结构化内容:

基本结构
# 模板文件标题

## 分类名称

### 子分类名称

模板描述和使用说明

请分析以下{{用户输入}}的内容:

【分析框架】

  1. 技术复杂度评估(⭐⭐⭐⭐⭐)
  2. 实施建议
  3. 风险分析

【输出要求】

  • 结构化分析结果
  • 具体的实施建议
  • 风险评估和应对措施
占位符类型
占位符用途示例
{{用户输入}}主要用户输入内容分析{{用户输入}}的可行性
${变量名}自定义变量项目名称:${projectName}
{{}}空占位符,等待填充技术栈:{{}}

🛠️ 模板制作步骤

1. 确定模板用途
# 明确模板的应用场景
- 目标用户:开发者、架构师、项目经理
- 使用阶段:需求分析、设计、开发、测试、部署
- 解决问题:具体要解决的开发问题
2. 设计模板结构
## 推荐的模板结构

### 标题层级
# 一级标题:模板文件名
## 二级标题:功能分类
### 三级标题:具体模板名称

### 内容组织

模板说明:简要描述模板用途和适用场景

请对"{{用户输入}}"进行分析:

【分析维度1】
- 要点1:具体分析内容
- 要点2:具体分析内容

【分析维度2】
- 要点1:具体分析内容
- 要点2:具体分析内容

【输出要求】
- 格式要求:输出的具体格式
- 内容要求:必须包含的内容
- 质量标准:评判标准
3. 编写模板内容

内容编写原则

  1. 结构化:使用清晰的层级结构

    • 【】标记:用于标识分析框架
    • 列表:用于组织要点
    • 表格:用于对比和总结
  2. 可操作性:提供具体的指导

    • 明确的分析步骤
    • 具体的评估标准
    • 可执行的建议
  3. 专业性:体现领域专业知识

    • 技术术语的准确使用
    • 行业最佳实践
    • 经验总结和模式
  4. 灵活性:适应不同场景

    • 占位符的合理使用
    • 可选内容的标识
    • 扩展性考虑

📝 模板示例

完整模板示例

需求分析模板

### 需求分析模板

请对需求"{{用户输入}}"进行全面分析:

【业务理解】
- 业务背景:{{}}
- 目标用户:{{}}
- 核心价值:{{}}

【功能分析】
- 核心功能:必须实现的功能点
- 扩展功能:可选的增强功能
- 性能要求:响应时间、并发量要求

【技术评估】
- 技术复杂度:⭐⭐⭐⭐⭐(1-5星)
- 开发工期:预估{{}}人天
- 技术风险:高/中/低
- 依赖系统:{{}}

【实施建议】
1. 第一阶段:核心功能实现
2. 第二阶段:功能完善优化
3. 第三阶段:性能优化部署

【输出要求】
- 需求理解确认
- 技术方案建议
- 开发计划安排
- 风险识别和应对
代码生成模板示例

Service层代码生成模板

### 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代码输出:

/**
 * 退款申请服务接口
 */
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