Memory Cache Server

项目简介

Memory Cache Server 是一个实现了 Model Context Protocol (MCP) 的服务器,旨在通过在内存中缓存数据来优化语言模型应用的性能和成本。它可以作为 MCP 客户端的后端服务,自动缓存和管理数据,减少重复请求,从而降低与语言模型交互时的 Token 消耗。

主要功能点

  • 数据缓存: 自动缓存读取的资源和工具的计算结果,避免重复请求,减少Token消耗。
  • 可配置的缓存策略: 支持通过配置文件或环境变量设置缓存的最大条目数、最大内存使用量、默认缓存时间 (TTL) 等参数。
  • 缓存管理工具: 提供工具 (Tools) 用于手动存储、检索、清除缓存数据,以及获取缓存状态信息。
  • 实时缓存统计: 提供资源 (Resources) 'cache://stats',客户端可以读取该资源获取缓存的实时性能指标,如命中率、内存使用量等。
  • 易于集成: 可以通过 Smithery 或手动方式安装,并能与任何 MCP 客户端配合使用。

安装步骤

手动安装

  1. 克隆仓库:

    git clone https://github.com/tosin2013/mcp-memory-cache-server.git
    cd mcp-memory-cache-server
  2. 安装依赖:

    npm install
  3. 构建项目:

    npm run build

使用 Smithery 安装 (Claude 客户端示例)

npx -y @smithery/cli install @tosin2013/mcp-memory-cache-server --client claude

服务器配置

要将 Memory Cache Server 添加到 MCP 客户端,您需要在客户端的 MCP 服务器配置中添加以下 JSON 配置。 请注意,这里的路径 '/path/to/ib-mcp-cache-server/build/index.js' 需要替换为 Memory Cache Server 实际的安装路径。

{
  "mcpServers": {
    "memory-cache": {
      "command": "node",
      "args": ["/path/to/ib-mcp-cache-server/build/index.js"]
    }
  }
}

配置参数说明:

  • 'server name': 'memory-cache' (服务器名称,可以自定义)
  • 'command': 'node' (启动命令,Node.js 运行时)
  • 'args': '["/path/to/ib-mcp-cache-server/build/index.js"]' (启动参数,指向编译后的 'index.js' 文件)

高级配置 (可选)

您可以通过 'config.json' 文件或环境变量进一步配置服务器的行为,例如:

  • 'maxEntries': 缓存最大条目数 (默认: 1000)
  • 'maxMemory': 缓存最大内存使用量,单位为字节 (默认: 100MB)
  • 'defaultTTL': 默认缓存时间,单位为秒 (默认: 1小时)
  • 'checkInterval': 检查过期缓存条目的间隔,单位为毫秒 (默认: 1分钟)
  • 'statsInterval': 更新缓存统计信息的间隔,单位为毫秒 (默认: 30秒)

'config.json' 示例:

{
  "maxEntries": 2000,
  "maxMemory": 209715200,  // 200MB
  "defaultTTL": 7200      // 2 小时
}

环境变量配置示例 (MCP 客户端配置):

{
  "mcpServers": {
    "memory-cache": {
      "command": "node",
      "args": ["/path/to/build/index.js"],
      "env": {
        "MAX_ENTRIES": "2000",
        "MAX_MEMORY": "209715200",
        "DEFAULT_TTL": "7200"
      }
    }
  }
}

基本使用方法

  1. 启动服务器: 当 MCP 客户端启动并尝试连接到配置的 "memory-cache" 服务器时,服务器会自动启动 (如果配置正确)。您应该能在运行服务器的终端看到 "Memory Cache MCP server running on stdio" 的消息。

  2. 使用缓存工具: 您可以使用 MCP 客户端调用以下工具与缓存服务器交互:

    • 'store_data': 存储数据到缓存。
    • 'retrieve_data': 从缓存检索数据。
    • 'clear_cache': 清除缓存数据。
    • 'get_cache_stats': 获取缓存统计信息。

    具体工具的使用方法和参数,请参考 MCP 客户端的工具调用方式。

  3. 查看缓存统计: 在 MCP 客户端中,您可以读取 'cache://stats' 资源来获取缓存的实时统计信息,例如命中率,用于监控缓存效果。

示例场景:

  • 在 LLM 应用中,多次读取同一个文件或执行相同的计算密集型操作时,Memory Cache Server 可以自动缓存结果,加速后续访问,并减少 Token 消耗。
  • 您可以使用 'store_data' 工具手动将一些需要频繁访问但变动不频繁的数据预先加载到缓存中。
  • 通过 'get_cache_stats' 资源,您可以了解缓存的命中率,并根据实际情况调整缓存配置参数。

信息

分类

AI与计算