MCP服务器延迟启动工具

轻量级MCP服务器代理工具,通过缓存发现响应实现按需启动服务器,优化资源使用效率。

  • by developit
  • Shell
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 developit/mcp-later

使用说明

mcp稍后

一个命令,使MCP服务器在实际使用之前处于空闲状态。

mcp-later 是一个轻量级的代理,可以封装任何 主控程序 stdio服务器。它缓存发现响应(tools/list, prompts/list等)到磁盘,以及 在实际需要之前不会启动真正的服务器 (例如。, tools/call).

的问题

每次启动Claude Code会话时,都会生成所有配置的MCP服务器,以列出它们的工具。如果你有 browser-mcp 在全局配置后,Chrome会立即被接管——即使你从未使用过浏览器工具。

修复

用以下命令包装任何MCP服务器命令 mcp-later发现响应由本地磁盘缓存提供,真正的服务器只有在实际调用工具时才会启动。

npm i -g mcp-later

mcp-later 是一个大约300行的bash脚本,没有依赖关系。

用法

克劳德代码

更改MCP服务器配置如下:

{
  "mcpServers": {
    "browser-mcp": {
      "command": "npx",
      "args": ["@browsermcp/mcp@latest"]
    }
  }
}

对此:

{
  "mcpServers": {
    "browser-mcp": {
      "command": "mcp-later",
      "args": ["npx", "@browsermcp/mcp@latest"]
    }
  }
}

就是这样。MCP服务器的工具会立即从缓存中显示出来,真正的服务器只有在调用工具时才会启动。

预热缓存

在第一次运行时, mcp-later 自动生成服务器以填充缓存。如果你想提前做到这一点:

mcp-later --warmup npx @browsermcp/mcp@latest

运作原理

  1. 阶段1(缓存): mcp-later 回应 initialize, tools/list, prompts/list,以及 resources/list 从磁盘缓存中。真正的服务器从未启动。

  2. 第2阶段(直通): 当非缓存请求到达时(例如。, tools/call),生成真实的服务器,重放init握手,以及 mcp-later 在会话的其余部分成为透明的双向管道。

缓存文件存储在 ~/.cache/mcp-later/ 默认情况下24小时后过期。

配置

所有配置都是通过环境变量进行的:

变量 默认值 描述
MCP_LATER_CACHE_DIR ~/.cache/mcp-later 缓存目录
MCP_LATER_TTL 86400 (24小时) 缓存寿命(秒)
MCP_LATER_DEBUG (未设置) 设置为任何值以启用stderr的调试日志记录

许可证

麻省理工学院