提示词管理工具

基于Model Context Protocol (MCP)的轻量级提示词管理系统,提供PostgreSQL存储、模板引擎和MCP协议集成,适用于AI开发场景。

  • by teleport-computer
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Account-Link/mcp-prompt-library

使用说明

MCP提示管理器

A. 简单、专注的快速经理 基于模型上下文协议(MCP)构建。该项目将更大的MCP Prompts生态系统的核心功能提取到一个经过充分测试的最小实现中。

🎯 动机

最初的MCP Prompts项目提供了许多功能,但随着时间的推移变得越来越复杂。该项目采用了一种不同的方法,专注于用户实际需要的核心功能:

  • 取出工作芯 -具有原子操作的可靠存储
  • 注重简单 -把一件事做好
  • 确保测试覆盖率 -每个功能都有工作测试
  • 提供明确的价值 -易于理解和使用的快速管理器

🏗️ 建筑

核心组件

src/
├── types.ts          # Prompt interface and schemas
├── postgres-storage.ts # PostgreSQL storage implementation
├── prompt-service.ts # Business logic and validation
├── template-engine.ts # Variable substitution engine
├── mcp-server.ts     # MCP protocol integration
└── index.ts          # Entry point and server startup

tests/
├── template-engine.test.ts

主要特点

  1. PostgreSQL存储

    • 具有版本控制的完整数据库持久性
    • 数据完整性的原子事务
    • 使用索引进行高效查询
  2. 架构验证

    • 所有数据的Zod模式
    • 类型安全操作
    • 清除错误消息
  3. MCP集成

    • 完整的MCP服务器实施
    • 工具:添加、获取、列表、更新、删除提示
    • 资源:将提示作为MCP资源公开
  4. 模板系统

    • 变量替换为 {{variables}}
    • 所需变量的验证
    • 支持默认值

🚀 快速开始

选项1:Docker(推荐)

运行MCP Prompt库最简单的方法是使用Docker:

# Clone the repository
git clone <repository>
cd mcp-prompt-library

# Start the services (PostgreSQL + MCP Server)
docker-compose up -d

# Check status
docker-compose ps

# View logs
docker-compose logs mcp-server
docker-compose logs postgres

# Stop services
docker-compose down

MCP服务器将在 http://localhost:8080/mcp 对于HTTP客户端。

备注:Docker使用默认密码(mcp_password_123)PostgreSQL。要使用自定义密码,请设置 POSTGRES_PASSWORD 环境变量。

方案2:地方发展

对于开发和测试:

cd mcp-prompt-library
npm install

测试数据库设置

该项目在同一PostgreSQL容器中使用单独的测试数据库,以避免在测试过程中影响您的实际提示:

  • 测试数据库: mcp_prompts_test (与主数据库相同的容器)
  • 主数据库: mcp_prompts (与测试数据库相同的容器)

测试数据库使用与主数据库完全相同的模式,并由测试运行器自动管理,但您也可以手动管理它:

# Set up test database manually
npm run test:db:setup

# Check test database status
npm run test:db:status

# Clean test database (removes test database)
npm run test:db:clean

备注:您的实际提示存储在主数据库中,与测试完全隔离。

发展

# Run tests (uses separate test database)
npm test

# Run tests in watch mode
npm run test:watch

# Run tests with coverage
npm run test:coverage

# Test database management
npm run test:db:setup    # Set up test database
npm run test:db:status   # Check test database status
npm run test:db:clean    # Clean test database

# Run linting
npm run lint

# Test MCP server (spawns server once for testing)
npm run dev:test

# Run server once (for manual testing)
npm run dev

# Build for production
npm run build

用法

# Start the MCP server (production)
npm start

# Or with npx
npx mcp-prompt-library

MCP开发工作流程

重要:MCP服务器设计为无状态,并为每个请求生成新的服务器。服务器不应持续保持活动状态。

  • 用于测试:使用 npm run dev:test 测试MCP通信
  • 用于手动测试:使用 npm run dev 运行服务器一次
  • 用于生产:使用 npm start 或 npx mcp-prompt-library

Docker与本地开发

用例 Docker 本地
生产部署 ✅ 推荐 ❌ 不推荐
HTTP API访问 ✅ 可在 http://localhost:8080/mcp ❌ 仅限标准
开发/测试 ⚠️ 重建速度较慢 ✅ 更快的迭代
光标MCP集成 ✅ 完美运行 ✅ 工作完美
数据库持久性 ✅ 自动设置 ⚠️ 需要手动设置

备注:Docker和本地开发都与Cursor的MCP客户端配合得很好。

📋 实施计划

第一阶段:核心基础✅ 完成

  • [x] 设置项目结构和依赖关系
  • [x] 实施 Prompt 接口和Zod模式
  • [x] 创建 PostgresPromptRepository 与数据库操作
  • [x] 为PostgreSQL存储添加全面的测试
  • [x] 基本MCP服务器集成

第二阶段:功能✅ 完成

  • [x] 模板变量替换引擎
  • [x] 完整的MCP工具和资源
  • [x] 用于基本操作的CLI命令
  • [x] 健康检查端点
  • [x] 配置管理

