返回 MCP 目录
public公开dns本地运行

mcp-sinstaller

MCP安全安装器是一个自动化工具,用于从GitHub仓库安装并容器化MCP服务器,支持多服务器管理。

article

README

🚀 MCP安全安装器 (mcp-sinstaller)

本项目提供了一个MCP服务器安装器,它能够从GitHub仓库自动安装并将其他MCP服务器容器化。该安装器利用模型上下文协议(MCP)采样功能来分析仓库,并创建合适的Docker镜像。

点击查看相关链接

🚀 快速开始

✨ 主要特性

  • 可从GitHub仓库自动安装并容器化MCP服务器。
  • 利用MCP采样功能分析仓库并创建Docker镜像。
  • 采用结构化命名方案避免多服务器安装时的命名冲突。

📦 安装指南

要求

  • Docker
  • 启用采样功能的MCP客户端

在VS Code Insiders中启用采样(推荐)

在VS Code设置中添加以下内容:

"chat.mcp.serverSampling": {
    "Global in Code - Insiders: sampling": {
        "allowedDuringChat": true
    }
}

💻 使用示例

基础用法

在VS Code中运行服务器(推荐)
  1. uvx 首先,克隆仓库:
git clone https://github.com/semcp/mcp-sinstaller.git

然后,在VS Code设置中添加以下内容:

"mcp-sinstaller": {
    "type": "stdio",
    "command": "uvx",
    "args": [
            "--from",
            "/path/to/mcp-sinstaller",
            "python",
            "/path/to/mcp-sinstaller/mcp_installer.py"
    ]
}

高级用法

服务器命名与多服务器安装

安装器采用结构化命名方案:owner-repo-servername,以避免从同一仓库安装多个服务器时出现命名冲突。

示例

  • https://github.com/modelcontextprotocol/servers/tree/main/src/fetchmodelcontextprotocol-servers-fetch
  • https://github.com/modelcontextprotocol/servers/tree/main/src/filesystemmodelcontextprotocol-servers-filesystem
  • https://github.com/github/github-mcp-servergithub-github-mcp-server

这使得你可以从modelcontextprotocol/servers等仓库安装多个MCP服务器而不会产生命名冲突。

示例(GitHub MCP服务器)

提示:"install https://github.com/github/github-mcp-server"

GitHub Copilot:
我将从你指定的仓库安装GitHub MCP服务器。

采样(MCP服务器):

输入:
{
  "url": "https://github.com/github/github-mcp-server"
}

输出:
已成功为MCP服务器'github-mcp-server'构建Docker镜像!

仓库:https://github.com/github/github-mcp-server
位置:/Users/mossaka/.mcp-installer/servers/github-mcp-server

Docker镜像:
- 使用现有Dockerfile
- 镜像:mcp-installer-github-mcp-server
- 大小与创建时间:REPOSITORY:TAG                           SIZE      CREATED AT
mcp-installer-github-mcp-server:latest   59.5MB    2025-06-09 14:52:46 -0700 PDT
- 端口:{}
- 环境变量:['GITHUB_PERSONAL_ACCESS_TOKEN', 'GITHUB_TOOLSETS', 'GITHUB_DYNAMIC_TOOLSETS', 'GITHUB_READ_ONLY', 'GITHUB_HOST']
- 必需的密钥:['GITHUB_PERSONAL_ACCESS_TOKEN']
- 元数据:/Users/mossaka/.mcp-installer/servers/github-mcp-server/metadata.json

运行容器(STDIO传输):

1. 设置必需的环境变量(如果有):
export GITHUB_PERSONAL_ACCESS_TOKEN=your_actual_github_personal_access_token_here

2. 交互式运行容器:
   docker run -i --rm --name mcp-github-mcp-server-container -e GITHUB_PERSONAL_ACCESS_TOKEN=GitHub个人访问令牌(必需) -e GITHUB_TOOLSETS=要启用的工具集逗号分隔列表(可选) -e GITHUB_DYNAMIC_TOOLSETS=设置为1以启用动态工具发现(可选) -e GITHUB_READ_ONLY=设置为1以启用只读模式(可选) -e GITHUB_HOST=GitHub Enterprise的自定义GitHub API端点(可选) -e GITHUB_PERSONAL_ACCESS_TOKEN=${GITHUB_PERSONAL_ACCESS_TOKEN} mcp-installer-github-mcp-server

注意:此服务器使用STDIO传输(标准输入/输出通信)。
   - 容器交互式运行(-i标志)
   - 容器退出时将自动移除(--rm标志)
   - 由于使用标准输入/输出,无需端口映射

3. 停止容器:
   在运行容器的终端中按Ctrl+C

4. 使用MCP客户端进行后台操作:
   使用你的MCP客户端通过子进程/标准输入/输出进行连接

太棒了!GitHub MCP服务器已成功安装。安装完成并构建了Docker镜像。

以下是已安装的内容:

服务器名称:github-mcp-server
仓库:https://github.com/github/github-mcp-server
Docker镜像:mcp-installer-github-mcp-server:latest(59.5MB)
传输类型:STDIO(通过标准输入/输出通信)
必需配置:服务器需要一个GITHUB_PERSONAL_ACCESS_TOKEN环境变量来与GitHub的API进行身份验证。

可选环境变量:
GITHUB_TOOLSETS:要启用的工具集逗号分隔列表
GITHUB_DYNAMIC_TOOLSETS:设置为1以启用动态工具发现
GITHUB_READ_ONLY:设置为1以启用只读模式
GITHUB_HOST:GitHub Enterprise的自定义GitHub API端点
服务器现已可以使用。要运行它,你需要设置GitHub个人访问令牌,然后使用STDIO传输运行Docker容器以与MCP客户端进行通信。

之后,你可以在代理的MCP设置中使用docker运行容器。

VS Code配置

"github": {
    "type": "stdio",
    "command": "docker",
    "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN=<PAT>",
        "mcp-installer-github-mcp-server"
    ]
}
示例(fetch服务器)

提示:"install https://github.com/modelcontextprotocol/servers/tree/typescript-servers-0.6.2/src/fetch"

我将从你提供的特定路径安装fetch MCP服务器。

采样(MCP服务器)

输入:
{
  "url": "https://github.com/modelcontextprotocol/servers/tree/typescript-servers-0.6.2/src/fetch"
}

输出:
已成功为MCP服务器'modelcontextprotocol-servers-fetch'构建Docker镜像!

仓库:https://github.com/modelcontextprotocol/servers/tree/typescript-servers-0.6.2/src/fetch
位置:/Users/mossaka/.mcp-sinstaller/servers/modelcontextprotocol-servers-fetch

Docker镜像:
- 生成新的Dockerfile
- 镜像:mcp-sinstaller-modelcontextprotocol-servers-fetch
- 大小与创建时间:REPOSITORY:TAG                                             SIZE      CREATED AT
mcp-sinstaller-modelcontextprotocol-servers-fetch:latest   654MB     2025-06-09 16:28:35 -0700 PDT
- 端口:{}
- 环境变量:[]
- 必需的密钥:[]
- 元数据:/Users/mossaka/.mcp-sinstaller/servers/modelcontextprotocol-servers-fetch/metadata.json

运行容器(STDIO传输):

1. 设置必需的环境变量(如果有):
   无需密钥

2. 交互式运行容器:
   docker run -i --rm --name mcp-modelcontextprotocol-servers-fetch-container mcp-sinstaller-modelcontextprotocol-servers-fetch

注意:此服务器使用STDIO传输(标准输入/输出通信)。
   - 容器交互式运行(-i标志)
   - 容器退出时将自动移除(--rm标志)
   - 由于使用标准输入/输出,无需端口映射

3. 使用你的MCP客户端通过子进程/标准输入/输出传输进行连接

✅ Fetch MCP服务器已成功安装!

服务器已构建并可以使用。以下是关键详细信息:

服务器信息:
名称:modelcontextprotocol-servers-fetch
仓库:https://github.com/modelcontextprotocol/servers/tree/typescript-servers-0.6.2/src/fetch
传输:STDIO(标准输入/输出)
镜像大小:654MB

VS Code配置

"fetch": {
    "type": "stdio",
    "command": "docker",
    "args": [
        "run",
        "-i",
        "--rm",
        "mcp-sinstaller-modelcontextprotocol-servers-fetch"
    ]
}
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端