AiStackOps MCP Server
Enables AI agents to manage OpenStack cloud infrastructure, including Nova servers, Neutron security groups and networks, Cinder volumes, floating IPs, quotas, backups, diagnostics, and safe preview/confirm workflows for firewall and lifecycle changes.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
☁️🤖 AiStackOps (osctl)
Universal AI-Native OpenStack Cloud Copilot — MCP Server, Agent Skill & Safe CLI Engine
دستیار هوشمند، تعاملی و ایمن مدیریت زیرساخت ابری OpenStack (مبتنی بر MCP، Skill و خط فرمان)
🇬🇧 English Documentation • 🇮🇷 مستندات فارسی
🇬🇧 English Documentation
What is AiStackOps?
AiStackOps turns your AI assistant (OpenCode, Claude Code, Claude Desktop, Cursor, Windsurf, or ChatGPT) into a Senior OpenStack DevOps & Cloud Security Engineer.
Instead of navigating complex Horizon dashboards or memorizing long openstack CLI UUIDs, you simply talk to your AI in natural language (English, Persian, or any language):
"Allow IP
203.0.113.50to access serverweb-prod""Scan all our security groups for risky public
0.0.0.0/0exposures""Why can't I SSH into
app-server-02? Diagnose it.""Take a backup of all firewall rules before we clean them up, and revert if anything breaks."
✨ Key Differentiators & AI Safety Guardrails
Mandatory
PREVIEW_ONLYHuman-in-the-Loop Safety:
Every mutating action (opening/revoking firewall rules, stopping/rebooting/deleting VMs, detaching SGs, reverting snapshots) runs in Preview Mode by default. The AI inspects the live state, shows you the exact plan, asks clarifying questions (e.g., which Security Group? and which Port/Protocol?), and only executes with--confirmafter your explicit approval.Zero-Secret Exposure Architecture:
Credentials live strictly in.env,openrc, orclouds.yaml. The AI agent never reads or prints your passwords or session tokens.Firewall-Bypassing Horizon Gateway + Standard OpenStack Support:
Works seamlessly over HTTPS (port 443) via OpenStack Horizon Web/REST APIs (ideal when ports5000/8774/9696are firewalled) as well as standard OpenStack environment configurations.Instant Infrastructure State Backup & 1-Click Revert:
Snapshot all Security Groups, rules, and server attachments to JSON before risky changes (./osctl backup) and roll back any drift in seconds (./osctl revert --confirm).AI Security Auditor & Smart Diagnostics:
Built-insg auditdetects critical0.0.0.0/0exposures (SSH, RDP, Databases, Docker, etc.), duplicate rules, and unused Security Groups. Built-inservers diagnosechecks VM power state, network ports, floating IPs, and ingress reachability in one shot.
🚀 Quick Start (Connect Any OpenStack Cloud)
1. Clone & Install
git clone https://github.com/shariatissh/ai-stack-ops.git
cd ai-stack-ops
pip install -e .2. Configure Your OpenStack Connection
Choose any of the 3 supported methods:
Method A: Interactive Setup Wizard
./osctl initOr non-interactively:
./osctl init \ --horizon-url "https://horizon.example.com" \ --username "your_username" \ --password "your_password"Method B:
.envFilecp .env.example .env chmod 600 .env # Edit .env and set OS_HORIZON_URL, OS_USERNAME, OS_PASSWORDMethod C: Standard OpenStack
openrc.shorclouds.yamlIf you already haveOS_AUTH_URL,OS_USERNAME, andOS_PASSWORDexported in your shell, or a~/.config/openstack/clouds.yamlfile,AiStackOpsdetects them automatically.
Verify your connection:
./osctl auth-check🤖 AI Integrations (MCP & Skills)
1. Model Context Protocol (MCP) — Claude Desktop, Cursor, ChatGPT, OpenCode
aistackops_mcp.py is a zero-dependency stdio JSON-RPC 2.0 MCP Server exposing 16 cloud tools:
openstack_overview,openstack_quotasopenstack_servers_list,openstack_server_inspect,openstack_server_diagnose,openstack_server_actionopenstack_sg_list,openstack_sg_audit,openstack_sg_check_access,openstack_sg_allow,openstack_sg_revokeopenstack_volumes_list,openstack_fip_list,openstack_networks_listopenstack_backup,openstack_revert
Add to claude_desktop_config.json / Cursor MCP:
{
"mcpServers": {
"aistackops": {
"command": "python3",
"args": ["/absolute/path/to/ai-stack-ops/aistackops_mcp.py"]
}
}
}Add to OpenCode (~/.config/opencode/opencode.jsonc):
{
"mcp": {
"aistackops": {
"type": "local",
"command": ["python3", "/absolute/path/to/ai-stack-ops/aistackops_mcp.py"],
"enabled": true
}
}
}2. Native Agent Skill (OpenCode & Claude Code)
Copy the skill globally so every session knows the interactive safety workflows:
mkdir -p ~/.config/opencode/skills/aistackops ~/.claude/skills/aistackops
cp skills/aistackops/SKILL.md ~/.config/opencode/skills/aistackops/SKILL.md
cp skills/aistackops/SKILL.md ~/.claude/skills/aistackops/SKILL.md🛠️ Complete CLI Reference (./osctl)
Category | Command | Description |
Setup & Auth |
| Interactive or flag-based |
| Verify authentication and active project/region | |
Cloud Overview |
| Full summary of VMs, Security Groups, Floating IPs, and Volumes |
| CPU, RAM, Instances, and Volume storage usage & free capacity | |
Servers (Nova) |
| List all instances with IPs, status, flavor, and SGs |
| Smart fuzzy search by name, partial name, IP, or UUID | |
| Detailed server ports and attached Security Groups | |
| AI health check (power state, ports, FIPs, SSH/RDP firewall reachability) | |
| Power lifecycle operations (Preview first, | |
| Pause or suspend operations | |
| Resize VM hardware flavor ( | |
| Rename an instance | |
| Create an instance snapshot | |
| Fetch boot console log or VNC console URL | |
| Attach or detach a Security Group on a server | |
| Permanently delete an instance | |
Firewall (Neutron) |
| List all Security Groups and attached servers |
| Scan for risky | |
| Inspect all Security Groups & rules attached to a specific server | |
| Show rules and attached servers for a Security Group | |
| Verify if an IP/CIDR currently has firewall access | |
| Allow IP/CIDR access (supports aliases: | |
| Revoke a rule by exact ID or by | |
| Create a new Security Group | |
| Delete a Security Group | |
Storage & Net |
| List Neutron networks and Floating IPs |
| List Cinder volumes, Nova flavors, and Glance images | |
Safety & Audit |
| Snapshot all SGs and server attachments to JSON |
| Roll back firewall rules & attachments to backup snapshot | |
| View chronological audit trail of confirmed changes |
Related MCP server: python-openstackmcp-server
🇮🇷 مستندات فارسی
معرفی AiStackOps
AiStackOps یک کوپایلوت ابری هوشمند (AI-Native Cloud Copilot) برای زیرساختهای OpenStack است که به هر مهندس DevOps، مدیر سیستم یا تیم زیرساخت اجازه میدهد کلود اوپناستک خود را از طریق گفتگو به زبان طبیعی در OpenCode، Claude (Desktop / Code)، Cursor و ChatGPT با امنیت کامل مدیریت کند.
به جای جستجوی دستی در پنلهای پیچیده Horizon یا حفظ کردن شناسههای طولانی، کافیست به زبان طبیعی بگویید:
«دسترسی آیپی
185.10.20.30رو بده به سرورweb»«کل سکیوریتی گروپها رو ممیزی امنیتی کن ببین چه پورتهای حساسی به کل اینترنت (
0.0.0.0/0) بازه»«سرور
db-01رو عیبیابی کن ببین چرا بهش وصل نمیشم»«قبل از پاکسازی قوانین فایروال یه بکاپ کامل بگیر تا اگه مشکلی پیش اومد سریع Revert کنیم»
🛡️ ویژگیهای منحصربهفرد و لایههای امنیتی هوشمند
۱. حالت پیشنمایش اجباری (PREVIEW_ONLY):
هیچ دستور تغییردهندهای بدون تایید صریح شما و فلگ --confirm اجرا نمیشود. دستیار ابتدا وضعیت فعلی را بررسی میکند، اگر سرور چند سکیوریتی گروپ داشته باشد لیست آنها را به شما نشان میدهد، میپرسد روی کدام سکیوریتی گروپ و چه پورتی اعمال شود، و فقط پس از تایید شما تغییر را اعمال میکند.
۲. حفاظت صددرصدی از رمز عبور و اطلاعات حساس:
اطلاعات اتصال شما فقط در فایل محلی .env (یا ~/.config/aistackops/.env) با سطح دسترسی 600 نگهداری میشود. هوش مصنوعی هرگز محتوای فایل .env را نمیخواند و رمز عبور در هیچ خروجی یا لاگی چاپ نمیشود.
۳. پشتیبانی از هر کلود OpenStack (حتی پشت فایروال):
علاوه بر متغیرهای استاندارد openrc و clouds.yaml، این ابزار قادر است تمام عملیات را از طریق درگاه وب HTTPS (پورت ۴۴۳ پنل Horizon) انجام دهد؛ بنابراین حتی زمانی که پورتهای 5000، 8774 و 9696 از بیرون بسته باشند، بدون مشکل کار میکند.
۴. پشتیبانگیری آنی و بازگردانی یککلیکی (backup & revert):
پیش از هر تغییر حساس روی فایروالها، وضعیت کامل قوانین و اتصالات سرورها ذخیره شده و در هر لحظه با دستور revert دقیقاً به نقطه قبل بازگردانده میشود.
⚡ راهاندازی سریع (برای هر سرویسدهنده OpenStack)
git clone https://github.com/shariatissh/ai-stack-ops.git
cd ai-stack-ops
./osctl initپس از وارد کردن آدرس پنل، نام کاربری و رمز عبور، اتصال خود را تست کنید:
./osctl auth-check🧠 فلوچارت هوشمند تعامل با کاربر
هنگامی که به دستیار میگویید: «دسترسی آیپی X رو بده به سرور Y»:
دستیار ابتدا دستور
./osctl sg for-server "Y"را اجرا میکند.اگر بیش از یک سرور با نام
Yهمخوانی داشته باشد، لیست سرورهای مشابه را به همراه آیپیهایشان از شما میپرسد.سپس لیست سکیوریتی گروپهای متصل به آن سرور را نمایش میدهد و از شما میپرسد:
روی کدام سکیوریتی گروپ ثبت شود؟
چه پورت و پروتکلی باز شود؟ (SSH، RDP، Web، پینگ یا پورت دلخواه)
پس از انتخاب و تایید شما، قانون را با
--confirmثبت کرده و نتیجه دقیق را گزارش میدهد.
📄 License
Released under the MIT License.
This server cannot be deployed
Maintenance
Related MCP Connectors
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
Manage Rackspace Spot Kubernetes Cloudspaces, node pools, and VMs from your AI assistant.
Query your team's drift, vulnerability, and upgrade data from any AI assistant. OAuth 2.1, 51 tools.
214 tools for AI agents over one MCP endpoint: image, video, audio, 3D, data, storage, mail, GPUs.
Related MCP Servers
- AlicenseCqualityFmaintenanceEnables AI assistants to manage infrastructure using Ansible and Terraform with 58 tools for playbooks, provisioning, security scanning, and more.877MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to manage OpenStack cloud resources including compute, images, identity, network, and block storage via the Model Context Protocol.19Apache 2.0
- -licenseNot gradedqualityNot gradedmaintenanceEnables AI clients to manage OpenStack clouds through tools for compute, network, storage, image, and identity operations.-
- AlicenseAqualityCmaintenanceEnables AI assistants to inspect and manage OpenStack clouds, including listing instances, checking quotas, and retrieving console logs. It supports opt-in write operations for creating and deleting servers, with a read-only default.12MIT