PromptDB MCP服务器
提供快速存储和检索功能的模型上下文协议(MCP)服务器。使用丰富的元数据和缓存存储、版本和管理您的提示,以获得最佳性能。
特性
- 快速存储:将提示存储为具有丰富元数据的单个JSON文件
- 版本管理:自动版本控制,保留历史记录
- 缓存:内存中的LRU缓存用于性能优化
- 元数据:标签、描述、时间戳和版本跟踪
- MCP集成:与启用MCP的应用程序完全兼容
- 双重运输支持:stdio和SSE(服务器发送事件)传输
- 云部署:已准备好部署到Vercel、Netlify和其他云平台
预填充提示
服务器附带了一组预先填充的提示,可以立即使用。您可以使用 getPrompt 具有以下任务名称的工具:
assistantcode-reviewdocumentationsummarise-paperto-flash-cards
安装
全球安装
# Using pnpm (recommended)
pnpm add -g promptdb-mcp-server
# Using npm
npm install -g promptdb-mcp-server地方发展
# Clone and install dependencies
git clone
cd promptdb-mcp-server
pnpm install
# Build the project
pnpm build
# Start the server
pnpm start运输选项
PromptDB MCP服务器支持两种传输方式:
1.标准运输(默认)
对于支持流程通信的本地开发和MCP客户:
# Default stdio transport
promptdb-mcp-server
# or explicitly
promptdb-mcp-server --transport stdio2.SSE传输(服务器发送事件)
对于web应用程序和云部署:
# SSE transport on port 3000
promptdb-mcp-server --transport sse --port 3000
# Using environment variables
export TRANSPORT_TYPE=sse
export PORT=3000
promptdb-mcp-serverMCP配置
标准传输配置
添加到MCP客户端配置中:
{
"mcpServers": {
"promptdb": {
"command": "promptdb-mcp-server",
"args": []
}
}
}SSE传输配置
对于支持HTTP/SSE传输的MCP客户端:
{
"mcpServers": {
"promptdb": {
"transport": "sse",
"url": "http://localhost:3000/sse"
}
}
}云部署
Vercel部署
# Build and deploy
pnpm build
vercel deploy
# Set environment variables in Vercel dashboard:
# TRANSPORT_TYPE=sse
# PORT=3000Netlify部署
# Build and deploy
pnpm build
netlify deploy --prod --dir=dist
# Set TRANSPORT_TYPE=sse in Netlify dashboardSSE端点
在SSE模式下运行时,服务器提供:
- SSE端点:
http://localhost:3000/sse-MCP通信 - 健康检查:
http://localhost:3000/health-服务器状态 - 察看连接信息:
http://localhost:3000/-服务器元数据
工具
list提示
列出所有可用的提示及其内容和版本。
参数:无
退货:包含任务名称、内容和版本的提示数组
getPrompt
按任务名称检索特定提示。
参数:
taskname(必填):任务名称标识符version(可选):特定版本(默认为最新版本)
退货:完整的提示元数据,包括内容、时间戳、标签和描述
setPrompt
为任务创建或更新提示。
参数:
taskname(必填):任务名称标识符content(必填):提示内容description(可选):人类可读的描述tags(可选):可搜索标签数组
退货:确认版本信息
数据模型
提示结构
interface PromptMetadata {
content: string; // The prompt content
created: string; // ISO timestamp of creation
updated: string; // ISO timestamp of last update
version: string; // Semantic version (1.0, 1.1, etc.)
tags: string[]; // Searchable tags
description: string; // Human-readable description
}文件组织
- 最新版本:
prompts/{taskname}.json - 历史版本:
prompts/{taskname}_v{version}.json - 自动存档以前的版本
版本管理
- 新提示从版本开始
1.0 - 内容更新增量次要版本(
1.0→1.1→1.2) - 以前的版本会自动存档
- 最新版本始终可访问,无需指定版本
使用示例
存储提示
{
"tool": "setPrompt",
"arguments": {
"taskname": "code-review",
"content": "Review this code for best practices, security issues, and performance optimizations...",
"description": "Comprehensive code review prompt",
"tags": ["code", "review", "security", "performance"]
}
}检索提示
{
"tool": "getPrompt",
"arguments": {
"taskname": "code-review"
}
}列出所有提示
{
"tool": "listPrompts",
"arguments": {}
}发展
项目结构
promptdb-mcp-server/
├── src/
│ ├── index.ts # Main entry point
│ ├── server.ts # MCP server setup
│ ├── tools/ # Tool implementations
│ ├── storage/ # File system operations
│ ├── cache/ # In-memory caching
│ └── utils/ # Validation helpers
├── prompts/ # Prompt storage directory
├── package.json
├── tsconfig.json
└── vite.config.ts开发命令
# Install dependencies
pnpm install
# Build project
pnpm build
# Development with watch mode
pnpm dev
# Start server (stdio transport)
pnpm start
# Start with SSE transport
pnpm start:sse
# Development with SSE transport
pnpm dev:sse
# Clean build artifacts
pnpm clean测试
使用MCP检查器或任何MCP兼容客户端测试服务器:
- 启动服务器:
pnpm start - 通过MCP检查器连接
- 测试可用工具
演出
缓存策略
- 缓存命中:立即从记忆中恢复
- 缓存未命中:从文件系统加载,缓存结果
- 缓存失效:在提示更新时自动
- 内存管理:LRU驱逐100件物品
文件系统优化
- 贯穿始终的异步文件操作
- 按需创建目录
- 稳健的错误处理
- 并发访问安全
错误处理
服务器优雅地处理各种错误情况:
- 文件系统权限错误
- JSON解析无效
- 并发访问冲突
- 缓存一致性问题
- 输入验证错误
故障排除
常见问题
- 服务器未启动:检查Node.js版本(18+)和依赖关系
- 未找到工具:验证服务器是否正确连接到MCP客户端
- 目录创建错误:
- 错误: ENOENT: no such file or directory, mkdir '/prompts' - 解决方案:服务器创建一个 prompts 当前工作目录中的目录。确保MCP客户端对其运行的目录具有写权限。 - 替代:服务器将自动创建具有适当权限的目录
- 文件权限:确保对提示目录的写入权限
- JSON解析错误:验证提示文件格式
苏格兰和南方能源公司运输问题
- 端口已在使用中:
# Find process using port
lsof -i :3000
# Kill process
kill -9
- CORS错误:默认情况下,服务器包含用于跨源请求的CORS标头
- 连接超时:检查防火墙设置并确保端口可访问
- 构建错误:确保所有依赖项都已安装
pnpm install
- 云部署问题:
- 验证环境变量是否设置正确 - 检查构建日志是否有错误 - 确保 dist/ 目录包含在部署中
测试SSE传输
# Test health endpoint
curl http://localhost:3000/health
# Test server info
curl http://localhost:3000/
# Test SSE connection
curl -N http://localhost:3000/sse目录配置
默认情况下,服务器在当前工作目录中创建提示:
- 在本地运行时:
./prompts/在项目目录中 - 全局安装时:
./prompts/在MCP客户端运行的目录中 - 如果目录不存在,服务器会自动创建该目录
验证错误
- 任务名称必须是字母数字,只能使用连字符/下划线
- 内容不能为空
- 版本格式必须为X.Y(例如1.0、2.1)
许可证
MIT许可证-有关详细信息,请参阅许可证文件
贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
支持
对于问题和疑问:
- 在GitHub上创建问题
- 检查文档
- 审查实施计划
