缓存增强生成服务器

CAG MCP Server是一个高性能的缓存增强生成服务器,实现了模型上下文协议(MCP)标准,通过预加载文档到模型的上下文窗口或缓存中,提供更快的响应时间和更简单的架构。

  • by devdotbo
  • Shell
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 devdotbo/CAG-MCP

使用说明

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 pytest

TypeScript版本

# Install dependencies
pnpm install

# Build and run
pnpm build
pnpm start

# Run tests
pnpm test

与Claude Desktop集成

  1. 添加到您的Claude Desktop配置中:
{
  "mcpServers": {
    "cag-server": {
      "command": "uv",
      "args": ["run", "python", "-m", "cag_mcp_server"],
      "cwd": "/path/to/cag-mcp-server"
    }
  }
}
  1. 重新启动克劳德桌面
  2. 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

贡献

  1. 阅读 CLAUDE.md 发展指南
  2. 遵循TDD方法——先编写测试
  3. 在提交PR之前,确保所有测试都通过
  4. 使用真实的MCP客户端集成进行验证

许可证

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