Ibproduct_ib Mcp Cache Server

Ibproduct_ib Mcp Cache Server

🚀 内存缓存服务器

内存缓存服务器是一个模型上下文协议(MCP)服务器,它能够在语言模型交互过程中高效缓存数据,从而减少代币消耗。该服务器与任何MCP客户端以及使用令牌的任何语言模型都兼容。

🚀 快速开始

安装

按照以下步骤安装内存缓存服务器:

  1. 克隆仓库:
git clone git@github.com:ibproduct/ib-mcp-cache-server
cd ib-mcp-cache-server
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build
  1. 添加到您的MCP客户端设置中:
{
"mcpServers": {
"memory-cache": {
"command": "node",
"args": ["/path/to/ib-mcp-cache-server/build/index.js"]
}
}
}
  1. 启用MCP客户端时,服务器会自动启动。

验证运行正常

当服务器正常运行时,您会在终端看到以下情况:

  1. 消息:“内存缓存MCP服务器在stdio上运行”
  2. 访问相同数据多次时性能提升
  3. 响应更快,尤其是对于重复操作

✨ 主要特性

减少代币消耗

服务器通过以下方式减少代币消耗:

  1. 自动缓存:所有响应都会被自动缓存,除非设置了Cache-Control: no-cache头。
  2. 过期机制:缓存条目会在设置的时间后自动失效。
  3. 命中率统计:服务器会跟踪缓存命中次数,并显示在控制台。

自动缓存管理

  1. 服务器启动时会加载配置文件并初始化缓存。
  2. 定期检查缓存空间使用情况,超过限制时自动清理。
  3. 支持设置最大内存占用,避免影响系统性能。

📦 安装指南

安装步骤

  1. 克隆仓库:
git clone git@github.com:ibproduct/ib-mcp-cache-server
cd ib-mcp-cache-server
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build
  1. 添加到MCP客户端设置:
{
"mcpServers": {
"memory-cache": {
"command": "node",
"args": ["/path/to/ib-mcp-cache-server/build/index.js"]
}
}
}
  1. 启用MCP客户端,服务器自动启动。

📚 详细文档

配置说明

所有配置参数如下:

属性 详情
MAX_ENTRIES 最大缓存条目数,默认为10000。
MAX_MEMORY 最大缓存占用内存,默认为500MB。
DEFAULT_TTL 默认缓存有效期,单位秒,默认3600秒(1小时)。
CHECK_INTERVAL 缓存检查间隔,默认60秒。
STATS_INTERVAL 统计信息更新间隔,默认60秒。

如何减少代币消耗

服务器通过自动缓存、过期机制和命中率统计来减少代币消耗。

自动缓存管理

服务器启动时加载配置文件并初始化缓存,定期检查缓存空间,支持设置最大内存占用。

优化技巧

  • 调整条目数:根据项目需求增加MAX_ENTRIES以提高命中率。
  • 延长有效期:适当增加DEFAULT_TTL可以减少缓存失效次数。
  • 监控使用情况:定期检查命中率和缓存大小,确保最佳性能。

环境变量配置

可以在MCP客户端中设置环境变量覆盖默认值:

{
"mcpServers": {
"memory-cache": {
"command": "node",
"args": ["/path/to/build/index.js"],
"env": {
"MAX_ENTRIES": "5000",
"MAX_MEMORY": "209715200",  // 200MB
"DEFAULT_TTL": "7200",      // 2 hours
"CHECK_INTERVAL": "120000",  // 2 minutes
"STATS_INTERVAL": "60000"    // 1 minute
}
}
}
}

您也可以指定一个自定义的配置文件路径:

{
"env": {
"CONFIG_PATH": "/path/to/your/config.json"
}
}

服务器将:

  1. 在其目录中查找默认配置文件
  2. 应用任何环境变量覆盖
  3. 如果未指定,则使用默认值

实际测试缓存效果

要观察缓存的实际效果,请尝试以下场景:

  1. 文件读取测试
    • 读取并分析一个大文件
    • 再次询问相同的问题
    • 第二次响应应该更快,因为文件内容已缓存
  2. 数据分析测试
    • 执行一些数据分析
    • 再次请求相同的分析
    • 第二次分析将使用缓存结果
  3. 项目导航测试
    • 探索项目的结构
    • 再次查询相同的文件/目录
    • 目录列表和文件内容将从缓存中提供

缓存正常工作时,您会注意到:

  • 重复操作的响应速度更快
  • 对未更改内容的答案一致
  • 不需要重新读取未更改的文件
  • 0 关注
  • 0 收藏,32 浏览
  • system 提出于 2025-09-20 01:27

相似服务问题

相关AI产品