github Python analyzed 3f82bed

call518/MCP-OpenStack-Ops

github

90+ production-safe OpenStack tools for AI agents via MCP. Project-scoped & read-only by default. Works with Claude, Open WebUI & any MCP client. FastMCP + OpenStack SDK. Available on PyPI, Docker Hub & Smithery.

maintainer
call518
license
MIT
first seen
2026-07-04
last seen
2026-07-04
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 41 tools
transport stdio · streamable-http counts 41 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • get_availability_zones
  • get_floating_ip_pools
  • get_floating_ips
  • get_heat_stacks
  • get_hypervisor_details
  • get_image_detail_list
  • get_instance
  • get_instance_by_name
  • get_instance_details
  • get_instances_by_status
  • get_keypair_list
  • get_load_balancer_amphorae
  • get_load_balancer_availability_zones
  • get_load_balancer_details
  • get_load_balancer_flavors
  • get_load_balancer_health_monitors
  • get_load_balancer_l7_policies
  • get_load_balancer_l7_rules
  • get_load_balancer_list
  • get_load_balancer_listeners
  • get_load_balancer_pool_members
  • get_load_balancer_pools
  • get_load_balancer_providers
  • get_load_balancer_quotas
  • get_network_details
  • get_project_details
  • get_quota
  • get_resource_monitoring
  • get_role_assignments
  • get_routers
  • get_security_groups
  • get_server_events
  • get_server_groups
  • get_server_volumes
  • get_service_status
  • get_usage_statistics
  • get_user_list
  • get_volume_list
  • get_volume_snapshots
  • get_volume_types
  • search_instances
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 3f82bed · analyzer v33 · 1w ago

skills & prompt files 1

code evidence v3.5.1 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 124

filesystem 1

  • fs call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/mcp_main.py :278 with open(file_path, 'r', encoding='utf-8') as f:

network 2

  • net call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/mcp_main.py :458 logging.getLogger("aiohttp.client").setLevel("WARNING") # reduce noise at DEBUG
  • net call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/services/core.py :96 import requests

secrets 3

  • secrets call518-MCP-OpenStack-Ops-3f82bed/diagnose_openstack.py :24 password=os.environ.get('OS_PASSWORD'),
  • secrets call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/connection.py :98 password=os.environ.get("OS_PASSWORD"),
  • secrets call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/mcp_main.py :482 secret_key = args.secret_key or os.getenv("REMOTE_SECRET_KEY", "")

tool registrations 41

  • get_availability_zones call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_availability_zones.py :11
  • get_floating_ip_pools call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_floating_ip_pools.py :11
  • get_floating_ips call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_floating_ips.py :11
  • get_heat_stacks call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_heat_stacks.py :11
  • get_hypervisor_details call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_hypervisor_details.py :11
  • get_image_detail_list call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_image_detail_list.py :11
  • get_instance call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_instance.py :15
  • get_instance_by_name call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_instance_by_name.py :11
  • get_instance_details call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_instance_details.py :11
  • get_instances_by_status call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_instances_by_status.py :11
  • get_keypair_list call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_keypair_list.py :11
  • get_load_balancer_amphorae call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_load_balancer_amphorae.py :11
  • get_load_balancer_availability_zones call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_load_balancer_availability_zones.py :11
  • get_load_balancer_details call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_load_balancer_details.py :11
  • get_load_balancer_flavors call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_load_balancer_flavors.py :11
  • get_load_balancer_health_monitors call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_load_balancer_health_monitors.py :10
  • get_load_balancer_l7_policies call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_load_balancer_l7_policies.py :11
  • get_load_balancer_l7_rules call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_load_balancer_l7_rules.py :11
  • get_load_balancer_list call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_load_balancer_list.py :11
  • get_load_balancer_listeners call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_load_balancer_listeners.py :11
  • get_load_balancer_pool_members call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_load_balancer_pool_members.py :10
  • get_load_balancer_pools call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_load_balancer_pools.py :11
  • get_load_balancer_providers call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_load_balancer_providers.py :11
  • get_load_balancer_quotas call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_load_balancer_quotas.py :11
  • get_network_details call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_network_details.py :11
  • get_project_details call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_project_details.py :11
  • get_quota call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_quota.py :11
  • get_resource_monitoring call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_resource_monitoring.py :11
  • get_role_assignments call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_role_assignments.py :11
  • get_routers call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_routers.py :11
  • get_security_groups call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_security_groups.py :11
  • get_server_events call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_server_events.py :11
  • get_server_groups call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_server_groups.py :11
  • get_server_volumes call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_server_volumes.py :11
  • get_service_status call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_service_status.py :11
  • get_usage_statistics call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_usage_statistics.py :11
  • get_user_list call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_user_list.py :11
  • get_volume_list call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_volume_list.py :11
  • get_volume_snapshots call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_volume_snapshots.py :11
  • get_volume_types call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/get_volume_types.py :11
  • search_instances call518-MCP-OpenStack-Ops-3f82bed/src/mcp_openstack_ops/tools/search_instances.py :11

declared dependencies 7

  • fastmcp@>=2.12.3
  • openstacksdk@>=4.1.0,<=4.17.0
  • python-dotenv@>=1.1.1
  • setuptools-scm@>=10.0.5
  • pre-commit@>=4.6.0
  • pytest@>=7.0.0
  • pytest-asyncio@>=0.21.0