🤖 MCP提示簿
  ](https://www.docker.com/) 
使用RAG支持的语义搜索进行人工智能提示的个人烹饪书
✨ 这是什么?
MCP提示簿 是一个即插即用服务器,帮助使用AI编码助手(如GitHub Copilot、Claude等)的开发人员:
- 📚 商店 自动从AI会话中获取提示
- 🔍 搜索 提示由 *意义*,而不仅仅是关键字(RAG支持)
- 🤖 访问 任何MCP兼容工具中的提示库
- 📊 组织 按类别提示(重构、测试、调试等)
非常适合: 重复使用人工智能提示并希望有一个可搜索的知识库的开发人员。
______________________________________________________________________
🚀 快速开始
30秒后开始跑步:
选项1:自动设置(推荐)
git clone https://github.com/isaacpalomero/promptbook-mcp.git
cd promptbook-mcp
./setup.sh就是这样! 🎉
选项2:Docker
git clone https://github.com/isaacpalomero/promptbook-mcp.git
cd promptbook-mcp
docker-compose up -d完成!您的服务器正在运行。
______________________________________________________________________
💡 用例
问题: 上周,您向ChatGPT/Copilot询问了重构的完美提示。现在你找不到了。
解决方案: Promptbook MCP会自动保存并索引您的所有提示。
# Later, search by meaning
search_prompts("refactor typescript to use dependency injection")
→ Returns your exact prompt from last week真实案例
- 重构模式 -存储您最好的“干净代码”提示
- 测试策略 -找到完美的测试结构提示
- 调试工作流 -访问经过验证的调试提示
- 代码审查 -重复使用综合评审提示
______________________________________________________________________
📦 安装
先决条件
- Python 3.9+或Docker
- 最低2GB RAM
- macOS、Linux或Windows
详细设置
自动设置(推荐)
# Clone repository
git clone https://github.com/isaacpalomero/promptbook-mcp.git
cd promptbook-mcp
# Run setup script
chmod +x setup.sh
./setup.sh
# Activate virtual environment
source .venv/bin/activate # Windows: .venv\Scripts\activate
# Start server
python mcp_server.pyDocker方法
# Clone repository
git clone https://github.com/isaacpalomero/promptbook-mcp.git
cd promptbook-mcp
# Copy environment file
cp .env.example .env
# Start services
docker-compose up -d
# Verify
docker-compose logs手动设置
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Create directories
mkdir -p prompts sessions
# Index existing prompts (if any)
python prompt_rag.py --index
# Start server
python mcp_server.py______________________________________________________________________
🎯 特性
1.语义搜索(RAG)
按以下方式查找提示 意义,不是确切的单词:
search_prompts("how to add unit tests")
→ Finds prompts about "testing", "jest", "pytest", etc.2.汽车组织
删除AI会话文件→ 自动分类和索引:
sessions/
└── copilot-session-abc123.md → Auto-processed into:
├── prompts/refactoring/prompt1.md
├── prompts/testing/prompt2.md
└── Updated RAG index3.多提供商嵌入
选择您的嵌入后端:
- 句子转换 (默认,本地,CPU)
- LMStudio (GPU加速,质量更好)
# Use local embeddings (default)
EMBEDDING_PROVIDER=sentence-transformer
# Or use LMStudio
EMBEDDING_PROVIDER=lmstudio
LMSTUDIO_URL=http://localhost:12344.MCP工具(13个可用)
通过任何MCP客户端访问:
| 工具 | 说明 |
|---|---|
search_prompts | 按意义进行语义搜索 |
create_prompt | 直接添加新提示 |
update_prompt | 修改现有提示 |
delete_prompt | 安全删除提示 |
get_prompt_by_file | 获取完整内容 |
list_prompts_by_category | 按类别浏览 |
find_similar_prompts | 查找相关提示 |
get_library_stats | 查看统计数据 |
index_prompts | 重建搜索索引 |
organize_session | 处理AI会话文件 |
get_prompt_index | 查看完整元数据索引 |
可用类别:
refactoringtestingdebuggingimplementationdocumentationcode-reviewgeneral
______________________________________________________________________
🔌 MCP客户端设置
克劳德桌面版
- 打开Claude配置文件:
# macOS
~/Library/Application Support/Claude/claude_desktop_config.json
# Windows
%APPDATA%\Claude\claude_desktop_config.json- 添加Promptbook MCP服务器:
{
"mcpServers": {
"promptbook": {
"command": "python",
"args": ["/path/to/promptbook-mcp/mcp_server.py"]
}
}
}- 重新启动克劳德桌面
其他MCP客户端
任何兼容MCP的客户端都可以使用相同的模式进行连接。看 MCP协议文件 了解详情。
______________________________________________________________________
📖 文档
______________________________________________________________________
👨💻 对于开发者
⚙️ 配置
所有运行时设置都集中在 config.py 并通过一个不可变的 Config 数据类。服务器在启动时加载一次环境变量。
环境变量
| 变量 | 描述 | 默认值 |
|---|---|---|
PROMPTS_DIR | 分类提示的根文件夹 | ./prompts |
SESSIONS_DIR | 已监视导出会话的目录 | ./sessions |
VECTOR_DB_DIR | 持久ChromaDB路径 | ` |
| /.vectordb` | ||
EMBEDDING_PROVIDER | sentence-transformer 或 lmstudio | sentence-transformer |
EMBEDDING_MODEL | 句子变压器型号名称 | all-MiniLM-L6-v2 |
LMSTUDIO_URL / LMSTUDIO_MODEL | LMStudio端点+模型 | http://localhost:1234 / nomic-embed-text |
LMSTUDIO_DIMENSION | 预期的LMStudio嵌入大小 | 768 |
CHUNK_SIZE / CHUNK_OVERLAP | 提示分块参数 | 500 / 100 |
ENABLE_RAG | 切换RAG初始化 | true |
AUTO_REINDEX_INTERVAL | 自动索引检查之间的秒数 | 30 |
LOG_LEVEL | Python日志级别 | INFO |
配置文件:
# Copy example
cp .env.example .env
# Edit settings
vim .env在代码中的任何位置访问配置:
from config import CONFIG
print(CONFIG.prompts_dir) # Validated Path object
print(CONFIG.embedding_provider) # Type-safe enum______________________________________________________________________
🧪 测试与质量
我们执行严格的质量门:
# Run all tests
pytest
# Run with coverage
pytest --cov=. --cov-report=html
# Run only unit tests
pytest tests/unit/
# Run only integration tests
pytest tests/integration/
# Style check
flake8 --max-line-length=100
# Type check
mypy --strict mcp_server.py prompt_rag.py prompt_organizer.py质量标准
- 测试覆盖率:最低80%
- 类型安全:
mypy --strict必须通过 - 代码的风格:符合Flake8标准
- CI管道:所有检查都在Python 3.9-3.12上运行
GitHub操作工作流(.github/workflows/ci.yml)自动运行这些检查。
______________________________________________________________________
🐳 Docker高级版
多阶段构建
这 Dockerfile 使用多阶段构建来优化图像大小:
# Stage 1: Builder (installs dependencies)
FROM python:3.11-slim as builder
# Stage 2: Runtime (slim final image)
FROM python:3.11-slim
COPY --from=builder /app/.venv /app/.venv结果: 最终图像\<800 MB
健康检查
Docker包括自动健康监控:
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
CMD python -m prompt_rag --health || exit 1卷装载
将数据持久化到容器外:
volumes:
- ./prompts:/app/prompts # Prompt storage
- ./sessions:/app/sessions # Session import
- ./prompts/.vectordb:/app/prompts/.vectordb # RAG database建筑与运营
# Build image
docker build -t promptbook-mcp:latest .
# Run container
docker run --rm -i \
-v "$(pwd)/prompts:/app/prompts" \
-v "$(pwd)/sessions:/app/sessions" \
-e EMBEDDING_PROVIDER=sentence-transformer \
promptbook-mcp:latest______________________________________________________________________
🏗️ 建筑
组件
┌─────────────────────────────────────┐
│ MCP Client (Claude) │
└──────────────┬──────────────────────┘
│ MCP Protocol
┌──────────────▼──────────────────────┐
│ mcp_server.py │
│ - 13 MCP tools │
│ - Request routing │
│ - Error handling │
└──────────────┬──────────────────────┘
│
┌───────┴────────┐
│ │
┌──────▼──────┐ ┌─────▼────────┐
│prompt_rag.py│ │prompt_org.py │
│- RAG search │ │- Session │
│- Embeddings │ │ parsing │
│- ChromaDB │ │- Auto-org │
└─────────────┘ └──────────────┘
│ │
└───────┬────────┘
│
┌──────────────▼──────────────────────┐
│ prompts/ │
│ ├── refactoring/ │
│ ├── testing/ │
│ ├── debugging/ │
│ └── .vectordb/ │
└─────────────────────────────────────┘数据流
- 用户 要求克劳德搜索提示
- 克劳德 向发送MCP请求
mcp_server.py - 服务器 电话
prompt_rag.py用于语义搜索 - 检索增强生成 查询ChromaDB矢量数据库
- 结果 已将元数据返回给Claude
- 用户 立即看到相关提示
______________________________________________________________________
🤝 贡献
我们热爱贡献! 🎉
快速开始
- 复刻仓库
- 创建要素分支:
git checkout -b feature/amazing-feature - 进行更改并添加测试
- 运行测试:
pytest - 确保质量:
flake8 && mypy --strict - 承诺:
git commit -m 'feat: add amazing feature' - 推:
git push origin feature/amazing-feature - 打开拉取请求
看 贡献.md 详细指南。
承诺公约
我们跟随 约定式提交:
feat:新功能fix:错误修复docs:仅文档style:代码样式更改refactor:代码重构test:测试更改chore:构建/工具更改
______________________________________________________________________
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
______________________________________________________________________
🙏 致谢
______________________________________________________________________
📞 支持
______________________________________________________________________
由...制作❤️ 面向人工智能开发社区
