🚀 MCP Secure Installer (mcp-sinstaller
)
このプロジェクトは、GitHubリポジトリから他のMCPサーバーを自動的にインストールし、コンテナ化するMCPサーバーインストーラーを提供します。Model Context Protocol (MCP)のサンプリング機能を使用してリポジトリを分析し、適切なDockerイメージを作成します。
https://github.com/user-attachments/assets/6ad17a8b-c88f-4cba-abea-3a1f5288ed3c
📦 インストール
必要条件
- Docker
- サンプリングが有効になったMCPクライアント
VS Code Insidersでのサンプリングの有効化 (推奨)
VSコードの設定に以下を追加します。
"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/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サーバーをインストールします。
sampling (MCP Server):
Input:
{
"url": "https://github.com/github/github-mcp-server"
}
Output:
MCPサーバー 'github-mcp-server' のDockerイメージを正常にビルドしました!
Repository: https://github.com/github/github-mcp-server
Location: /Users/mossaka/.mcp-installer/servers/github-mcp-server
DOCKER IMAGE:
- 既存のDockerfileを使用
- Image: mcp-installer-github-mcp-server
- Size & Created: REPOSITORY:TAG SIZE CREATED AT
mcp-installer-github-mcp-server:latest 59.5MB 2025-06-09 14:52:46 -0700 PDT
- Ports: {}
- Environment Variables: ['GITHUB_PERSONAL_ACCESS_TOKEN', 'GITHUB_TOOLSETS', 'GITHUB_DYNAMIC_TOOLSETS', 'GITHUB_READ_ONLY', 'GITHUB_HOST']
- Required Secrets: ['GITHUB_PERSONAL_ACCESS_TOKEN']
- Metadata: /Users/mossaka/.mcp-installer/servers/github-mcp-server/metadata.json
コンテナを実行するには (STDIO Transport):
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 personal access token (required) -e GITHUB_TOOLSETS=Comma-separated list of toolsets to enable (optional) -e GITHUB_DYNAMIC_TOOLSETS=Set to 1 to enable dynamic tool discovery (optional) -e GITHUB_READ_ONLY=Set to 1 to enable read-only mode (optional) -e GITHUB_HOST=Custom GitHub API endpoint for GitHub Enterprise (optional) -e GITHUB_PERSONAL_ACCESS_TOKEN=${GITHUB_PERSONAL_ACCESS_TOKEN} mcp-installer-github-mcp-server
注意: このサーバーはSTDIOトランスポート (標準入出力通信) を使用します。
- コンテナは対話的に実行されます (-iフラグ)
- コンテナが終了すると自動的に削除されます (--rmフラグ)
- 標準入出力を使用するため、ポートマッピングは必要ありません
3. コンテナを停止するには:
実行中のターミナルでCtrl+Cを押します
4. MCPクライアントでのバックグラウンド操作:
MCPクライアントを使用してサブプロセス/STDIO経由で接続します
素晴らしい!GitHub MCPサーバーのインストールが正常に完了し、Dockerイメージがビルドされました。
インストールされた内容は以下の通りです。
Server Name: github-mcp-server
Repository: https://github.com/github/github-mcp-server
Docker Image: mcp-installer-github-mcp-server:latest (59.5MB)
Transport Type: STDIO (標準入出力を介して通信)
Required Configuration: サーバーはGitHubのAPIとの認証にGITHUB_PERSONAL_ACCESS_TOKEN環境変数を必要とします。
オプションの環境変数:
GITHUB_TOOLSETS: 有効にするツールセットのカンマ区切りリスト
GITHUB_DYNAMIC_TOOLSETS: 動的ツール検出を有効にするには1に設定
GITHUB_READ_ONLY: 読み取り専用モードを有効にするには1に設定
GITHUB_HOST: GitHub Enterprise用のカスタムGitHub APIエンドポイント
サーバーは使用可能な状態です。実行するには、GitHubの個人アクセストークンを設定し、MCPクライアントとの通信にSTDIOトランスポートを使用してDockerコンテナを実行する必要があります。
その後、エージェントの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サーバーをインストールします。
sampling (MCP Server)
Input:
{
"url": "https://github.com/modelcontextprotocol/servers/tree/typescript-servers-0.6.2/src/fetch"
}
Output:
MCPサーバー 'modelcontextprotocol-servers-fetch' のDockerイメージを正常にビルドしました!
Repository: https://github.com/modelcontextprotocol/servers/tree/typescript-servers-0.6.2/src/fetch
Location: /Users/mossaka/.mcp-sinstaller/servers/modelcontextprotocol-servers-fetch
DOCKER IMAGE:
- 新しいDockerfileを生成
- Image: mcp-sinstaller-modelcontextprotocol-servers-fetch
- Size & Created: REPOSITORY:TAG SIZE CREATED AT
mcp-sinstaller-modelcontextprotocol-servers-fetch:latest 654MB 2025-06-09 16:28:35 -0700 PDT
- Ports: {}
- Environment Variables: []
- Required Secrets: []
- Metadata: /Users/mossaka/.mcp-sinstaller/servers/modelcontextprotocol-servers-fetch/metadata.json
コンテナを実行するには (STDIO Transport):
1. 必要な環境変数を設定します (必要な場合):
シークレットは必要ありません
2. コンテナを対話的に実行します:
docker run -i --rm --name mcp-modelcontextprotocol-servers-fetch-container mcp-sinstaller-modelcontextprotocol-servers-fetch
注意: このサーバーはSTDIOトランスポート (標準入出力通信) を使用します。
- コンテナは対話的に実行されます (-iフラグ)
- コンテナが終了すると自動的に削除されます (--rmフラグ)
- 標準入出力を使用するため、ポートマッピングは必要ありません
3. MCPクライアントを使用してサブプロセス/STDIOトランスポート経由で接続します
✅ Fetch MCPサーバーのインストールが正常に完了しました!
サーバーがビルドされ、使用可能な状態です。以下は主要な詳細です。
Server Information:
Name: modelcontextprotocol-servers-fetch
Repository: https://github.com/modelcontextprotocol/servers/tree/typescript-servers-0.6.2/src/fetch
Transport: STDIO (標準入出力)
Image Size: 654MB
VS Code
"fetch": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"mcp-sinstaller-modelcontextprotocol-servers-fetch"
]
},