Token导航 LogoToken导航TokenDH.com
MCP Shim logo
AI代理未说明官方级别未说明来源级核验

MCP Shim

MCP Server

mcp-shim是一个进程包装工具,确保在父连接关闭时正确终止MCP服务器子进程。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
进程管理RustAI代理

安装说明

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

作者 / 组织

cbgbt

提供方

cbgbt

最后核验

2026/5/17 20:23

快速接入

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

详细介绍

mcp垫片

一个进程包装器,确保MCP服务器子进程在父连接关闭时正确终止。

问题

MCP(模型上下文协议)服务器通常由主机应用程序作为子进程生成。当主机终止时,它应该清理这些子进程。然而,许多MCP主机没有正确跟踪和终止其子进程,导致泄漏的进程继续在后台运行。

这对于产生它们自己的子进程的MCP服务器来说尤其成问题(例如。, uvx, npx,或其他进程启动器),因为整个进程树可以是孤立的。

解决方案

mcp-shim 包装MCP服务器命令并:

  1. 在其自己的进程组中生成子进程
  2. 透明地转发stdin/stdout/stderr
  3. 将信号(SIGTERM、SIGINT、SIGHUP)转发给子进程组
  4. 当stdin关闭时,杀死整个进程组(表示主机已断开连接)

安装

docker pull ghcr.io/cbgbt/mcp-shim:latest

用法

将MCP服务器命令包装为 mcp-shim:

mcp-shim  [args...]

示例:MCP服务器配置

如果没有垫片,MCP服务器可能会按如下方式配置:

{
  "mcpServers": {
    "my-server": {
      "command": "uvx",
      "args": ["some-mcp-server"]
    }
  }
}

使用垫片,包裹命令以确保正确清理:

{
  "mcpServers": {
    "my-server": {
      "command": "mcp-shim",
      "args": ["uvx", "some-mcp-server"]
    }
  }
}

运作原理

  1. 垫片在新的进程组中生成您的命令(setpgid(0, 0))
  2. Stdin、stdout和stderr是透明转发的
  3. 当stdin达到EOF(主机断开连接)时,填充程序向进程组发送SIGTERM,短暂等待,然后发送SIGKILL
  4. 垫片接收到的信号被转发给子进程组

许可证

麻省理工学院或阿帕奇-2.0

目录标签

目录标签

进程管理RustAI代理本地部署MCP协议子进程控制进程组资源清理

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP