openstack-mcp
openstack-mcp
AIアシスタントがOpenStackクラウドを調査・操作できるようにするMCPサーバーです。インスタンスの一覧表示、クォータの確認、停止したVMのコンソールログの読み取り、そして(許可した場合)サーバーの作成・削除ができます。
CloudPe、OVHcloud、Infomaniak、大学や研究機関のクラウド、ローカルのDevStackなど、あらゆるOpenStackデプロイメントで動作します。openstacksdkが到達できるものなら、このサーバーで操作できます。
デフォルトでは読み取り専用です。 書き込みには明示的なオプトインが必要で、削除にはさらに別のオプトインが必要です。プロジェクトを一覧表示できるアシスタントが、あなたが許可しない限り、プロジェクトを破壊することはできません。
クイックスタート
ソースからインストールします(まだPyPIにはありません):
pipx install git+https://github.com/abhishekambad-leapswitch/openstack-mcpクラウドを指定します。openstacksdkは標準のOpenStack設定を読み取るため、clouds.yamlを使うか:
# ~/.config/openstack/clouds.yaml
clouds:
cloudpe:
auth_type: v3applicationcredential
auth:
auth_url: https://<your-region>.cloudpe.com:5000/v3
application_credential_id: <id>
application_credential_secret: <secret>
region_name: RegionOne...または通常の環境変数(OS_AUTH_URL、OS_APPLICATION_CREDENTIAL_ID、OS_APPLICATION_CREDENTIAL_SECRET)を使います。このサーバーは資格情報を保存・送信しません — openstacksdkに委譲し、openstack CLIと同じ方法で解決します。
Claude Code
claude mcp add openstack --env OS_CLOUD=cloudpe -- openstack-mcpClaude Desktop / Cursor / その他のMCPクライアント
{
"mcpServers": {
"openstack": {
"command": "openstack-mcp",
"env": { "OS_CLOUD": "cloudpe" }
}
}
}その後、「どのVMがダウンしていますか?」、「m1.largeをあと3台作成するクォータはありますか?」、「web-03がSSHを受け付けないので、コンソールログを確認してください」 などの質問ができます。
信頼する前に配線を確認するには、ドライチェックを実行します。接続やサーバー起動なしで、解決された設定と公開されるツールを正確に表示します:
openstack-mcp --checkopenstack-mcp 0.1.0
cloud: cloudpe
mode: read-only
max items per list: 50
12 tools: check_capacity, cloud_info, get_console_output, get_quotas, get_server,
list_flavors, list_images, list_keypairs, list_networks, list_security_groups,
list_servers, list_volumes安全モデル
ほとんどのクラウドMCPサーバーは、アシスタントに完全なAPIを渡してうまくいくことを期待します。このサーバーはゲート付きです。「テストVMを削除」という文はモデルが誤解する可能性があるからです。
環境変数 | 効果 |
(未設定) | 読み取り専用。 12の調査ツール。書き込みツールは登録されません — モデルはそれらを表示も呼び出しもできません。 |
|
|
|
|
| 任意のリストツールが返す項目数を制限します。 |
| 使用する |
さらに2つのガードレール:
delete_serverは確認を要求します。 解決されたインスタンスの正確な名前と一致するconfirm_nameを渡す必要があります。VMがweb-01という名前なのにweb-1を削除するよう依頼すると、推測せずに拒否します。ツールにはMCPアノテーション(
read_only_hint、destructive_hint)が付いており、ツールを実行する前にリスクをユーザーに提示するクライアントが正しく行えます。
ツールのゲートはモデルに丁寧に頼むのではなく、登録時に強制されます — テストスイートで実際のstdioセッションを通じて検証されています。
ツール
読み取り(常に利用可能)
ツール | 目的 |
| 接続先のクラウド、リージョン、プロジェクト、有効な操作を表示 |
| ステータスとIPを持つインスタンス。ステータスまたは名前の部分文字列でフィルタリング |
| 1つのインスタンスの詳細:フレーバー、イメージ、キーペア、セキュリティグループ、アドレス |
| vCPU、RAM、ディスクを含むインスタンスサイズ |
| 起動可能なイメージ |
| ネットワーク。外部ネットワークをフラグ付け |
| セキュリティグループとルール数 |
| 登録済みSSHキーペア |
| ブロックストレージボリュームとその接続先 |
| コンピュートクォータの使用量と制限 |
| 指定したフレーバーのNインスタンスが残りクォータに収まるか、収まらない場合の原因を報告 |
| シリアルコンソールログ — 起動するが到達できないVM用 |
書き込み(オプトイン)
ツール | 目的 |
| 1つまたは複数のインスタンスを作成。 |
| start / stop / reboot |
| 1つのインスタンスを削除。名前の確認が必要 ( |
知っておくべき2つの設計上の選択
レスポンスは意図的に小さくしています。 openstacksdkはサーバーごとに60以上の属性を返します。それらすべてをモデルに渡すと遅く、コストがかかり、有用なフィールドが埋もれてしまいます。そのため、各ツールはトリミングされたプロジェクションを返します — サーバーの場合、id、name、status、そしてnovaのネストされたアドレス構造の代わりに、フラットな {network: [ips]} マップです。
check_capacity はバッチが早期に失敗するために存在します。 8台のVMを要求して、5台目でクォータ上限に達すると、中途半端な状態が残ります。これは、何も作成する前に、インスタンス/vCPU/RAMのどれが最初に制約になるかを報告します。create_servers も、成功した部分を破棄せずに、インスタンスごとの部分的な失敗を報告します。
開発
git clone https://github.com/abhishekambad-leapswitch/openstack-mcp
cd openstack-mcp
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest && ruff check .スイートは、偽の openstacksdk 接続に対して完全にオフラインで実行されます — クラウドも資格情報も料金も不要です。ツールのゲート、トリミング、クォータ計算、部分的な失敗の報告、削除確認をカバーします。
大規模なプロビジョニング
会話的にではなく宣言的にフリートを立ち上げる場合は、cloudpe-terraform-bulk-vm を参照してください — 同じAPIでの一括VM作成用のTerraformです。
ライセンス
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/abhishekambad-leapswitch/openstack-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server