CAG MCP服务器
实现模型上下文协议(MCP)标准的高性能缓存增强生成(CAG)服务器。
什么是CAG?
缓存增强生成(CAG)是RAG(检索增强生成)的替代方案,它将文档预加载到模型的上下文窗口或缓存中,而不是在运行时搜索向量数据库。这种方法提供了:
- 更快的响应时间 -无矢量搜索开销
- 更好的上下文连贯性 -所有相关文件都已在内存中
- 更简单的架构 -无需嵌入或矢量数据库
- 减少延迟 -直接访问缓存内容
特性
- 🚀 高性能 -具有亚毫秒访问时间的内存缓存
- 🔌 MCP兼容 -模型上下文协议的全面实现
- 📚 智能缓存 -LRU驱逐、大小限制和自动内容管理
- 🔍 高级搜索 -在缓存文档中进行全文搜索
- 🛠️ 双重实施 -Python(FastMCP)和TypeScript版本
- 🧪 经过彻底测试 -TDD方法与实际集成测试
- 🔒 生产就绪 -错误处理、日志记录和监控
快速开始
Python版本
# Install dependencies
uv sync
# Run the server
uv run python -m cag_mcp_server
# Run tests
uv run pytestTypeScript版本
# Install dependencies
pnpm install
# Build and run
pnpm build
pnpm start
# Run tests
pnpm test与Claude Desktop集成
- 添加到您的Claude Desktop配置中:
{
"mcpServers": {
"cag-server": {
"command": "uv",
"args": ["run", "python", "-m", "cag_mcp_server"],
"cwd": "/path/to/cag-mcp-server"
}
}
}- 重新启动克劳德桌面
- CAG服务器将出现在MCP菜单中
建筑
CAG MCP服务器由以下部分组成:
- 缓存管理器 -处理有大小限制的文档存储和LRU删除
- 文档加载器 -启动时加载和验证文档
- MCP服务器 -使用资源、工具和提示实现模型上下文协议
- 搜索引擎 -提供跨缓存内容的快速全文搜索
配置
创建一个 config.json 文件:
{
"cache": {
"maxSizeMB": 100,
"evictionPolicy": "lru",
"preloadDirectory": "./documents"
},
"server": {
"logLevel": "info",
"enableMetrics": true
}
}MCP能力
资源
每个缓存的文档都作为具有URI模式的MCP资源公开 cache://filename.
工具
search_cache-在所有缓存文档中搜索get_document-检索特定文档cache_stats-获取缓存统计信息和性能指标
鼓励
为常见查询模式预构建提示模板。
发展
# Setup development environment
./scripts/setup-dev.sh
# Run all tests
./scripts/integration-test.sh
# Verify MCP compatibility
./scripts/verify-mcp.sh测试
这个项目使用测试驱动开发(TDD),没有模拟。所有测试都使用实际实现:
# Python tests
uv run pytest -xvs
# TypeScript tests
pnpm test
# Integration tests
./scripts/test-server.sh演出
- 文档访问:\<1ms
- 搜索延迟:1000个文档\<10ms
- 内存效率:约1.2倍文档大小
- 启动时间:100MB缓存\<5s
贡献
- 阅读
CLAUDE.md发展指南 - 遵循TDD方法——先编写测试
- 在提交PR之前,确保所有测试都通过
- 使用真实的MCP客户端集成进行验证
许可证
MIT许可证-有关详细信息,请参阅许可证文件
