mcp-openstack-ops 3.5.0__tar.gz → 3.5.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/.github/workflows/pypi-publish.yml +1 -1
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/PKG-INFO +3 -3
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/README.md +0 -1
- mcp_openstack_ops-3.5.2/pyproject.toml +46 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops.egg-info/PKG-INFO +3 -3
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops.egg-info/SOURCES.txt +2 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops.egg-info/requires.txt +2 -1
- mcp_openstack_ops-3.5.2/src/mcp_openstack_ops.egg-info/scm_file_list.json +155 -0
- mcp_openstack_ops-3.5.2/src/mcp_openstack_ops.egg-info/scm_version.json +8 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/uv.lock +158 -67
- mcp_openstack_ops-3.5.0/pyproject.toml +0 -36
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/.env.example +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/.env.test +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/.github/FUNDING.yml +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/.github/copilot-instructions.md +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/.github/dependabot.yml +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/.gitignore +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/.gitleaks.toml +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/.pre-commit-config.yaml +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/.python-version +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/Dockerfile.MCP-Server +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/Dockerfile.MCPO-Proxy +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/LICENSE +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/MANIFEST.in +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/build-mcp-server-docker-image.sh +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/build-mcpo-server-docker-image.sh +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/diagnose_openstack.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/docker-compose.yml +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/img/MCP-Workflow-of-Quickstart-Tutorial.png +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/img/screenshot-claude-desktop.png +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/img/screenshot-claude-desktop.png:Zone.Identifier +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/img/screenshot-example-cluster-status.png +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/img/screenshot-openstack-dashboard.png +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/main.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/mcp-config.json.http +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/mcp-config.json.multi-project +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/mcp-config.json.stdio +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/scripts/mcp-server-docker-cmd.sh +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/scripts/run-mcp-inspector-local.sh +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/scripts/run-mcp-inspector-pypi.sh +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/setup.cfg +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/__init__.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/__main__.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/connection.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/functions.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/mcp_main.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/prompt_template.md +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/services/__init__.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/services/compute.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/services/core.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/services/identity.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/services/image.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/services/load_balancer/__init__.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/services/load_balancer/amphorae.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/services/load_balancer/core.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/services/load_balancer/health_monitors.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/services/load_balancer/l7_policies.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/services/load_balancer/listeners.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/services/load_balancer/management.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/services/load_balancer/pools.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/services/monitoring.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/services/network.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/services/orchestration.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/services/storage.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/__init__.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_availability_zones.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_floating_ip_pools.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_floating_ips.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_heat_stacks.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_hypervisor_details.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_image_detail_list.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_instance.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_instance_by_name.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_instance_details.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_instances_by_status.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_keypair_list.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_load_balancer_amphorae.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_load_balancer_availability_zones.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_load_balancer_details.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_load_balancer_flavors.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_load_balancer_health_monitors.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_load_balancer_l7_policies.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_load_balancer_l7_rules.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_load_balancer_list.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_load_balancer_listeners.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_load_balancer_pool_members.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_load_balancer_pools.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_load_balancer_providers.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_load_balancer_quotas.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_network_details.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_project_details.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_quota.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_resource_monitoring.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_role_assignments.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_routers.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_security_groups.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_server_events.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_server_groups.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_server_volumes.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_service_status.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_usage_statistics.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_user_list.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_volume_list.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_volume_snapshots.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/get_volume_types.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/search_instances.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_alarms.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_compute_agents.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_domains.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_flavor.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_floating_ip.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_floating_ip_port_forwarding.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_heat_stack.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_identity_groups.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_image.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_image_members.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_image_metadata.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_image_visibility.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_instance.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_keypair.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_load_balancer.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_load_balancer_amphora.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_load_balancer_availability_zone.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_load_balancer_flavor.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_load_balancer_health_monitor.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_load_balancer_l7_policy.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_load_balancer_l7_rule.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_load_balancer_listener.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_load_balancer_pool.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_load_balancer_pool_member.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_load_balancer_quota.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_metrics.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_network_agents.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_network_ports.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_network_qos_policies.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_networks.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_project.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_quota.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_roles.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_server_backup.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_server_dump.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_server_fixed_ip.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_server_floating_ip.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_server_group.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_server_migration.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_server_network.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_server_properties.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_server_security_group.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_server_volume.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_service_logs.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_services.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_snapshot.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_subnets.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_volume.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_volume_backups.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_volume_groups.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops/tools/set_volume_qos.py +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops.egg-info/dependency_links.txt +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops.egg-info/entry_points.txt +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops.egg-info/top_level.txt +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/test_compatibility.sh +0 -0
- {mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/test_project_isolation.py +0 -0
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mcp-openstack-ops
|
|
3
|
-
Version: 3.5.
|
|
3
|
+
Version: 3.5.2
|
|
4
4
|
Summary: OpenStack operations automation MCP server
|
|
5
5
|
Author-email: JungJungIn <call518@gmail.com>
|
|
6
6
|
Requires-Python: >=3.12
|
|
7
7
|
Description-Content-Type: text/markdown
|
|
8
8
|
License-File: LICENSE
|
|
9
9
|
Requires-Dist: fastmcp>=2.12.3
|
|
10
|
-
Requires-Dist: openstacksdk<=4.
|
|
10
|
+
Requires-Dist: openstacksdk<=4.17.0,>=4.1.0
|
|
11
11
|
Requires-Dist: python-dotenv>=1.1.1
|
|
12
12
|
Requires-Dist: setuptools-scm>=10.0.5
|
|
13
|
+
Requires-Dist: pre-commit>=4.6.0
|
|
13
14
|
Provides-Extra: dev
|
|
14
15
|
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
15
16
|
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
|
|
@@ -22,7 +23,6 @@ Dynamic: license-file
|
|
|
22
23
|
[](https://opensource.org/licenses/MIT)
|
|
23
24
|

|
|
24
25
|

|
|
25
|
-
[](https://smithery.ai/server/@call518/mcp-openstack-ops)
|
|
26
26
|
[](https://www.buymeacoffee.com/call518)
|
|
27
27
|
|
|
28
28
|
[](https://github.com/call518/MCP-OpenStack-Ops/actions/workflows/pypi-publish.yml)
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
6
|

|
|
7
7
|

|
|
8
|
-
[](https://smithery.ai/server/@call518/mcp-openstack-ops)
|
|
9
8
|
[](https://www.buymeacoffee.com/call518)
|
|
10
9
|
|
|
11
10
|
[](https://github.com/call518/MCP-OpenStack-Ops/actions/workflows/pypi-publish.yml)
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "mcp-openstack-ops"
|
|
3
|
+
dynamic = ["version"]
|
|
4
|
+
description = "OpenStack operations automation MCP server"
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
requires-python = ">=3.12"
|
|
7
|
+
authors = [{ name = "JungJungIn", email = "call518@gmail.com" }]
|
|
8
|
+
dependencies = [
|
|
9
|
+
"fastmcp>=2.12.3",
|
|
10
|
+
"openstacksdk>=4.1.0,<=4.17.0",
|
|
11
|
+
"python-dotenv>=1.1.1",
|
|
12
|
+
"setuptools-scm>=10.0.5",
|
|
13
|
+
"pre-commit>=4.6.0",
|
|
14
|
+
]
|
|
15
|
+
|
|
16
|
+
[project.optional-dependencies]
|
|
17
|
+
dev = [
|
|
18
|
+
"pytest>=7.0.0",
|
|
19
|
+
"pytest-asyncio>=0.21.0"
|
|
20
|
+
]
|
|
21
|
+
|
|
22
|
+
[project.scripts]
|
|
23
|
+
mcp-openstack-ops = "mcp_openstack_ops.mcp_main:main"
|
|
24
|
+
|
|
25
|
+
[build-system]
|
|
26
|
+
requires = ["setuptools>=61.0", "wheel", "setuptools-scm"]
|
|
27
|
+
build-backend = "setuptools.build_meta"
|
|
28
|
+
|
|
29
|
+
[tool.setuptools_scm]
|
|
30
|
+
### version_scheme options:
|
|
31
|
+
### uncommented: raises LookupError (uses fallback_version) when not on a tag
|
|
32
|
+
### commented-out (default guess-next-dev): auto-generates e.g. 1.0.1.dev2+gabcdef for commits after a tag
|
|
33
|
+
# version_scheme = "no-guess-dev"
|
|
34
|
+
### local_scheme options:
|
|
35
|
+
### node-and-date (default) e.g. 1.0.1.dev2+gabcdef.d20260430
|
|
36
|
+
### node-and-timestamp e.g. 1.0.1.dev2+gabcdef.1746000000
|
|
37
|
+
### dirty-tag e.g. 1.0.1.dev2+dirty (only when working tree is dirty)
|
|
38
|
+
### no-local-version e.g. 1.0.1.dev2 (omits local part entirely; only this option allows non-tagged commits to be uploaded to PyPI)
|
|
39
|
+
local_scheme = "node-and-date"
|
|
40
|
+
fallback_version = "0.0.0"
|
|
41
|
+
|
|
42
|
+
[tool.setuptools.packages.find]
|
|
43
|
+
where = ["src"]
|
|
44
|
+
|
|
45
|
+
[tool.setuptools.package-dir]
|
|
46
|
+
"" = "src"
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mcp-openstack-ops
|
|
3
|
-
Version: 3.5.
|
|
3
|
+
Version: 3.5.2
|
|
4
4
|
Summary: OpenStack operations automation MCP server
|
|
5
5
|
Author-email: JungJungIn <call518@gmail.com>
|
|
6
6
|
Requires-Python: >=3.12
|
|
7
7
|
Description-Content-Type: text/markdown
|
|
8
8
|
License-File: LICENSE
|
|
9
9
|
Requires-Dist: fastmcp>=2.12.3
|
|
10
|
-
Requires-Dist: openstacksdk<=4.
|
|
10
|
+
Requires-Dist: openstacksdk<=4.17.0,>=4.1.0
|
|
11
11
|
Requires-Dist: python-dotenv>=1.1.1
|
|
12
12
|
Requires-Dist: setuptools-scm>=10.0.5
|
|
13
|
+
Requires-Dist: pre-commit>=4.6.0
|
|
13
14
|
Provides-Extra: dev
|
|
14
15
|
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
15
16
|
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
|
|
@@ -22,7 +23,6 @@ Dynamic: license-file
|
|
|
22
23
|
[](https://opensource.org/licenses/MIT)
|
|
23
24
|

|
|
24
25
|

|
|
25
|
-
[](https://smithery.ai/server/@call518/mcp-openstack-ops)
|
|
26
26
|
[](https://www.buymeacoffee.com/call518)
|
|
27
27
|
|
|
28
28
|
[](https://github.com/call518/MCP-OpenStack-Ops/actions/workflows/pypi-publish.yml)
|
{mcp_openstack_ops-3.5.0 → mcp_openstack_ops-3.5.2}/src/mcp_openstack_ops.egg-info/SOURCES.txt
RENAMED
|
@@ -44,6 +44,8 @@ src/mcp_openstack_ops.egg-info/SOURCES.txt
|
|
|
44
44
|
src/mcp_openstack_ops.egg-info/dependency_links.txt
|
|
45
45
|
src/mcp_openstack_ops.egg-info/entry_points.txt
|
|
46
46
|
src/mcp_openstack_ops.egg-info/requires.txt
|
|
47
|
+
src/mcp_openstack_ops.egg-info/scm_file_list.json
|
|
48
|
+
src/mcp_openstack_ops.egg-info/scm_version.json
|
|
47
49
|
src/mcp_openstack_ops.egg-info/top_level.txt
|
|
48
50
|
src/mcp_openstack_ops/services/__init__.py
|
|
49
51
|
src/mcp_openstack_ops/services/compute.py
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
{
|
|
2
|
+
"files": [
|
|
3
|
+
".pre-commit-config.yaml",
|
|
4
|
+
".env.test",
|
|
5
|
+
"README.md",
|
|
6
|
+
"uv.lock",
|
|
7
|
+
"Dockerfile.MCPO-Proxy",
|
|
8
|
+
".python-version",
|
|
9
|
+
"LICENSE",
|
|
10
|
+
"Dockerfile.MCP-Server",
|
|
11
|
+
"mcp-config.json.stdio",
|
|
12
|
+
"pyproject.toml",
|
|
13
|
+
"mcp-config.json.http",
|
|
14
|
+
"test_project_isolation.py",
|
|
15
|
+
"build-mcp-server-docker-image.sh",
|
|
16
|
+
"test_compatibility.sh",
|
|
17
|
+
"diagnose_openstack.py",
|
|
18
|
+
"mcp-config.json.multi-project",
|
|
19
|
+
"MANIFEST.in",
|
|
20
|
+
".env.example",
|
|
21
|
+
"main.py",
|
|
22
|
+
".gitleaks.toml",
|
|
23
|
+
".gitignore",
|
|
24
|
+
"docker-compose.yml",
|
|
25
|
+
"build-mcpo-server-docker-image.sh",
|
|
26
|
+
"scripts/run-mcp-inspector-local.sh",
|
|
27
|
+
"scripts/run-mcp-inspector-pypi.sh",
|
|
28
|
+
"scripts/mcp-server-docker-cmd.sh",
|
|
29
|
+
"src/mcp_openstack_ops/__init__.py",
|
|
30
|
+
"src/mcp_openstack_ops/functions.py",
|
|
31
|
+
"src/mcp_openstack_ops/prompt_template.md",
|
|
32
|
+
"src/mcp_openstack_ops/connection.py",
|
|
33
|
+
"src/mcp_openstack_ops/mcp_main.py",
|
|
34
|
+
"src/mcp_openstack_ops/__main__.py",
|
|
35
|
+
"src/mcp_openstack_ops/services/monitoring.py",
|
|
36
|
+
"src/mcp_openstack_ops/services/network.py",
|
|
37
|
+
"src/mcp_openstack_ops/services/core.py",
|
|
38
|
+
"src/mcp_openstack_ops/services/__init__.py",
|
|
39
|
+
"src/mcp_openstack_ops/services/image.py",
|
|
40
|
+
"src/mcp_openstack_ops/services/compute.py",
|
|
41
|
+
"src/mcp_openstack_ops/services/storage.py",
|
|
42
|
+
"src/mcp_openstack_ops/services/orchestration.py",
|
|
43
|
+
"src/mcp_openstack_ops/services/identity.py",
|
|
44
|
+
"src/mcp_openstack_ops/services/load_balancer/core.py",
|
|
45
|
+
"src/mcp_openstack_ops/services/load_balancer/__init__.py",
|
|
46
|
+
"src/mcp_openstack_ops/services/load_balancer/management.py",
|
|
47
|
+
"src/mcp_openstack_ops/services/load_balancer/l7_policies.py",
|
|
48
|
+
"src/mcp_openstack_ops/services/load_balancer/listeners.py",
|
|
49
|
+
"src/mcp_openstack_ops/services/load_balancer/amphorae.py",
|
|
50
|
+
"src/mcp_openstack_ops/services/load_balancer/health_monitors.py",
|
|
51
|
+
"src/mcp_openstack_ops/services/load_balancer/pools.py",
|
|
52
|
+
"src/mcp_openstack_ops/tools/get_instance.py",
|
|
53
|
+
"src/mcp_openstack_ops/tools/get_floating_ips.py",
|
|
54
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_l7_policies.py",
|
|
55
|
+
"src/mcp_openstack_ops/tools/set_service_logs.py",
|
|
56
|
+
"src/mcp_openstack_ops/tools/set_load_balancer_pool.py",
|
|
57
|
+
"src/mcp_openstack_ops/tools/set_server_group.py",
|
|
58
|
+
"src/mcp_openstack_ops/tools/set_network_qos_policies.py",
|
|
59
|
+
"src/mcp_openstack_ops/tools/set_quota.py",
|
|
60
|
+
"src/mcp_openstack_ops/tools/get_usage_statistics.py",
|
|
61
|
+
"src/mcp_openstack_ops/tools/set_network_agents.py",
|
|
62
|
+
"src/mcp_openstack_ops/tools/get_service_status.py",
|
|
63
|
+
"src/mcp_openstack_ops/tools/set_metrics.py",
|
|
64
|
+
"src/mcp_openstack_ops/tools/set_services.py",
|
|
65
|
+
"src/mcp_openstack_ops/tools/set_networks.py",
|
|
66
|
+
"src/mcp_openstack_ops/tools/__init__.py",
|
|
67
|
+
"src/mcp_openstack_ops/tools/search_instances.py",
|
|
68
|
+
"src/mcp_openstack_ops/tools/set_image_visibility.py",
|
|
69
|
+
"src/mcp_openstack_ops/tools/set_volume_qos.py",
|
|
70
|
+
"src/mcp_openstack_ops/tools/get_availability_zones.py",
|
|
71
|
+
"src/mcp_openstack_ops/tools/get_keypair_list.py",
|
|
72
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_amphorae.py",
|
|
73
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_listeners.py",
|
|
74
|
+
"src/mcp_openstack_ops/tools/set_server_security_group.py",
|
|
75
|
+
"src/mcp_openstack_ops/tools/set_heat_stack.py",
|
|
76
|
+
"src/mcp_openstack_ops/tools/set_roles.py",
|
|
77
|
+
"src/mcp_openstack_ops/tools/set_load_balancer_l7_policy.py",
|
|
78
|
+
"src/mcp_openstack_ops/tools/set_image_metadata.py",
|
|
79
|
+
"src/mcp_openstack_ops/tools/get_routers.py",
|
|
80
|
+
"src/mcp_openstack_ops/tools/set_load_balancer.py",
|
|
81
|
+
"src/mcp_openstack_ops/tools/set_server_dump.py",
|
|
82
|
+
"src/mcp_openstack_ops/tools/set_server_properties.py",
|
|
83
|
+
"src/mcp_openstack_ops/tools/set_image_members.py",
|
|
84
|
+
"src/mcp_openstack_ops/tools/set_load_balancer_listener.py",
|
|
85
|
+
"src/mcp_openstack_ops/tools/set_snapshot.py",
|
|
86
|
+
"src/mcp_openstack_ops/tools/set_compute_agents.py",
|
|
87
|
+
"src/mcp_openstack_ops/tools/set_volume_groups.py",
|
|
88
|
+
"src/mcp_openstack_ops/tools/get_image_detail_list.py",
|
|
89
|
+
"src/mcp_openstack_ops/tools/get_role_assignments.py",
|
|
90
|
+
"src/mcp_openstack_ops/tools/set_server_fixed_ip.py",
|
|
91
|
+
"src/mcp_openstack_ops/tools/get_hypervisor_details.py",
|
|
92
|
+
"src/mcp_openstack_ops/tools/get_volume_list.py",
|
|
93
|
+
"src/mcp_openstack_ops/tools/get_heat_stacks.py",
|
|
94
|
+
"src/mcp_openstack_ops/tools/set_server_migration.py",
|
|
95
|
+
"src/mcp_openstack_ops/tools/get_instances_by_status.py",
|
|
96
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_pool_members.py",
|
|
97
|
+
"src/mcp_openstack_ops/tools/set_volume.py",
|
|
98
|
+
"src/mcp_openstack_ops/tools/set_floating_ip.py",
|
|
99
|
+
"src/mcp_openstack_ops/tools/set_volume_backups.py",
|
|
100
|
+
"src/mcp_openstack_ops/tools/get_quota.py",
|
|
101
|
+
"src/mcp_openstack_ops/tools/set_alarms.py",
|
|
102
|
+
"src/mcp_openstack_ops/tools/set_load_balancer_flavor.py",
|
|
103
|
+
"src/mcp_openstack_ops/tools/set_load_balancer_health_monitor.py",
|
|
104
|
+
"src/mcp_openstack_ops/tools/get_resource_monitoring.py",
|
|
105
|
+
"src/mcp_openstack_ops/tools/get_user_list.py",
|
|
106
|
+
"src/mcp_openstack_ops/tools/set_floating_ip_port_forwarding.py",
|
|
107
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_availability_zones.py",
|
|
108
|
+
"src/mcp_openstack_ops/tools/set_image.py",
|
|
109
|
+
"src/mcp_openstack_ops/tools/get_security_groups.py",
|
|
110
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_quotas.py",
|
|
111
|
+
"src/mcp_openstack_ops/tools/set_server_network.py",
|
|
112
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_l7_rules.py",
|
|
113
|
+
"src/mcp_openstack_ops/tools/set_load_balancer_pool_member.py",
|
|
114
|
+
"src/mcp_openstack_ops/tools/set_load_balancer_availability_zone.py",
|
|
115
|
+
"src/mcp_openstack_ops/tools/set_server_volume.py",
|
|
116
|
+
"src/mcp_openstack_ops/tools/set_keypair.py",
|
|
117
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_health_monitors.py",
|
|
118
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_providers.py",
|
|
119
|
+
"src/mcp_openstack_ops/tools/get_server_volumes.py",
|
|
120
|
+
"src/mcp_openstack_ops/tools/set_project.py",
|
|
121
|
+
"src/mcp_openstack_ops/tools/get_server_events.py",
|
|
122
|
+
"src/mcp_openstack_ops/tools/set_domains.py",
|
|
123
|
+
"src/mcp_openstack_ops/tools/set_load_balancer_amphora.py",
|
|
124
|
+
"src/mcp_openstack_ops/tools/get_volume_types.py",
|
|
125
|
+
"src/mcp_openstack_ops/tools/set_instance.py",
|
|
126
|
+
"src/mcp_openstack_ops/tools/get_instance_details.py",
|
|
127
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_pools.py",
|
|
128
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_flavors.py",
|
|
129
|
+
"src/mcp_openstack_ops/tools/set_identity_groups.py",
|
|
130
|
+
"src/mcp_openstack_ops/tools/set_flavor.py",
|
|
131
|
+
"src/mcp_openstack_ops/tools/set_subnets.py",
|
|
132
|
+
"src/mcp_openstack_ops/tools/set_server_floating_ip.py",
|
|
133
|
+
"src/mcp_openstack_ops/tools/set_load_balancer_l7_rule.py",
|
|
134
|
+
"src/mcp_openstack_ops/tools/set_network_ports.py",
|
|
135
|
+
"src/mcp_openstack_ops/tools/get_instance_by_name.py",
|
|
136
|
+
"src/mcp_openstack_ops/tools/get_project_details.py",
|
|
137
|
+
"src/mcp_openstack_ops/tools/set_server_backup.py",
|
|
138
|
+
"src/mcp_openstack_ops/tools/get_network_details.py",
|
|
139
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_list.py",
|
|
140
|
+
"src/mcp_openstack_ops/tools/set_load_balancer_quota.py",
|
|
141
|
+
"src/mcp_openstack_ops/tools/get_load_balancer_details.py",
|
|
142
|
+
"src/mcp_openstack_ops/tools/get_floating_ip_pools.py",
|
|
143
|
+
"src/mcp_openstack_ops/tools/get_volume_snapshots.py",
|
|
144
|
+
"src/mcp_openstack_ops/tools/get_server_groups.py",
|
|
145
|
+
"img/screenshot-example-cluster-status.png",
|
|
146
|
+
"img/screenshot-openstack-dashboard.png",
|
|
147
|
+
"img/MCP-Workflow-of-Quickstart-Tutorial.png",
|
|
148
|
+
"img/screenshot-claude-desktop.png",
|
|
149
|
+
"img/screenshot-claude-desktop.png:Zone.Identifier",
|
|
150
|
+
".github/copilot-instructions.md",
|
|
151
|
+
".github/dependabot.yml",
|
|
152
|
+
".github/FUNDING.yml",
|
|
153
|
+
".github/workflows/pypi-publish.yml"
|
|
154
|
+
]
|
|
155
|
+
}
|