Back to MCP directory
publicPublicdnsLocal runtime

ibproduct_ib-mcp-cache-server

一个基于MCP协议的内存缓存服务器,通过高效缓存语言模型交互数据来减少token消耗,支持自动管理和配置优化。

article

README

🚀 内存缓存服务器

内存缓存服务器是一个模型上下文协议(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. 项目导航测试
    • 探索项目的结构
    • 再次查询相同的文件/目录
    • 目录列表和文件内容将从缓存中提供

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

  • 重复操作的响应速度更快
  • 对未更改内容的答案一致
  • 不需要重新读取未更改的文件
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client