Token导航 LogoToken导航TokenDH.com
MCP Session Manager logo
开发工具未说明官方级别未说明来源级核验

MCP Session Manager

MCP Server

MCP会话管理器是一个允许多个Claude Code会话共享MCP守护进程而不会发生SIGINT冲突的工具。

工具数

7

提示词数

0

GitHub Stars

0

资源数

0
会话管理TypeScriptClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Daichi-Kudo

提供方

Daichi-Kudo

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP会话管理器

](https://badge.fury.io/js/mcp-session-manager) ![License: MIT](https://opensource.org/licenses/MIT) ](https://nodejs.org)

允许多个Claude Code会话共享MCP守护进程,而不会发生SIGINT冲突。

问题

当同时运行多个Claude Code会话时,每个新会话都会向现有的MCP进程发送SIGINT,从而导致:

  • 会话断开连接:新会话会杀死现有会话的MCP
  • SQLite冲突:多个进程访问同一数据库
  • 国家隔离:内存状态(文件监视器、索引)未共享
  • 资源争用:进程冲突和崩溃

解决方案

此会话管理器引入了一个3层架构:

Session A                          Session B
    |                                  |
    v                                  v
[Proxy A] -------- HTTP -------- [MCP Daemon]
(stdio)            shared          (HTTP/SSE)
    |                                  |
[Claude A]                        [Claude B]
  1. Singleton Daemons:每个MCP都作为一个守护进程运行,为所有会话提供服务
  2. 标准代理:轻量级代理将Claude的stdio桥接到守护进程HTTP
  3. 信号情报保护:代理忽略信号,保护共享守护进程
  4. 自动启动:守护进程在第一次请求时自动启动

安装

来自npm(推荐)

npm install -g mcp-session-manager

来源

git clone https://github.com/daichi-kudo/mcp-session-manager.git
cd mcp-session-manager
npm install
npm run build

快速开始

1.生成Claude配置

# If installed globally
mcp-manager generate-config

# If installed from source
node dist/manager/index.js generate-config

这创造了 ~/.claude/mcp.json 使用代理配置。

2.重新启动克劳德代码

关闭并重新打开Claude Code。代理将根据需要自动启动守护进程。

3.验证

打开多个Claude Code会话-它们应该同时工作而不会发生冲突。

配置

克劳德代码(~/.claude/mcp.json)

{
  "mcpServers": {
    "memory": {
      "command": "node",
      "args": ["path/to/mcp-session-manager/dist/proxy/index.js", "--target", "memory"]
    },
    "code-index": {
      "command": "node",
      "args": ["path/to/mcp-session-manager/dist/proxy/index.js", "--target", "code-index"]
    },
    "ast-grep": {
      "command": "node",
      "args": ["path/to/mcp-session-manager/dist/proxy/index.js", "--target", "ast-grep"]
    }
  }
}

守护程序设置(src/shared/config.ts)

自定义守护进程配置:

{
  name: "memory",
  command: "node",
  args: ["path/to/memory-mcp-sqlite/dist/index.js", "--transport", "http", "--port", "3100"],
  port: 3100,
  transport: "streamable-http",
  env: { MEMORY_DB_PATH: "..." }
}

港口

守护进程默认端口传输
内存3100可流式传输http
代码索引3101可流式传输http(SSE响应)
希腊东部3102sse
管理器API3199HTTP

手动守护程序管理

启动管理器进行健康监控并自动重启:

# Start all daemons
mcp-manager --start-all

# Or from source
node dist/manager/index.js --start-all

API经理

端点方法描述
/pingGET健康检查
/statusGET所有守护进程状态
/startPOST启动守护进程({"name": "memory"})
/stopPOST停止守护进程
/ensurePOST确保守护进程正在运行(必要时启动)
/start-allPOST启动所有守护进程
/stop-allPOST停止所有守护进程

故障排除

检查守护进程状态

curl http://localhost:3199/status

查看守护进程日志

# Windows
type %USERPROFILE%\.mcp-session-manager\memory.log
type %USERPROFILE%\.mcp-session-manager\code-index.log

# macOS/Linux
cat ~/.mcp-session-manager/memory.log
cat ~/.mcp-session-manager/code-index.log

守护进程无法启动

  1. 检查端口是否已在使用中:
   # Windows
   netstat -ano | findstr :3100

   # macOS/Linux
   lsof -i :3100
  1. 删除过时的锁文件:
   # Windows
   del %USERPROFILE%\.mcp-session-manager\*.lock

   # macOS/Linux
   rm ~/.mcp-session-manager/*.lock

会话仍然断开连接

  1. 验证是否在中配置了代理 ~/.claude/mcp.json
  2. 检查Claude Code的MCP输出中的代理日志
  3. 确保守护进程正在运行: curl http://localhost:3100/health

重新启动卡住的守护进程

curl -X POST http://localhost:3199/stop -d '{"name":"memory"}'
curl -X POST http://localhost:3199/start -d '{"name":"memory"}'

手动清理(Windows)

# Remove lock files
Remove-Item $env:USERPROFILE\.mcp-session-manager\*.lock

# Kill orphaned processes
Get-Process node | Where-Object {$_.CommandLine -like "*mcp*"} | Stop-Process -Force

手动清理(macOS/Linux)

# Remove lock files
rm ~/.mcp-session-manager/*.lock

# Kill orphaned processes
pkill -f "mcp-session-manager"

建筑

建筑.md 详细的设计文档。

需求

  • Node.js 20+
  • Windows、macOS或Linux
  • 支持HTTP/SSE传输的现有MCP服务器

支持的MCP

MCP运输注意事项
内存mcp sqlite可流式传输http需要 --transport http 旗帜
代码索引mcp可流式httpSSE响应,需要FastMCP
ast grep mcpsse弃用的mcp 2024-11-05格式

贡献

  1. 克隆该仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

许可证

MIT许可证-请参阅 许可证 了解详情。

作者

工藤大一

相关项目

目录标签

目录标签

会话管理TypeScriptClaude本地部署进程共享冲突解决开发工具

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP