🚀 MCP安全安装器 (mcp-sinstaller
)
本项目提供了一个 MCP服务器安装器,它能够自动从GitHub仓库中安装并将其他MCP服务器容器化。该安装器利用模型上下文协议(MCP)采样功能来分析仓库,并创建合适的Docker镜像。
点击查看相关内容
🚀 快速开始
✨ 主要特性
- 可自动从GitHub仓库安装并容器化其他MCP服务器。
- 利用模型上下文协议(MCP)采样功能分析仓库并创建Docker镜像。
📦 安装指南
要求
在VS Code Insiders中启用采样(推荐)
在VS Code设置中添加以下内容:
"chat.mcp.serverSampling": {
"Global in Code - Insiders: sampling": {
"allowedDuringChat": true
}
}
💻 使用示例
基础用法
在VS Code中运行服务器(推荐)
- 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/fetch
→ modelcontextprotocol-servers-fetch
https://github.com/modelcontextprotocol/servers/tree/main/src/filesystem
→ modelcontextprotocol-servers-filesystem
https://github.com/github/github-mcp-server
→ github-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"
]
}