mcp-openstack-ops 3.5.6__tar.gz → 3.5.8__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.6 → mcp_openstack_ops-3.5.8}/PKG-INFO +3 -14
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/README.md +2 -13
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops.egg-info/PKG-INFO +3 -14
- mcp_openstack_ops-3.5.8/src/mcp_openstack_ops.egg-info/scm_version.json +8 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/uv.lock +83 -52
- mcp_openstack_ops-3.5.6/src/mcp_openstack_ops.egg-info/scm_version.json +0 -8
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/.env.example +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/.env.test +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/.github/FUNDING.yml +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/.github/copilot-instructions.md +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/.github/dependabot.yml +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/.github/workflows/pypi-publish.yml +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/.gitignore +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/.gitleaks.toml +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/.pre-commit-config.yaml +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/.python-version +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/Dockerfile.MCP-Server +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/Dockerfile.MCPO-Proxy +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/LICENSE +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/MANIFEST.in +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/build-mcp-server-docker-image.sh +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/build-mcpo-server-docker-image.sh +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/diagnose_openstack.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/docker-compose.yml +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/img/MCP-Workflow-of-Quickstart-Tutorial.png +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/img/screenshot-claude-desktop.png +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/img/screenshot-claude-desktop.png:Zone.Identifier +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/img/screenshot-example-cluster-status.png +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/img/screenshot-openstack-dashboard.png +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/main.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/mcp-config.json.http +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/mcp-config.json.multi-project +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/mcp-config.json.stdio +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/pyproject.toml +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/scripts/check_release.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/scripts/mcp-server-docker-cmd.sh +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/scripts/publish_release.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/scripts/run-mcp-inspector-local.sh +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/scripts/run-mcp-inspector-pypi.sh +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/setup.cfg +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/__init__.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/__main__.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/connection.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/functions.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/mcp_main.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/prompt_template.md +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/__init__.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/compute.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/core.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/identity.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/image.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/load_balancer/__init__.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/load_balancer/amphorae.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/load_balancer/core.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/load_balancer/health_monitors.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/load_balancer/l7_policies.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/load_balancer/listeners.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/load_balancer/management.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/load_balancer/pools.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/monitoring.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/network.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/orchestration.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/storage.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/__init__.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_availability_zones.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_floating_ip_pools.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_floating_ips.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_heat_stacks.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_hypervisor_details.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_image_detail_list.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_instance.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_instance_by_name.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_instance_details.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_instances_by_status.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_keypair_list.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_amphorae.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_availability_zones.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_details.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_flavors.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_health_monitors.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_l7_policies.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_l7_rules.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_list.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_listeners.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_pool_members.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_pools.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_providers.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_load_balancer_quotas.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_network_details.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_project_details.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_quota.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_resource_monitoring.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_role_assignments.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_routers.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_security_groups.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_server_events.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_server_groups.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_server_volumes.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_service_status.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_usage_statistics.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_user_list.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_volume_list.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_volume_snapshots.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_volume_types.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/search_instances.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_alarms.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_compute_agents.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_domains.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_flavor.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_floating_ip.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_floating_ip_port_forwarding.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_heat_stack.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_identity_groups.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_image.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_image_members.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_image_metadata.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_image_visibility.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_instance.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_keypair.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer_amphora.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer_availability_zone.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer_flavor.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer_health_monitor.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer_l7_policy.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer_l7_rule.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer_listener.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer_pool.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer_pool_member.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer_quota.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_metrics.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_network_agents.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_network_ports.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_network_qos_policies.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_networks.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_project.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_quota.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_roles.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_backup.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_dump.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_fixed_ip.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_floating_ip.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_group.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_migration.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_network.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_properties.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_security_group.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_volume.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_service_logs.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_services.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_snapshot.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_subnets.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_volume.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_volume_backups.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_volume_groups.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_volume_qos.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops.egg-info/SOURCES.txt +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops.egg-info/dependency_links.txt +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops.egg-info/entry_points.txt +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops.egg-info/requires.txt +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops.egg-info/scm_file_list.json +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops.egg-info/top_level.txt +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/test_compatibility.sh +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/test_project_isolation.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/tests/test_publish_release.py +0 -0
- {mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/tests/test_release.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mcp-openstack-ops
|
|
3
|
-
Version: 3.5.
|
|
3
|
+
Version: 3.5.8
|
|
4
4
|
Summary: OpenStack operations automation MCP server
|
|
5
5
|
Author-email: JungJungIn <call518@gmail.com>
|
|
6
6
|
Requires-Python: >=3.12
|
|
@@ -20,6 +20,8 @@ Dynamic: license-file
|
|
|
20
20
|
|
|
21
21
|
> **MCP OpenStack Operations Server**: A comprehensive MCP (Model Context Protocol) server providing OpenStack project management and monitoring capabilities with built-in safety controls and single-project scope.
|
|
22
22
|
|
|
23
|
+
[](https://mcpvault.io/servers/mcp-openstack-ops/health?utm_source=external_badge&utm_medium=referral&utm_campaign=mcp_health_report)
|
|
24
|
+
|
|
23
25
|
[](https://opensource.org/licenses/MIT)
|
|
24
26
|

|
|
25
27
|

|
|
@@ -35,19 +37,6 @@ Dynamic: license-file
|
|
|
35
37
|
|
|
36
38
|
[](https://deepwiki.com/call518/MCP-OpenStack-Ops)
|
|
37
39
|
|
|
38
|
-
## Package and GitHub Releases
|
|
39
|
-
|
|
40
|
-
Pushing a release tag runs the GitHub Actions publication workflow: build and
|
|
41
|
-
validate distributions, publish to TestPyPI, publish to PyPI, then create a GitHub
|
|
42
|
-
Release named after the tag. Tags must use `X.Y.Z` or `vX.Y.Z`, optionally followed
|
|
43
|
-
by `aN`, `bN`, or `rcN`; both distribution versions must match the tag.
|
|
44
|
-
|
|
45
|
-
Release notes include full commit messages since the most recently published
|
|
46
|
-
non-draft GitHub Release, in oldest-first topological order. The first Release
|
|
47
|
-
includes all commit history. Existing published Releases are left unchanged;
|
|
48
|
-
an existing draft or a previous Release outside the tag's ancestry stops release
|
|
49
|
-
creation for manual review. Prereleases are marked as such and are not made latest.
|
|
50
|
-
|
|
51
40
|
---
|
|
52
41
|
|
|
53
42
|
## Features
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
> **MCP OpenStack Operations Server**: A comprehensive MCP (Model Context Protocol) server providing OpenStack project management and monitoring capabilities with built-in safety controls and single-project scope.
|
|
4
4
|
|
|
5
|
+
[](https://mcpvault.io/servers/mcp-openstack-ops/health?utm_source=external_badge&utm_medium=referral&utm_campaign=mcp_health_report)
|
|
6
|
+
|
|
5
7
|
[](https://opensource.org/licenses/MIT)
|
|
6
8
|

|
|
7
9
|

|
|
@@ -17,19 +19,6 @@
|
|
|
17
19
|
|
|
18
20
|
[](https://deepwiki.com/call518/MCP-OpenStack-Ops)
|
|
19
21
|
|
|
20
|
-
## Package and GitHub Releases
|
|
21
|
-
|
|
22
|
-
Pushing a release tag runs the GitHub Actions publication workflow: build and
|
|
23
|
-
validate distributions, publish to TestPyPI, publish to PyPI, then create a GitHub
|
|
24
|
-
Release named after the tag. Tags must use `X.Y.Z` or `vX.Y.Z`, optionally followed
|
|
25
|
-
by `aN`, `bN`, or `rcN`; both distribution versions must match the tag.
|
|
26
|
-
|
|
27
|
-
Release notes include full commit messages since the most recently published
|
|
28
|
-
non-draft GitHub Release, in oldest-first topological order. The first Release
|
|
29
|
-
includes all commit history. Existing published Releases are left unchanged;
|
|
30
|
-
an existing draft or a previous Release outside the tag's ancestry stops release
|
|
31
|
-
creation for manual review. Prereleases are marked as such and are not made latest.
|
|
32
|
-
|
|
33
22
|
---
|
|
34
23
|
|
|
35
24
|
## Features
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mcp-openstack-ops
|
|
3
|
-
Version: 3.5.
|
|
3
|
+
Version: 3.5.8
|
|
4
4
|
Summary: OpenStack operations automation MCP server
|
|
5
5
|
Author-email: JungJungIn <call518@gmail.com>
|
|
6
6
|
Requires-Python: >=3.12
|
|
@@ -20,6 +20,8 @@ Dynamic: license-file
|
|
|
20
20
|
|
|
21
21
|
> **MCP OpenStack Operations Server**: A comprehensive MCP (Model Context Protocol) server providing OpenStack project management and monitoring capabilities with built-in safety controls and single-project scope.
|
|
22
22
|
|
|
23
|
+
[](https://mcpvault.io/servers/mcp-openstack-ops/health?utm_source=external_badge&utm_medium=referral&utm_campaign=mcp_health_report)
|
|
24
|
+
|
|
23
25
|
[](https://opensource.org/licenses/MIT)
|
|
24
26
|

|
|
25
27
|

|
|
@@ -35,19 +37,6 @@ Dynamic: license-file
|
|
|
35
37
|
|
|
36
38
|
[](https://deepwiki.com/call518/MCP-OpenStack-Ops)
|
|
37
39
|
|
|
38
|
-
## Package and GitHub Releases
|
|
39
|
-
|
|
40
|
-
Pushing a release tag runs the GitHub Actions publication workflow: build and
|
|
41
|
-
validate distributions, publish to TestPyPI, publish to PyPI, then create a GitHub
|
|
42
|
-
Release named after the tag. Tags must use `X.Y.Z` or `vX.Y.Z`, optionally followed
|
|
43
|
-
by `aN`, `bN`, or `rcN`; both distribution versions must match the tag.
|
|
44
|
-
|
|
45
|
-
Release notes include full commit messages since the most recently published
|
|
46
|
-
non-draft GitHub Release, in oldest-first topological order. The first Release
|
|
47
|
-
includes all commit history. Existing published Releases are left unchanged;
|
|
48
|
-
an existing draft or a previous Release outside the tag's ancestry stops release
|
|
49
|
-
creation for manual review. Prereleases are marked as such and are not made latest.
|
|
50
|
-
|
|
51
40
|
---
|
|
52
41
|
|
|
53
42
|
## Features
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
version = 1
|
|
2
|
-
revision =
|
|
2
|
+
revision = 5
|
|
3
3
|
requires-python = ">=3.12"
|
|
4
4
|
resolution-markers = [
|
|
5
5
|
"python_full_version >= '3.14' and sys_platform == 'win32'",
|
|
@@ -104,11 +104,11 @@ wheels = [
|
|
|
104
104
|
|
|
105
105
|
[[package]]
|
|
106
106
|
name = "certifi"
|
|
107
|
-
version = "2026.
|
|
107
|
+
version = "2026.10.19"
|
|
108
108
|
source = { registry = "https://pypi.org/simple" }
|
|
109
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
109
|
+
sdist = { url = "https://files.pythonhosted.org/packages/a6/bd/1436c50cc46699de0230fbaacc1d1de7bfec413176099949e9d5112e88f2/certifi-2026.10.19.tar.gz", hash = "sha256:035c1e85572b141bf1c3a3eff0e33a8eb74917522f2559075ff8d2fea780a1ae", size = 137598, upload-time = "2026-10-20T02:24:16.604Z" }
|
|
110
110
|
wheels = [
|
|
111
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
111
|
+
{ url = "https://files.pythonhosted.org/packages/c4/51/29046e48f693c54e5b7412216d447a1d8362c9653148d98c02cdf65fa733/certifi-2026.10.19-py3-none-any.whl", hash = "sha256:42d35340cc5b9ba78e818ddbff0c5b1c2b779de448a340fd1b989f5fa8670e1b", size = 136464, upload-time = "2026-10-20T02:24:15.072Z" },
|
|
112
112
|
]
|
|
113
113
|
|
|
114
114
|
[[package]]
|
|
@@ -331,11 +331,11 @@ wheels = [
|
|
|
331
331
|
|
|
332
332
|
[[package]]
|
|
333
333
|
name = "distlib"
|
|
334
|
-
version = "0.4.
|
|
334
|
+
version = "0.4.4"
|
|
335
335
|
source = { registry = "https://pypi.org/simple" }
|
|
336
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
336
|
+
sdist = { url = "https://files.pythonhosted.org/packages/68/bc/d36966de7304047a1001a7559fbf266c464bb5d8cc85464536ef8c9bcc32/distlib-0.4.4.tar.gz", hash = "sha256:ca4175b4ac7f71223cc30ed7248c45d2b38c2439d8ee6e498ab67ed63cf3508d", size = 621304, upload-time = "2026-10-16T13:56:34.203Z" }
|
|
337
337
|
wheels = [
|
|
338
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
338
|
+
{ url = "https://files.pythonhosted.org/packages/c1/2b/238f02a4927fa2e27aa995371d240a468b52e42eae44a678434aff736b38/distlib-0.4.4-py2.py3-none-any.whl", hash = "sha256:cf09d55b1e85a89576b036aeb71550bfd68320f3f21761ca329eadadad918638", size = 472099, upload-time = "2026-10-16T13:56:32.053Z" },
|
|
339
339
|
]
|
|
340
340
|
|
|
341
341
|
[[package]]
|
|
@@ -405,43 +405,83 @@ wheels = [
|
|
|
405
405
|
|
|
406
406
|
[[package]]
|
|
407
407
|
name = "fastmcp"
|
|
408
|
-
version = "3.
|
|
408
|
+
version = "3.4.10"
|
|
409
409
|
source = { registry = "https://pypi.org/simple" }
|
|
410
410
|
dependencies = [
|
|
411
|
+
{ name = "fastmcp-slim", extra = ["client", "server"] },
|
|
412
|
+
]
|
|
413
|
+
sdist = { url = "https://files.pythonhosted.org/packages/7e/ce/b2057fd2d3e453048ffae962c746ef7bcb9cf6700086fb1dfcff8a8ba65d/fastmcp-3.4.10.tar.gz", hash = "sha256:c6474855d6230cce4feb7084d654ba518578b25856c6ef26a2ff2d806ef68969", size = 28866789, upload-time = "2026-10-20T14:49:39.101Z" }
|
|
414
|
+
wheels = [
|
|
415
|
+
{ url = "https://files.pythonhosted.org/packages/40/c4/72da20dfbfce1c99e3c70bc973e736744daf6d461de138f52f9aaa558959/fastmcp-3.4.10-py3-none-any.whl", hash = "sha256:68f422db0a7c6228142663f17d9f79a5a12a509e1408a8ac207b3e442e166e38", size = 8026, upload-time = "2026-10-20T14:49:37.137Z" },
|
|
416
|
+
]
|
|
417
|
+
|
|
418
|
+
[[package]]
|
|
419
|
+
name = "fastmcp-slim"
|
|
420
|
+
version = "3.4.10"
|
|
421
|
+
source = { registry = "https://pypi.org/simple" }
|
|
422
|
+
dependencies = [
|
|
423
|
+
{ name = "platformdirs" },
|
|
424
|
+
{ name = "pydantic", extra = ["email"] },
|
|
425
|
+
{ name = "pydantic-settings" },
|
|
426
|
+
{ name = "python-dotenv" },
|
|
427
|
+
{ name = "rich" },
|
|
428
|
+
{ name = "typing-extensions" },
|
|
429
|
+
]
|
|
430
|
+
sdist = { url = "https://files.pythonhosted.org/packages/98/3b/28be7f0963fee1c848e78898d801e1232dd2e05b6e37026c400a788caa9a/fastmcp_slim-3.4.10.tar.gz", hash = "sha256:d80ae606ead8dfefa1f21b009929824210ea87eb4b422653a1be8dca61797ccd", size = 610326, upload-time = "2026-10-20T14:49:15.096Z" }
|
|
431
|
+
wheels = [
|
|
432
|
+
{ url = "https://files.pythonhosted.org/packages/7c/28/1e0681b524191ee170f40e8e800fd3785084e12806fc46675c70d7f8fa43/fastmcp_slim-3.4.10-py3-none-any.whl", hash = "sha256:f388941db8bdf38999e6c9d2536c4cd59a6571908d851cee2d10ee59f4e53532", size = 785895, upload-time = "2026-10-20T14:49:13.466Z" },
|
|
433
|
+
]
|
|
434
|
+
|
|
435
|
+
[package.optional-dependencies]
|
|
436
|
+
client = [
|
|
437
|
+
{ name = "authlib" },
|
|
438
|
+
{ name = "exceptiongroup" },
|
|
439
|
+
{ name = "httpx" },
|
|
440
|
+
{ name = "mcp" },
|
|
441
|
+
{ name = "opentelemetry-api" },
|
|
442
|
+
{ name = "py-key-value-aio", extra = ["filetree", "keyring", "memory"] },
|
|
443
|
+
{ name = "starlette" },
|
|
444
|
+
]
|
|
445
|
+
server = [
|
|
411
446
|
{ name = "authlib" },
|
|
412
447
|
{ name = "cyclopts" },
|
|
413
448
|
{ name = "exceptiongroup" },
|
|
449
|
+
{ name = "griffelib" },
|
|
414
450
|
{ name = "httpx" },
|
|
451
|
+
{ name = "joserfc" },
|
|
415
452
|
{ name = "jsonref" },
|
|
416
453
|
{ name = "jsonschema-path" },
|
|
417
454
|
{ name = "mcp" },
|
|
418
455
|
{ name = "openapi-pydantic" },
|
|
419
456
|
{ name = "opentelemetry-api" },
|
|
420
457
|
{ name = "packaging" },
|
|
421
|
-
{ name = "platformdirs" },
|
|
422
458
|
{ name = "py-key-value-aio", extra = ["filetree", "keyring", "memory"] },
|
|
423
|
-
{ name = "pydantic", extra = ["email"] },
|
|
424
459
|
{ name = "pyperclip" },
|
|
425
|
-
{ name = "python-
|
|
460
|
+
{ name = "python-multipart" },
|
|
426
461
|
{ name = "pyyaml" },
|
|
427
|
-
{ name = "
|
|
462
|
+
{ name = "starlette" },
|
|
428
463
|
{ name = "uncalled-for" },
|
|
429
464
|
{ name = "uvicorn" },
|
|
430
465
|
{ name = "watchfiles" },
|
|
431
466
|
{ name = "websockets" },
|
|
432
467
|
]
|
|
433
|
-
|
|
468
|
+
|
|
469
|
+
[[package]]
|
|
470
|
+
name = "filelock"
|
|
471
|
+
version = "4.2.1"
|
|
472
|
+
source = { registry = "https://pypi.org/simple" }
|
|
473
|
+
sdist = { url = "https://files.pythonhosted.org/packages/d5/98/771d8ca889f220d7d7e352addf500666368f0fd081c6080a83767580c6e4/filelock-4.2.1.tar.gz", hash = "sha256:c4c937ccac2a813cee448e662a56366cfb374c0f8702e75f295c412cc1c5d5a3", size = 650997, upload-time = "2026-10-17T16:48:14.435Z" }
|
|
434
474
|
wheels = [
|
|
435
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
475
|
+
{ url = "https://files.pythonhosted.org/packages/28/00/db89d339bc4ecdc8087fa7b8607ba22ffc27bf96286f340c9620bea428b3/filelock-4.2.1-py3-none-any.whl", hash = "sha256:7be2662e9e826b9bba28afc0f843a123280d799a2ea44bb5d35ccec67905ae44", size = 162455, upload-time = "2026-10-17T16:48:12.937Z" },
|
|
436
476
|
]
|
|
437
477
|
|
|
438
478
|
[[package]]
|
|
439
|
-
name = "
|
|
440
|
-
version = "
|
|
479
|
+
name = "griffelib"
|
|
480
|
+
version = "2.4.1"
|
|
441
481
|
source = { registry = "https://pypi.org/simple" }
|
|
442
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
482
|
+
sdist = { url = "https://files.pythonhosted.org/packages/36/e2/0f5d8ed08766bc6dcd3eebf5a6623d83cbca33a6e4c90aef57156ce745ad/griffelib-2.4.1.tar.gz", hash = "sha256:40c028dd2e623f464423f0e11e3c553158f1cf4f1368239a370534d73e1407ff", size = 245153, upload-time = "2026-10-22T11:20:03.705Z" }
|
|
443
483
|
wheels = [
|
|
444
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
484
|
+
{ url = "https://files.pythonhosted.org/packages/de/02/1156d5f5307f573b901b14373848b84e69ca6cab09169b8cc97d16a181f9/griffelib-2.4.1-py3-none-any.whl", hash = "sha256:76bc562f936ad1ce198d2cf6d0731bd5c92a7d934b69ef828ef22ee0ffdb62ce", size = 172983, upload-time = "2026-10-22T11:19:59.843Z" },
|
|
445
485
|
]
|
|
446
486
|
|
|
447
487
|
[[package]]
|
|
@@ -508,18 +548,6 @@ wheels = [
|
|
|
508
548
|
{ url = "https://files.pythonhosted.org/packages/d2/23/408243171aa9aaba178d3e2559159c24c1171a641aa83b67bdd3394ead8e/idna-3.15-py3-none-any.whl", hash = "sha256:048adeaf8c2d788c40fee287673ccaa74c24ffd8dcf09ffa555a2fbb59f10ac8", size = 72340, upload-time = "2026-05-12T22:45:55.733Z" },
|
|
509
549
|
]
|
|
510
550
|
|
|
511
|
-
[[package]]
|
|
512
|
-
name = "importlib-metadata"
|
|
513
|
-
version = "8.7.1"
|
|
514
|
-
source = { registry = "https://pypi.org/simple" }
|
|
515
|
-
dependencies = [
|
|
516
|
-
{ name = "zipp" },
|
|
517
|
-
]
|
|
518
|
-
sdist = { url = "https://files.pythonhosted.org/packages/f3/49/3b30cad09e7771a4982d9975a8cbf64f00d4a1ececb53297f1d9a7be1b10/importlib_metadata-8.7.1.tar.gz", hash = "sha256:49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb", size = 57107, upload-time = "2025-12-21T10:00:19.278Z" }
|
|
519
|
-
wheels = [
|
|
520
|
-
{ url = "https://files.pythonhosted.org/packages/fa/5e/f8e9a1d23b9c20a551a8a02ea3637b4642e22c2626e3a13a9a29cdea99eb/importlib_metadata-8.7.1-py3-none-any.whl", hash = "sha256:5a1f80bf1daa489495071efbb095d75a634cf28a8bc299581244063b53176151", size = 27865, upload-time = "2025-12-21T10:00:18.329Z" },
|
|
521
|
-
]
|
|
522
|
-
|
|
523
551
|
[[package]]
|
|
524
552
|
name = "iniconfig"
|
|
525
553
|
version = "2.3.0"
|
|
@@ -589,6 +617,18 @@ wheels = [
|
|
|
589
617
|
{ url = "https://files.pythonhosted.org/packages/14/2f/967ba146e6d58cf6a652da73885f52fc68001525b4197effc174321d70b4/jmespath-1.1.0-py3-none-any.whl", hash = "sha256:a5663118de4908c91729bea0acadca56526eb2698e83de10cd116ae0f4e97c64", size = 20419, upload-time = "2026-01-22T16:35:24.919Z" },
|
|
590
618
|
]
|
|
591
619
|
|
|
620
|
+
[[package]]
|
|
621
|
+
name = "joserfc"
|
|
622
|
+
version = "1.7.7"
|
|
623
|
+
source = { registry = "https://pypi.org/simple" }
|
|
624
|
+
dependencies = [
|
|
625
|
+
{ name = "cryptography" },
|
|
626
|
+
]
|
|
627
|
+
sdist = { url = "https://files.pythonhosted.org/packages/bd/15/48ff246732232d35ee234228def22b52455fcc55577f06146602399a29b0/joserfc-1.7.7.tar.gz", hash = "sha256:471d0fd12a5a0d1c0942de280f39efe6f597878315033270b504d4d006d25510", size = 237446, upload-time = "2026-10-19T00:30:29.974Z" }
|
|
628
|
+
wheels = [
|
|
629
|
+
{ url = "https://files.pythonhosted.org/packages/df/9f/934db284aa22f37af59708e382903860d4b81329c137b1b0ed2745daeb65/joserfc-1.7.7-py3-none-any.whl", hash = "sha256:06979cfbab78bc802f14c0358f32969826cc26720e13cb38926ffdc86bc0cb2c", size = 71758, upload-time = "2026-10-19T00:30:28.498Z" },
|
|
630
|
+
]
|
|
631
|
+
|
|
592
632
|
[[package]]
|
|
593
633
|
name = "jsonpatch"
|
|
594
634
|
version = "1.33"
|
|
@@ -827,15 +867,14 @@ wheels = [
|
|
|
827
867
|
|
|
828
868
|
[[package]]
|
|
829
869
|
name = "opentelemetry-api"
|
|
830
|
-
version = "1.
|
|
870
|
+
version = "1.45.1"
|
|
831
871
|
source = { registry = "https://pypi.org/simple" }
|
|
832
872
|
dependencies = [
|
|
833
|
-
{ name = "importlib-metadata" },
|
|
834
873
|
{ name = "typing-extensions" },
|
|
835
874
|
]
|
|
836
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
875
|
+
sdist = { url = "https://files.pythonhosted.org/packages/2e/02/6e0ae9cc61bd3169d401077b507b3ebc344745171e1051ab430be012dcd9/opentelemetry_api-1.45.1.tar.gz", hash = "sha256:aa38ed19bcc084ba42782a73255b3582283eced7ad6dddbd6695189e69adfb75", size = 72804, upload-time = "2026-10-06T17:32:58.133Z" }
|
|
837
876
|
wheels = [
|
|
838
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
877
|
+
{ url = "https://files.pythonhosted.org/packages/1e/41/f7dcf80b81ee8e71c1a2b59f14208bc723edbd89ed027a73b175abf6348e/opentelemetry_api-1.45.1-py3-none-any.whl", hash = "sha256:b31553efa588ae44bc306f863c785c5333a9ecc091248c6ee68b4b6c87fdedfb", size = 60256, upload-time = "2026-10-06T17:32:33.506Z" },
|
|
839
878
|
]
|
|
840
879
|
|
|
841
880
|
[[package]]
|
|
@@ -853,11 +892,11 @@ wheels = [
|
|
|
853
892
|
|
|
854
893
|
[[package]]
|
|
855
894
|
name = "packaging"
|
|
856
|
-
version = "26.
|
|
895
|
+
version = "26.3"
|
|
857
896
|
source = { registry = "https://pypi.org/simple" }
|
|
858
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
897
|
+
sdist = { url = "https://files.pythonhosted.org/packages/7d/fa/3944b40b07da9ce895c0e6303a5ab7d53da063554f534556b134a54d6093/packaging-26.3.tar.gz", hash = "sha256:94edc256424af38762eb31306eed28beb9f0efc50a8837492c9d6fd6004aed79", size = 313412, upload-time = "2026-08-04T18:15:28.737Z" }
|
|
859
898
|
wheels = [
|
|
860
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
899
|
+
{ url = "https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl", hash = "sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c", size = 129956, upload-time = "2026-08-04T18:15:27.159Z" },
|
|
861
900
|
]
|
|
862
901
|
|
|
863
902
|
[[package]]
|
|
@@ -1404,11 +1443,11 @@ wheels = [
|
|
|
1404
1443
|
|
|
1405
1444
|
[[package]]
|
|
1406
1445
|
name = "setuptools"
|
|
1407
|
-
version = "84.
|
|
1446
|
+
version = "84.2.1"
|
|
1408
1447
|
source = { registry = "https://pypi.org/simple" }
|
|
1409
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1448
|
+
sdist = { url = "https://files.pythonhosted.org/packages/70/b3/c19426f783614d625699a4b247faf628ea9ab1db228674491767b417f9e1/setuptools-84.2.1.tar.gz", hash = "sha256:3ff8b3b5492a0aa66960f4419365a86b84e013070d4313e4d4a6894f5d64d6bc", size = 1230289, upload-time = "2026-10-20T19:01:37.742Z" }
|
|
1410
1449
|
wheels = [
|
|
1411
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1450
|
+
{ url = "https://files.pythonhosted.org/packages/ef/55/6dc6d6bb953bdfc52519a0059592c52b6e3b8ad51cf8256dffceb55b0610/setuptools-84.2.1-py3-none-any.whl", hash = "sha256:ca140b45d5325a9478f880e351484f62fef15f336462e449ca0c03c873d589c2", size = 876263, upload-time = "2026-10-20T19:01:35.678Z" },
|
|
1412
1451
|
]
|
|
1413
1452
|
|
|
1414
1453
|
[[package]]
|
|
@@ -1526,17 +1565,18 @@ wheels = [
|
|
|
1526
1565
|
|
|
1527
1566
|
[[package]]
|
|
1528
1567
|
name = "virtualenv"
|
|
1529
|
-
version = "21.
|
|
1568
|
+
version = "21.14.13"
|
|
1530
1569
|
source = { registry = "https://pypi.org/simple" }
|
|
1531
1570
|
dependencies = [
|
|
1532
1571
|
{ name = "distlib" },
|
|
1533
1572
|
{ name = "filelock" },
|
|
1573
|
+
{ name = "packaging" },
|
|
1534
1574
|
{ name = "platformdirs" },
|
|
1535
1575
|
{ name = "python-discovery" },
|
|
1536
1576
|
]
|
|
1537
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1577
|
+
sdist = { url = "https://files.pythonhosted.org/packages/70/aa/bff50daee0488e16d611258a9b6c5a1d0c9e128f8ca424e9f4e1c0444ef2/virtualenv-21.14.13.tar.gz", hash = "sha256:de5307ba4b9a0001d9c8ea02832d38f63ca432880f416c1bface61c4323fd905", size = 5570301, upload-time = "2026-10-22T20:10:16.952Z" }
|
|
1538
1578
|
wheels = [
|
|
1539
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1579
|
+
{ url = "https://files.pythonhosted.org/packages/bb/a9/c10d8a44a29fb94a18b43fdf11f38caca53ae7c9406f11a72b1cb8f624f1/virtualenv-21.14.13-py3-none-any.whl", hash = "sha256:5fbb04138a4861580b78ba9110d529a26bc48fcc93c8ec36bc0202eeed96a788", size = 5557094, upload-time = "2026-10-22T20:10:15.096Z" },
|
|
1540
1580
|
]
|
|
1541
1581
|
|
|
1542
1582
|
[[package]]
|
|
@@ -1653,12 +1693,3 @@ wheels = [
|
|
|
1653
1693
|
{ url = "https://files.pythonhosted.org/packages/9f/3e/28135a24e384493fa804216b79a6a6759a38cc4ff59118787b9fb693df93/websockets-16.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b14dc141ed6d2dde437cddb216004bcac6a1df0935d79656387bd41632ba0bbd", size = 178531, upload-time = "2026-01-10T09:23:35.016Z" },
|
|
1654
1694
|
{ url = "https://files.pythonhosted.org/packages/6f/28/258ebab549c2bf3e64d2b0217b973467394a9cea8c42f70418ca2c5d0d2e/websockets-16.0-py3-none-any.whl", hash = "sha256:1637db62fad1dc833276dded54215f2c7fa46912301a24bd94d45d46a011ceec", size = 171598, upload-time = "2026-01-10T09:23:45.395Z" },
|
|
1655
1695
|
]
|
|
1656
|
-
|
|
1657
|
-
[[package]]
|
|
1658
|
-
name = "zipp"
|
|
1659
|
-
version = "3.23.0"
|
|
1660
|
-
source = { registry = "https://pypi.org/simple" }
|
|
1661
|
-
sdist = { url = "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166", size = 25547, upload-time = "2025-06-08T17:06:39.4Z" }
|
|
1662
|
-
wheels = [
|
|
1663
|
-
{ url = "https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl", hash = "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e", size = 10276, upload-time = "2025-06-08T17:06:38.034Z" },
|
|
1664
|
-
]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/img/MCP-Workflow-of-Quickstart-Tutorial.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/img/screenshot-example-cluster-status.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/prompt_template.md
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/__init__.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/compute.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/identity.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/monitoring.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/network.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/orchestration.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/services/storage.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_floating_ips.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_heat_stacks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_instance.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_keypair_list.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_quota.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_routers.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_server_events.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_server_groups.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_user_list.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_volume_list.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/get_volume_types.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/search_instances.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_alarms.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_domains.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_flavor.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_floating_ip.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_heat_stack.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_image.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_image_members.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_instance.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_keypair.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_load_balancer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_metrics.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_network_ports.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_networks.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_project.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_quota.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_roles.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_backup.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_dump.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_group.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_server_volume.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_service_logs.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_services.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_snapshot.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_subnets.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_volume.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_volume_groups.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops/tools/set_volume_qos.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops.egg-info/entry_points.txt
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops.egg-info/requires.txt
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.6 → mcp_openstack_ops-3.5.8}/src/mcp_openstack_ops.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|