Skip to main content
Glama

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_URLOS_APPLICATION_CREDENTIAL_IDOS_APPLICATION_CREDENTIAL_SECRET)を使います。このサーバーは資格情報を保存・送信しませんopenstacksdkに委譲し、openstack CLIと同じ方法で解決します。

Claude Code

claude mcp add openstack --env OS_CLOUD=cloudpe -- openstack-mcp

Claude Desktop / Cursor / その他のMCPクライアント

{
  "mcpServers": {
    "openstack": {
      "command": "openstack-mcp",
      "env": { "OS_CLOUD": "cloudpe" }
    }
  }
}

その後、「どのVMがダウンしていますか?」「m1.largeをあと3台作成するクォータはありますか?」「web-03がSSHを受け付けないので、コンソールログを確認してください」 などの質問ができます。

信頼する前に配線を確認するには、ドライチェックを実行します。接続やサーバー起動なしで、解決された設定と公開されるツールを正確に表示します:

openstack-mcp --check
openstack-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の調査ツール。書き込みツールは登録されません — モデルはそれらを表示も呼び出しもできません。

OPENSTACK_MCP_ALLOW_WRITE=true

create_serverspower_action を追加(14ツール)。

OPENSTACK_MCP_ALLOW_DELETE=true

delete_server を追加(15ツール)。ALLOW_WRITEも必要です — 書き込みなしの削除は設定ミスとして扱われ、無視されます。

OPENSTACK_MCP_MAX_ITEMS=50

任意のリストツールが返す項目数を制限します。

OPENSTACK_MCP_CLOUD / OS_CLOUD

使用する clouds.yaml のエントリ。

さらに2つのガードレール:

  • delete_server は確認を要求します。 解決されたインスタンスの正確な名前と一致する confirm_name を渡す必要があります。VMが web-01 という名前なのに web-1 を削除するよう依頼すると、推測せずに拒否します。

  • ツールにはMCPアノテーションread_only_hintdestructive_hint)が付いており、ツールを実行する前にリスクをユーザーに提示するクライアントが正しく行えます。

ツールのゲートはモデルに丁寧に頼むのではなく、登録時に強制されます — テストスイートで実際のstdioセッションを通じて検証されています。

ツール

読み取り(常に利用可能)

ツール

目的

cloud_info

接続先のクラウド、リージョン、プロジェクト、有効な操作を表示

list_servers

ステータスとIPを持つインスタンス。ステータスまたは名前の部分文字列でフィルタリング

get_server

1つのインスタンスの詳細:フレーバー、イメージ、キーペア、セキュリティグループ、アドレス

list_flavors

vCPU、RAM、ディスクを含むインスタンスサイズ

list_images

起動可能なイメージ

list_networks

ネットワーク。外部ネットワークをフラグ付け

list_security_groups

セキュリティグループとルール数

list_keypairs

登録済みSSHキーペア

list_volumes

ブロックストレージボリュームとその接続先

get_quotas

コンピュートクォータの使用量と制限

check_capacity

指定したフレーバーのNインスタンスが残りクォータに収まるか、収まらない場合の原因を報告

get_console_output

シリアルコンソールログ — 起動するが到達できないVM用

書き込み(オプトイン)

ツール

目的

create_servers

1つまたは複数のインスタンスを作成。count > 1 の場合、<prefix>-01-02、… と名前を付けます

power_action

start / stop / reboot

delete_server

1つのインスタンスを削除。名前の確認が必要 (ALLOW_DELETEが必要)

知っておくべき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

-
license - not tested
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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.

View all MCP Connectors

Latest Blog Posts

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