第三阶段:波兰语✅ 完成

  • [x] 更好的错误处理和日志记录
  • [x] 安全强化(路径穿越保护)
  • [x] 文件和示例
  • [x] 性能优化

🧪 测试策略

单元测试

  • PostgreSQL存储操作(CRUD、版本控制)
  • 使用Zod 3.22.4进行模式验证
  • 模板变量替换
  • 错误处理
  • 数据库事务安全

集成测试

  • MCP服务器通信
  • 端到端提示操作
  • CLI命令执行

测试覆盖率

  • 117项测试通过 涵盖所有核心功能
  • 总覆盖率58.35% 关键业务逻辑100%覆盖
  • 91.63%的覆盖率 PostgreSQL存储(核心功能)
  • 100%覆盖率 即时服务与模板引擎
  • 安全测试 用于路径遍历保护
  • 演出:测试将在约2.34秒内完成
  • 代码质量:0个错误,12个警告(可用于错误处理)

🎯 成功标准

成功实施将:

  1. 安全存储提示 -无数据损坏,原子数据库事务
  2. 验证所有内容 -使用Zod模式拒绝有明显错误的无效数据
  3. 与MCP客户合作 -Claude桌面、光标等通过JSON-RPC
  4. 进行全面测试 -每个功能都经过测试(117项测试通过)
  5. 简单易懂 -清晰、专注的代码库,依赖性最小
  6. 易于扩展 -定义良好的接口和模块化架构
  7. 确保安全 -防止SQL注入和输入验证

🔄 与原版比较

功能 原始MCP提示 此项目
PostgreSQL存储 ✅ 工作 ✅ 核心焦点
MCP服务器 ✅ 工作 ✅ 全面实施
模板引擎 ✅ 工作 ✅ 变量替换
命令行界面 ❌ 未执行 ✅ 简单CLI
测试 ⚠️ 最小 ✅ 综合(117次测试)
安全 ⚠️ 未知 ✅ 路径遍历保护、输入验证
复杂性 🔴 高 🟢 低
可维护性 🔴 可怜 🟢 太好了
依赖项 🔴 许多 🟢 最小(Zod 3.22.4,MCP SDK)
演出 ⚠️ 未知 ✅ 快速(2.34秒测试套件)

📚 MCP集成

此服务器实现模型上下文协议以提供:

工具

  • add_prompt -创建新提示
  • get_prompt -按ID检索提示
  • list_prompts -列出所有带有筛选功能的提示
  • update_prompt -更新现有提示
  • delete_prompt -删除提示
  • search_prompts -按内容、名称或标签搜索提示
  • get_stats -获取已存储提示的统计信息
  • apply_template -将变量应用于模板

资源

  • prompts -所有提示列表
  • prompt/{id} -个人提示详细信息

配置

Cursor(本地开发)

添加到MCP客户端配置中:

{
  "mcpServers": {
    "mcp-prompt-library": {
      "command": "node",
      "args": ["/path/to/mcp-prompt-library/dist/index.js"],
      "cwd": "/path/to/mcp-prompt-library"
    }
  }
}

用于游标(Docker/HTTP)

对于基于HTTP的MCP服务器(Docker部署):

{
  "mcpServers": {
    "mcp-prompt-library": {
      "url": "http://localhost:8080/mcp"
    }
  }
}

HTTP客户端(Docker)

容器化服务器可在 http://localhost:8080/mcp 并接受标准MCP JSON-RPC请求。

备注:Docker和本地开发配置都能很好地与Cursor的MCP客户端配合使用。

🛠️ 发展

先决条件

  • Node.js 20+(用于本地开发)
  • Docker和Docker Compose(用于容器化部署)
  • npm或pnpm

设置

地方发展

git clone <repository>
cd mcp-prompt-library
npm install
npm test

Docker开发

git clone <repository>
cd mcp-prompt-library

# Build and start services
docker-compose up -d --build

# View logs
docker-compose logs -f mcp-server

# Rebuild after changes
docker-compose build mcp-server
docker-compose up -d

添加功能

  1. 先写测试
  2. 实现该功能
  3. 确保所有测试通过
  4. 更新文档

Docker故障排除

验证容器状态

# Check if containers are running
docker-compose ps

# Check container logs
docker-compose logs mcp-server
docker-compose logs postgres

# Check container health
docker exec mcp-prompt-server ps aux

常见问题

  1. 端口冲突:确保端口8080和5433可用
  2. 数据库连接:检查PostgreSQL容器是否正常
  3. 构建问题:重建 docker-compose build --no-cache mcp-server
  4. 密码问题:Docker使用默认密码 mcp_password_123。要自定义,请设置 POSTGRES_PASSWORD 环境变量

重置所有内容

# Stop and remove everything
docker-compose down -v

# Remove all images
docker rmi mcp-prompt-library-mcp-server

# Start fresh
docker-compose up -d --build

📄 许可证

MIT许可证-有关详细信息,请参阅许可证文件。