Bunnyshell MCP Server について
Bunnyshell MCP Server は `bns` CLI を通じて、AI アシスタントから Bunnyshell のリソースを管理できるようにします。組織、プロジェクト、環境、コンポーネント、変数、シークレット、リモート開発セッション向けのツールを備えています。
主な機能
- 01組織の一覧表示と切り替え
- 02プロジェクトの作成と管理
- 03環境のライフサイクル操作
- 04コンポーネントのデプロイとデバッグ
- 05変数とシークレットの管理
- 06リモート開発とポート転送
活用シーン
- 01組織とプロジェクトの一覧確認
- 02プロジェクト環境の起動や停止
- 03コンポーネントのデプロイやデバッグ
- 04環境変数とシークレットの管理
MCP 対応
AI アシスタント向けに、`bns` CLI 経由で Bunnyshell を操作するツールを公開します。認証には `BNS_API_KEY` 環境変数のほか、対応するトークン入力方法を利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Bunnyshell MCP Server
Bunnyshell CLI を通じて Bunnyshell プラットフォームと連携するための、Model Context Protocol(MCP)サーバーの実装です。
概要
このプロジェクトでは、AI アシスタント(Claude など)が Bunnyshell CLI(bns)を使用して Bunnyshell プラットフォームとやり取りできる MCP サーバーを作成します。このサーバーは、自然言語のコマンドを通じて Bunnyshell のリソースを管理するための一連のツールを提供します。
特長
- 組織管理:組織の一覧表示と移動
- プロジェクト管理:プロジェクトの作成、一覧表示、削除
- 環境管理:環境の作成、一覧表示、起動、停止、削除
- コンポーネント操作:コンポーネントのデプロイ、デバッグ、SSH 接続
- 変数とシークレットの管理:環境変数とシークレットの管理
- リモート開発:リモート開発セッションの開始とポートフォワーディングの設定
前提条件
- Node.js 18 以降および npm
- Bunnyshell CLI(
bns)がインストールされ、設定済みであること - Claude Desktop
- Docker および Docker Compose(Docker セットアップ用)
インストール
ローカルでのセットアップ
- リポジトリをクローンします。
git clone https://github.com/bunnyshell/bns-mcp.git
cd bns-mcp
- セットアップスクリプトを実行します。
./setup.sh
Docker セットアップ
- リポジトリをクローンします。
git clone https://github.com/bunnyshell/bns-mcp.git
cd bns-mcp
- Docker セットアップスクリプトを実行します。
./docker-setup.sh
使用方法
- Claude Desktop を起動または再起動します
- Claude との新しい会話を開始します
- 「+」をクリックして添付ファイルを追加し、「Connect to MCP server」を選択します
- サーバーの一覧から「bunnyshell-mcp」を選択します
- Bunnyshell API トークンを設定します。
token: YOUR_API_TOKEN
コマンドの例
Claude に次のように依頼できます。
- 「自分の組織を一覧表示して」
- 「組織 ABC123 に「MyProject」という新しいプロジェクトを作成して」
- 「プロジェクト XYZ789 のすべての環境を一覧表示して」
- 「環境 ENV123 を起動して」
- 「コンポーネント COMP456 をデプロイして」
- 「環境 ENV123 に「DATABASE_URL」という変数を作成して」
開発
プロジェクト構成
.
├── src/
│ ├── tools.ts # Tool implementations
│ ├── utils.ts # Utility functions
│ └── index.ts # Server entry point
├── .cursor/
│ └── mcp.json # Cursor MCP configuration
├── setup.sh # Local setup script
├── docker-setup.sh # Docker setup script
└── README.md # Documentation
Cursor MCP の設定
.cursor/mcp.json ファイルには、Cursor の MCP サーバー設定が含まれています。
{
"mcpServers": {
"bunnyshell-mcp": {
"command": "node",
"args": ["dist/index.js"],
"env": {
"BNS_API_KEY": "YOUR_API_TOKEN_HERE"
}
}
}
}
Docker セットアップの場合は、次を使用します。
{
"mcpServers": {
"bunnyshell-mcp": {
"command": "docker",
"args": ["exec", "-i", "bns-mcp-server", "node", "dist/index.js"],
"env": {
"BNS_API_KEY": "YOUR_API_TOKEN_HERE"
}
}
}
}
注: Bunnyshell API トークンを env セクションに追加すると、各コマンドでトークンを指定しなくても、MCP サーバーが自動的に認証に使用します。コードはすでに BNS_API_KEY 環境変数を確認します。これは、開発や個人での使用に特に便利です。共有環境では、設定ファイルにトークンを含めず、会話中に指定することをおすすめします。
ビルド
npm install
npm run build
テストの実行
npm test
セキュリティ
- API トークンがコードや設定ファイルに保存されることはありません
- トークンは次の方法で指定できます。
- コマンドラインオプション
- 環境変数(BNS_API_KEY)
- セッションストレージ(一時的で、メモリ内にのみ保存)
- コマンドのログには機密情報が含まれません
コントリビューション
- リポジトリをフォークします
- フィーチャーブランチを作成します
- 変更をコミットします
- ブランチにプッシュします
- Pull Request を作成します
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。