mcp-server-prompt-ts
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"
💡 使用方法
🔍 使用现有模板
- 选择词库文件 → 根据开发阶段选择对应模板文件
- 查找模板 → 找到符合需求的具体模板
- 填充变量 → 将
{{用户输入}}
替换为实际内容 - 执行分析 → 通过AI助手运行模板
🎨 制作自定义模板
- 确定用途 → 明确模板解决的具体问题
- 设计结构 → 规划模板的分析框架和输出格式
- 编写内容 → 使用Markdown格式和占位符语法
- 测试优化 → 验证模板效果并持续改进
📁 模板管理
- 单文件模式: 将所有模板放在一个
.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" }
}
}
}
环境变量
变量 | 说明 | 默认值 |
---|---|---|
PORT | HTTP服务端口 | 3000 |
NODE_ENV | 运行环境 | development |
TEMPLATE_PATH | 单个模板文件路径 | ai-prompts.md |
TEMPLATE_DIR | 单个模板目录 | .prompt |
TEMPLATE_DIRS | 多个模板目录(逗号分隔) | - |
MCP_FORCE_JSON_LOGS | JSON日志格式 | 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"
配置优先级
TEMPLATE_DIRS
环境变量(最高优先级)--template-dirs
命令行参数TEMPLATE_DIR
环境变量(向后兼容)--template-dir
命令行参数- 默认目录
.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格式,支持多种占位符和结构化内容:
基本结构
# 模板文件标题
## 分类名称
### 子分类名称
模板描述和使用说明
请分析以下{{用户输入}}的内容:
【分析框架】
- 技术复杂度评估(⭐⭐⭐⭐⭐)
- 实施建议
- 风险分析
【输出要求】
- 结构化分析结果
- 具体的实施建议
- 风险评估和应对措施
占位符类型
占位符 | 用途 | 示例 |
---|---|---|
{{用户输入}} | 主要用户输入内容 | 分析{{用户输入}}的可行性 |
${变量名} | 自定义变量 | 项目名称:${projectName} |
{{}} | 空占位符,等待填充 | 技术栈:{{}} |
🛠️ 模板制作步骤
1. 确定模板用途
# 明确模板的应用场景
- 目标用户:开发者、架构师、项目经理
- 使用阶段:需求分析、设计、开发、测试、部署
- 解决问题:具体要解决的开发问题
2. 设计模板结构
## 推荐的模板结构
### 标题层级
# 一级标题:模板文件名
## 二级标题:功能分类
### 三级标题:具体模板名称
### 内容组织
模板说明:简要描述模板用途和适用场景
请对"{{用户输入}}"进行分析:
【分析维度1】
- 要点1:具体分析内容
- 要点2:具体分析内容
【分析维度2】
- 要点1:具体分析内容
- 要点2:具体分析内容
【输出要求】
- 格式要求:输出的具体格式
- 内容要求:必须包含的内容
- 质量标准:评判标准
3. 编写模板内容
内容编写原则:
-
结构化:使用清晰的层级结构
- 【】标记:用于标识分析框架
- 列表:用于组织要点
- 表格:用于对比和总结
-
可操作性:提供具体的指导
- 明确的分析步骤
- 具体的评估标准
- 可执行的建议
-
专业性:体现领域专业知识
- 技术术语的准确使用
- 行业最佳实践
- 经验总结和模式
-
灵活性:适应不同场景
- 占位符的合理使用
- 可选内容的标识
- 扩展性考虑
📝 模板示例
完整模板示例
需求分析模板:
### 需求分析模板
请对需求"{{用户输入}}"进行全面分析:
【业务理解】
- 业务背景:{{}}
- 目标用户:{{}}
- 核心价值:{{}}
【功能分析】
- 核心功能:必须实现的功能点
- 扩展功能:可选的增强功能
- 性能要求:响应时间、并发量要求
【技术评估】
- 技术复杂度:⭐⭐⭐⭐⭐(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改进模板:
- 保持模板结构清晰
- 内容实用可操作
- 符合实际开发场景
- 包含具体评估标准
📄 许可证
MIT License