mcp-openstack-ops 3.5.4__tar.gz → 3.5.5__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.4 → mcp_openstack_ops-3.5.5}/PKG-INFO +2 -2
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/pyproject.toml +1 -1
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/connection.py +6 -3
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops.egg-info/PKG-INFO +2 -2
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops.egg-info/requires.txt +1 -1
- mcp_openstack_ops-3.5.5/src/mcp_openstack_ops.egg-info/scm_version.json +8 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/uv.lock +3 -3
- mcp_openstack_ops-3.5.4/src/mcp_openstack_ops.egg-info/scm_version.json +0 -8
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/.env.example +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/.env.test +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/.github/FUNDING.yml +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/.github/copilot-instructions.md +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/.github/dependabot.yml +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/.github/workflows/pypi-publish.yml +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/.gitignore +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/.gitleaks.toml +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/.pre-commit-config.yaml +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/.python-version +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/Dockerfile.MCP-Server +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/Dockerfile.MCPO-Proxy +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/LICENSE +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/MANIFEST.in +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/README.md +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/build-mcp-server-docker-image.sh +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/build-mcpo-server-docker-image.sh +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/diagnose_openstack.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/docker-compose.yml +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/img/MCP-Workflow-of-Quickstart-Tutorial.png +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/img/screenshot-claude-desktop.png +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/img/screenshot-claude-desktop.png:Zone.Identifier +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/img/screenshot-example-cluster-status.png +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/img/screenshot-openstack-dashboard.png +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/main.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/mcp-config.json.http +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/mcp-config.json.multi-project +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/mcp-config.json.stdio +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/scripts/mcp-server-docker-cmd.sh +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/scripts/run-mcp-inspector-local.sh +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/scripts/run-mcp-inspector-pypi.sh +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/setup.cfg +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/__init__.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/__main__.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/functions.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/mcp_main.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/prompt_template.md +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/__init__.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/compute.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/core.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/identity.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/image.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/load_balancer/__init__.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/load_balancer/amphorae.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/load_balancer/core.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/load_balancer/health_monitors.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/load_balancer/l7_policies.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/load_balancer/listeners.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/load_balancer/management.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/load_balancer/pools.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/monitoring.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/network.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/orchestration.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/storage.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/__init__.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_availability_zones.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_floating_ip_pools.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_floating_ips.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_heat_stacks.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_hypervisor_details.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_image_detail_list.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_instance.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_instance_by_name.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_instance_details.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_instances_by_status.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_keypair_list.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_load_balancer_amphorae.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_load_balancer_availability_zones.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_load_balancer_details.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_load_balancer_flavors.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_load_balancer_health_monitors.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_load_balancer_l7_policies.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_load_balancer_l7_rules.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_load_balancer_list.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_load_balancer_listeners.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_load_balancer_pool_members.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_load_balancer_pools.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_load_balancer_providers.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_load_balancer_quotas.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_network_details.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_project_details.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_quota.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_resource_monitoring.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_role_assignments.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_routers.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_security_groups.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_server_events.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_server_groups.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_server_volumes.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_service_status.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_usage_statistics.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_user_list.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_volume_list.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_volume_snapshots.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_volume_types.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/search_instances.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_alarms.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_compute_agents.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_domains.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_flavor.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_floating_ip.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_floating_ip_port_forwarding.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_heat_stack.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_identity_groups.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_image.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_image_members.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_image_metadata.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_image_visibility.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_instance.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_keypair.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_load_balancer.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_load_balancer_amphora.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_load_balancer_availability_zone.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_load_balancer_flavor.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_load_balancer_health_monitor.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_load_balancer_l7_policy.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_load_balancer_l7_rule.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_load_balancer_listener.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_load_balancer_pool.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_load_balancer_pool_member.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_load_balancer_quota.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_metrics.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_network_agents.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_network_ports.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_network_qos_policies.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_networks.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_project.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_quota.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_roles.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_backup.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_dump.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_fixed_ip.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_floating_ip.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_group.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_migration.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_network.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_properties.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_security_group.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_volume.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_service_logs.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_services.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_snapshot.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_subnets.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_volume.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_volume_backups.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_volume_groups.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_volume_qos.py +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops.egg-info/SOURCES.txt +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops.egg-info/dependency_links.txt +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops.egg-info/entry_points.txt +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops.egg-info/scm_file_list.json +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops.egg-info/top_level.txt +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/test_compatibility.sh +0 -0
- {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/test_project_isolation.py +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mcp-openstack-ops
|
|
3
|
-
Version: 3.5.
|
|
3
|
+
Version: 3.5.5
|
|
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.21.0,>=4.1.0
|
|
11
11
|
Requires-Dist: python-dotenv>=1.1.1
|
|
12
12
|
Requires-Dist: setuptools-scm>=10.0.5
|
|
13
13
|
Requires-Dist: pre-commit>=4.6.0
|
|
@@ -7,7 +7,7 @@ requires-python = ">=3.12"
|
|
|
7
7
|
authors = [{ name = "JungJungIn", email = "call518@gmail.com" }]
|
|
8
8
|
dependencies = [
|
|
9
9
|
"fastmcp>=2.12.3",
|
|
10
|
-
"openstacksdk>=4.1.0,<=4.
|
|
10
|
+
"openstacksdk>=4.1.0,<=4.21.0",
|
|
11
11
|
"python-dotenv>=1.1.1",
|
|
12
12
|
"setuptools-scm>=10.0.5",
|
|
13
13
|
"pre-commit>=4.6.0",
|
|
@@ -152,10 +152,13 @@ def get_current_project_id() -> str:
|
|
|
152
152
|
"""
|
|
153
153
|
try:
|
|
154
154
|
conn = get_openstack_connection()
|
|
155
|
-
# Get project ID from the token
|
|
155
|
+
# Get project ID from the token scope. conn.auth only holds the
|
|
156
|
+
# configured auth args, so it has no project_id when the connection
|
|
157
|
+
# is scoped by project name.
|
|
156
158
|
token = conn.identity.get_token()
|
|
157
|
-
project_id = conn.
|
|
158
|
-
|
|
159
|
+
project_id = conn.current_project_id or \
|
|
160
|
+
conn.auth.get('project_id') or conn.auth.get('tenant_id')
|
|
161
|
+
|
|
159
162
|
if not project_id:
|
|
160
163
|
# Fallback: get from project name
|
|
161
164
|
project_name = os.environ.get("OS_PROJECT_NAME")
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mcp-openstack-ops
|
|
3
|
-
Version: 3.5.
|
|
3
|
+
Version: 3.5.5
|
|
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.21.0,>=4.1.0
|
|
11
11
|
Requires-Dist: python-dotenv>=1.1.1
|
|
12
12
|
Requires-Dist: setuptools-scm>=10.0.5
|
|
13
13
|
Requires-Dist: pre-commit>=4.6.0
|
|
@@ -709,7 +709,7 @@ wheels = [
|
|
|
709
709
|
|
|
710
710
|
[[package]]
|
|
711
711
|
name = "mcp"
|
|
712
|
-
version = "1.
|
|
712
|
+
version = "1.30.0"
|
|
713
713
|
source = { registry = "https://pypi.org/simple" }
|
|
714
714
|
dependencies = [
|
|
715
715
|
{ name = "anyio" },
|
|
@@ -727,9 +727,9 @@ dependencies = [
|
|
|
727
727
|
{ name = "typing-inspection" },
|
|
728
728
|
{ name = "uvicorn", marker = "sys_platform != 'emscripten'" },
|
|
729
729
|
]
|
|
730
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
730
|
+
sdist = { url = "https://files.pythonhosted.org/packages/ba/93/0142dc84a666daf8ad51a34268f34c12fd6fda4f3810c4be2504eecc8212/mcp-1.30.0.tar.gz", hash = "sha256:445414625fce5c295faa505bb11bacece661ab6f4028d57c935db57820b7a3e4", size = 680511, upload-time = "2026-09-07T14:34:15.845Z" }
|
|
731
731
|
wheels = [
|
|
732
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
732
|
+
{ url = "https://files.pythonhosted.org/packages/f5/f4/e58bc33317c92a0203664daaf00bf6f41166cc0149e5d6870a03f7cd004a/mcp-1.30.0-py3-none-any.whl", hash = "sha256:666edb5009503e1047c9d60346a756f94b261f05cc2625f23d41c728ffc484d0", size = 234581, upload-time = "2026-09-07T14:34:14.266Z" },
|
|
733
733
|
]
|
|
734
734
|
|
|
735
735
|
[[package]]
|
|
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
|
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/img/MCP-Workflow-of-Quickstart-Tutorial.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/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
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/prompt_template.md
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/__init__.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/compute.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/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.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/monitoring.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/network.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/orchestration.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/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.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_floating_ips.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_heat_stacks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/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.4 → mcp_openstack_ops-3.5.5}/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.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_quota.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_routers.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_server_events.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/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.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_user_list.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_volume_list.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_volume_types.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/search_instances.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_alarms.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_domains.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_flavor.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_floating_ip.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_heat_stack.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_image.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_image_members.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_instance.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_keypair.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/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.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_metrics.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_network_ports.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_networks.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_project.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_quota.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_roles.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_backup.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_dump.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/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.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_volume.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_service_logs.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_services.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_snapshot.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_subnets.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_volume.py
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_volume_groups.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_volume_qos.py
RENAMED
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
{mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|