Charly Memory Cache:内存缓存 MCP 服务器
项目简介
Charly Memory Cache 是一个实现了 Model Context Protocol (MCP) 的服务器,专为语言模型客户端设计。它通过在内存中缓存数据,减少重复数据传输,从而降低语言模型Token的消耗,并加速数据访问,提升整体应用性能。
主要功能点
- 自动缓存: 自动缓存读取的数据,无需手动干预。
- 资源管理: 提供 '/cache://stats' 资源,用于查看缓存的实时统计信息。
- 工具支持: 提供 'store_data', 'retrieve_data', 'clear_cache', 'get_cache_stats' 等工具,允许用户手动管理缓存或获取缓存状态。
- 可配置: 支持通过 'config.json' 文件或环境变量灵活配置缓存大小、过期时间 (TTL) 等参数。
- 性能监控: 提供缓存命中率、内存使用量等统计信息,帮助用户监控缓存效果。
安装步骤
-
克隆仓库:
git clone [email protected]:ibproduct/ib-mcp-cache-server cd ib-mcp-cache-server -
安装依赖:
npm install -
构建项目:
npm run build
服务器配置
要将 Charly Memory Cache 服务器添加到 MCP 客户端,您需要在客户端的 MCP 服务器配置中添加以下 JSON 代码。请根据实际情况修改 'command' 和 'args' 中的路径。
{ "mcpServers": { "memory-cache": { // 服务器名称,可以自定义 "command": "node", // 启动服务器的命令,这里使用 Node.js "args": ["/path/to/ib-mcp-cache-server/build/index.js"] // 服务器启动脚本的路径,需要替换为实际路径 } } }
更多配置 (可选)
您可以通过 'config.json' 文件(位于服务器根目录)或环境变量来自定义服务器行为。以下是一些常用的配置项,您可以根据需要添加到 MCP 客户端的 'env' 字段中:
{ "mcpServers": { "memory-cache": { "command": "node", "args": ["/path/to/ib-mcp-cache-server/build/index.js"], "env": { "MAX_ENTRIES": "5000", // 最大缓存条目数 (默认: 1000) "MAX_MEMORY": "209715200", // 最大内存使用量,单位字节 (默认: 100MB) "DEFAULT_TTL": "7200", // 默认缓存过期时间,单位秒 (默认: 1小时) "CHECK_INTERVAL": "120000", // 过期检查间隔,单位毫秒 (默认: 1分钟) "STATS_INTERVAL": "60000" // 统计信息更新间隔,单位毫秒 (默认: 30秒) // "CONFIG_PATH": "/path/to/your/config.json" // 自定义 config.json 文件路径 (可选) } } } }
基本使用方法
-
启动服务器: 当 MCP 客户端启动并尝试连接到 'memory-cache' 服务器时,服务器会自动启动。您可以在终端中看到 "Memory Cache MCP server running on stdio" 的消息。
-
自动缓存: 服务器会自动缓存 MCP 客户端读取的资源数据。对于重复读取相同资源的操作,服务器将直接从缓存返回数据,减少Token消耗。
-
查看缓存统计: 您可以使用 MCP 客户端读取 'cache://stats' 资源来获取缓存的实时统计信息,例如:
- 在 MCP 客户端中,尝试读取资源 'cache://stats'。
- 服务器将返回 JSON 格式的缓存统计数据,包含缓存条目数、内存使用量、命中率等信息。
-
使用工具管理缓存 (可选): 您可以使用 MCP 客户端调用以下工具来手动管理缓存:
- 'store_data': 手动存储数据到缓存,可以设置过期时间 (TTL)。
- 'retrieve_data': 从缓存中检索数据。
- 'clear_cache': 清除指定 Key 的缓存条目或清空所有缓存。
- 'get_cache_stats': 获取缓存统计信息(与读取 'cache://stats' 资源效果相同)。
具体工具调用方法请参考 MCP 客户端的文档。
总结
Charly Memory Cache 服务器作为一个透明的缓存层,能够有效减少 MCP 客户端与语言模型交互时的 Token 消耗,并提升数据访问速度。您只需简单配置即可启用,无需修改现有的 MCP 客户端代码。
信息
分类
AI与计算