mcp-openstack-ops 3.5.3__tar.gz → 3.5.4__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.
Files changed (162) hide show
  1. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/PKG-INFO +2 -2
  2. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/README.md +1 -1
  3. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops.egg-info/PKG-INFO +2 -2
  4. mcp_openstack_ops-3.5.4/src/mcp_openstack_ops.egg-info/scm_version.json +8 -0
  5. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/uv.lock +18 -19
  6. mcp_openstack_ops-3.5.3/src/mcp_openstack_ops.egg-info/scm_version.json +0 -8
  7. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/.env.example +0 -0
  8. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/.env.test +0 -0
  9. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/.github/FUNDING.yml +0 -0
  10. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/.github/copilot-instructions.md +0 -0
  11. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/.github/dependabot.yml +0 -0
  12. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/.github/workflows/pypi-publish.yml +0 -0
  13. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/.gitignore +0 -0
  14. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/.gitleaks.toml +0 -0
  15. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/.pre-commit-config.yaml +0 -0
  16. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/.python-version +0 -0
  17. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/Dockerfile.MCP-Server +0 -0
  18. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/Dockerfile.MCPO-Proxy +0 -0
  19. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/LICENSE +0 -0
  20. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/MANIFEST.in +0 -0
  21. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/build-mcp-server-docker-image.sh +0 -0
  22. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/build-mcpo-server-docker-image.sh +0 -0
  23. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/diagnose_openstack.py +0 -0
  24. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/docker-compose.yml +0 -0
  25. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/img/MCP-Workflow-of-Quickstart-Tutorial.png +0 -0
  26. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/img/screenshot-claude-desktop.png +0 -0
  27. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/img/screenshot-claude-desktop.png:Zone.Identifier +0 -0
  28. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/img/screenshot-example-cluster-status.png +0 -0
  29. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/img/screenshot-openstack-dashboard.png +0 -0
  30. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/main.py +0 -0
  31. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/mcp-config.json.http +0 -0
  32. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/mcp-config.json.multi-project +0 -0
  33. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/mcp-config.json.stdio +0 -0
  34. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/pyproject.toml +0 -0
  35. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/scripts/mcp-server-docker-cmd.sh +0 -0
  36. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/scripts/run-mcp-inspector-local.sh +0 -0
  37. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/scripts/run-mcp-inspector-pypi.sh +0 -0
  38. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/setup.cfg +0 -0
  39. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/__init__.py +0 -0
  40. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/__main__.py +0 -0
  41. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/connection.py +0 -0
  42. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/functions.py +0 -0
  43. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/mcp_main.py +0 -0
  44. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/prompt_template.md +0 -0
  45. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/services/__init__.py +0 -0
  46. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/services/compute.py +0 -0
  47. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/services/core.py +0 -0
  48. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/services/identity.py +0 -0
  49. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/services/image.py +0 -0
  50. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/services/load_balancer/__init__.py +0 -0
  51. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/services/load_balancer/amphorae.py +0 -0
  52. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/services/load_balancer/core.py +0 -0
  53. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/services/load_balancer/health_monitors.py +0 -0
  54. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/services/load_balancer/l7_policies.py +0 -0
  55. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/services/load_balancer/listeners.py +0 -0
  56. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/services/load_balancer/management.py +0 -0
  57. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/services/load_balancer/pools.py +0 -0
  58. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/services/monitoring.py +0 -0
  59. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/services/network.py +0 -0
  60. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/services/orchestration.py +0 -0
  61. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/services/storage.py +0 -0
  62. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/__init__.py +0 -0
  63. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_availability_zones.py +0 -0
  64. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_floating_ip_pools.py +0 -0
  65. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_floating_ips.py +0 -0
  66. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_heat_stacks.py +0 -0
  67. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_hypervisor_details.py +0 -0
  68. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_image_detail_list.py +0 -0
  69. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_instance.py +0 -0
  70. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_instance_by_name.py +0 -0
  71. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_instance_details.py +0 -0
  72. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_instances_by_status.py +0 -0
  73. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_keypair_list.py +0 -0
  74. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_load_balancer_amphorae.py +0 -0
  75. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_load_balancer_availability_zones.py +0 -0
  76. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_load_balancer_details.py +0 -0
  77. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_load_balancer_flavors.py +0 -0
  78. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_load_balancer_health_monitors.py +0 -0
  79. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_load_balancer_l7_policies.py +0 -0
  80. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_load_balancer_l7_rules.py +0 -0
  81. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_load_balancer_list.py +0 -0
  82. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_load_balancer_listeners.py +0 -0
  83. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_load_balancer_pool_members.py +0 -0
  84. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_load_balancer_pools.py +0 -0
  85. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_load_balancer_providers.py +0 -0
  86. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_load_balancer_quotas.py +0 -0
  87. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_network_details.py +0 -0
  88. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_project_details.py +0 -0
  89. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_quota.py +0 -0
  90. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_resource_monitoring.py +0 -0
  91. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_role_assignments.py +0 -0
  92. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_routers.py +0 -0
  93. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_security_groups.py +0 -0
  94. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_server_events.py +0 -0
  95. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_server_groups.py +0 -0
  96. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_server_volumes.py +0 -0
  97. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_service_status.py +0 -0
  98. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_usage_statistics.py +0 -0
  99. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_user_list.py +0 -0
  100. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_volume_list.py +0 -0
  101. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_volume_snapshots.py +0 -0
  102. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/get_volume_types.py +0 -0
  103. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/search_instances.py +0 -0
  104. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_alarms.py +0 -0
  105. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_compute_agents.py +0 -0
  106. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_domains.py +0 -0
  107. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_flavor.py +0 -0
  108. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_floating_ip.py +0 -0
  109. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_floating_ip_port_forwarding.py +0 -0
  110. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_heat_stack.py +0 -0
  111. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_identity_groups.py +0 -0
  112. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_image.py +0 -0
  113. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_image_members.py +0 -0
  114. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_image_metadata.py +0 -0
  115. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_image_visibility.py +0 -0
  116. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_instance.py +0 -0
  117. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_keypair.py +0 -0
  118. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_load_balancer.py +0 -0
  119. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_load_balancer_amphora.py +0 -0
  120. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_load_balancer_availability_zone.py +0 -0
  121. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_load_balancer_flavor.py +0 -0
  122. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_load_balancer_health_monitor.py +0 -0
  123. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_load_balancer_l7_policy.py +0 -0
  124. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_load_balancer_l7_rule.py +0 -0
  125. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_load_balancer_listener.py +0 -0
  126. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_load_balancer_pool.py +0 -0
  127. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_load_balancer_pool_member.py +0 -0
  128. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_load_balancer_quota.py +0 -0
  129. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_metrics.py +0 -0
  130. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_network_agents.py +0 -0
  131. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_network_ports.py +0 -0
  132. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_network_qos_policies.py +0 -0
  133. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_networks.py +0 -0
  134. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_project.py +0 -0
  135. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_quota.py +0 -0
  136. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_roles.py +0 -0
  137. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_server_backup.py +0 -0
  138. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_server_dump.py +0 -0
  139. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_server_fixed_ip.py +0 -0
  140. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_server_floating_ip.py +0 -0
  141. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_server_group.py +0 -0
  142. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_server_migration.py +0 -0
  143. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_server_network.py +0 -0
  144. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_server_properties.py +0 -0
  145. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_server_security_group.py +0 -0
  146. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_server_volume.py +0 -0
  147. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_service_logs.py +0 -0
  148. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_services.py +0 -0
  149. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_snapshot.py +0 -0
  150. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_subnets.py +0 -0
  151. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_volume.py +0 -0
  152. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_volume_backups.py +0 -0
  153. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_volume_groups.py +0 -0
  154. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops/tools/set_volume_qos.py +0 -0
  155. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops.egg-info/SOURCES.txt +0 -0
  156. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops.egg-info/dependency_links.txt +0 -0
  157. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops.egg-info/entry_points.txt +0 -0
  158. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops.egg-info/requires.txt +0 -0
  159. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops.egg-info/scm_file_list.json +0 -0
  160. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/src/mcp_openstack_ops.egg-info/top_level.txt +0 -0
  161. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/test_compatibility.sh +0 -0
  162. {mcp_openstack_ops-3.5.3 → mcp_openstack_ops-3.5.4}/test_project_isolation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-openstack-ops
3
- Version: 3.5.3
3
+ Version: 3.5.4
4
4
  Summary: OpenStack operations automation MCP server
5
5
  Author-email: JungJungIn <call518@gmail.com>
6
6
  Requires-Python: >=3.12
@@ -33,7 +33,7 @@ Dynamic: license-file
33
33
 
34
34
  ## Architecture & Internal (DeepWiki)
35
35
 
36
- [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/call518/MCP-OpenStack-Ops)
36
+ [![Ask DeepWiki](https://img.shields.io/badge/Ask-DeepWiki-blue)](https://deepwiki.com/call518/MCP-OpenStack-Ops)
37
37
 
38
38
  ---
39
39
 
@@ -15,7 +15,7 @@
15
15
 
16
16
  ## Architecture & Internal (DeepWiki)
17
17
 
18
- [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/call518/MCP-OpenStack-Ops)
18
+ [![Ask DeepWiki](https://img.shields.io/badge/Ask-DeepWiki-blue)](https://deepwiki.com/call518/MCP-OpenStack-Ops)
19
19
 
20
20
  ---
21
21
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-openstack-ops
3
- Version: 3.5.3
3
+ Version: 3.5.4
4
4
  Summary: OpenStack operations automation MCP server
5
5
  Author-email: JungJungIn <call518@gmail.com>
6
6
  Requires-Python: >=3.12
@@ -33,7 +33,7 @@ Dynamic: license-file
33
33
 
34
34
  ## Architecture & Internal (DeepWiki)
35
35
 
36
- [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/call518/MCP-OpenStack-Ops)
36
+ [![Ask DeepWiki](https://img.shields.io/badge/Ask-DeepWiki-blue)](https://deepwiki.com/call518/MCP-OpenStack-Ops)
37
37
 
38
38
  ---
39
39
 
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "3.5.4",
3
+ "distance": 0,
4
+ "node": "g3f716d66758a8db4ddd3f8dedff7dd56d23aebfe",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-10-09"
8
+ }
@@ -1,5 +1,5 @@
1
1
  version = 1
2
- revision = 2
2
+ revision = 3
3
3
  requires-python = ">=3.12"
4
4
  resolution-markers = [
5
5
  "python_full_version >= '3.14' and sys_platform == 'win32'",
@@ -31,15 +31,15 @@ wheels = [
31
31
 
32
32
  [[package]]
33
33
  name = "anyio"
34
- version = "4.12.1"
34
+ version = "4.14.2"
35
35
  source = { registry = "https://pypi.org/simple" }
36
36
  dependencies = [
37
37
  { name = "idna" },
38
38
  { name = "typing-extensions", marker = "python_full_version < '3.13'" },
39
39
  ]
40
- sdist = { url = "https://files.pythonhosted.org/packages/96/f0/5eb65b2bb0d09ac6776f2eb54adee6abe8228ea05b20a5ad0e4945de8aac/anyio-4.12.1.tar.gz", hash = "sha256:41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703", size = 228685, upload-time = "2026-01-06T11:45:21.246Z" }
40
+ sdist = { url = "https://files.pythonhosted.org/packages/61/cc/a381afa6efea9f496eff839d4a6a1aed3bfafc7b3ab4b0d1b243a12573dd/anyio-4.14.2.tar.gz", hash = "sha256:cfa139f3ed1a23ee8f88a145ddb5ac7605b8bbfd8592baacd7ce3d8bb4313c7f", size = 260176, upload-time = "2026-07-12T20:29:07.082Z" }
41
41
  wheels = [
42
- { url = "https://files.pythonhosted.org/packages/38/0e/27be9fdef66e72d64c0cdc3cc2823101b80585f8119b5c112c2e8f5f7dab/anyio-4.12.1-py3-none-any.whl", hash = "sha256:d405828884fc140aa80a3c667b8beed277f1dfedec42ba031bd6ac3db606ab6c", size = 113592, upload-time = "2026-01-06T11:45:19.497Z" },
42
+ { url = "https://files.pythonhosted.org/packages/da/35/f2287558c17e29fafc8ef3daf819bb9834061cfa43bff8014f7df7f63bdc/anyio-4.14.2-py3-none-any.whl", hash = "sha256:9f505dda5ac9f0c8309b5e8bd445a8c2bf7246f3ce950121e45ea15bc41d1494", size = 125813, upload-time = "2026-07-12T20:29:05.763Z" },
43
43
  ]
44
44
 
45
45
  [[package]]
@@ -1093,11 +1093,11 @@ wheels = [
1093
1093
 
1094
1094
  [[package]]
1095
1095
  name = "pyjwt"
1096
- version = "2.13.0"
1096
+ version = "2.15.0"
1097
1097
  source = { registry = "https://pypi.org/simple" }
1098
- sdist = { url = "https://files.pythonhosted.org/packages/3b/81/58d0ac84e1ef3a3843791d6954d94c0b33d526c75eeb1efbce9d0a4c4077/pyjwt-2.13.0.tar.gz", hash = "sha256:41571c89ca91598c79e8ef18a2d07367d4810fbbd6f637794879baf1b7703423", size = 107515, upload-time = "2026-05-21T19:54:36.618Z" }
1098
+ sdist = { url = "https://files.pythonhosted.org/packages/02/a5/5197bfd06417837ac079921c66fa6393f1dea3557272a263cebfef69e432/pyjwt-2.15.0.tar.gz", hash = "sha256:b11c5f9791d7bf51c2b39a81ed669f6b2dbbd669df2942f6c60167e9e3d1abe4", size = 120513, upload-time = "2026-09-23T16:56:00.689Z" }
1099
1099
  wheels = [
1100
- { url = "https://files.pythonhosted.org/packages/a3/5e/ecf12fdb62546d64385c158514e9b2b671f7832108ef2ecd2020ce0af2d1/pyjwt-2.13.0-py3-none-any.whl", hash = "sha256:66adcc2aff09b3f1bbd95fc1e1577df8ac8723c978552fd43304c8a290ac5728", size = 31274, upload-time = "2026-05-21T19:54:35.362Z" },
1100
+ { url = "https://files.pythonhosted.org/packages/e8/55/40e45bf052ee8ee12a4dfd785519660f8effa7b065442b91646ec6828619/pyjwt-2.15.0-py3-none-any.whl", hash = "sha256:7a3742debf6b879e912dbb9819ceec1594be812452b78c5f2e2dfc56564954f8", size = 33680, upload-time = "2026-09-23T16:55:59.241Z" },
1101
1101
  ]
1102
1102
 
1103
1103
  [package.optional-dependencies]
@@ -1145,15 +1145,14 @@ wheels = [
1145
1145
 
1146
1146
  [[package]]
1147
1147
  name = "python-discovery"
1148
- version = "1.2.2"
1148
+ version = "1.6.1"
1149
1149
  source = { registry = "https://pypi.org/simple" }
1150
1150
  dependencies = [
1151
1151
  { name = "filelock" },
1152
- { name = "platformdirs" },
1153
1152
  ]
1154
- sdist = { url = "https://files.pythonhosted.org/packages/de/ef/3bae0e537cfe91e8431efcba4434463d2c5a65f5a89edd47c6cf2f03c55f/python_discovery-1.2.2.tar.gz", hash = "sha256:876e9c57139eb757cb5878cbdd9ae5379e5d96266c99ef731119e04fffe533bb", size = 58872, upload-time = "2026-04-07T17:28:49.249Z" }
1153
+ sdist = { url = "https://files.pythonhosted.org/packages/0c/57/250bd238b966cece44328235eb85290045d059265fdaf7527a3a958123db/python_discovery-1.6.1.tar.gz", hash = "sha256:cf87d3627dfb4412437fdd5b13eae402607722998d21567993aedbc59b23c15e", size = 84338, upload-time = "2026-09-18T01:31:53.971Z" }
1155
1154
  wheels = [
1156
- { url = "https://files.pythonhosted.org/packages/d8/db/795879cc3ddfe338599bddea6388cc5100b088db0a4caf6e6c1af1c27e04/python_discovery-1.2.2-py3-none-any.whl", hash = "sha256:e1ae95d9af875e78f15e19aed0c6137ab1bb49c200f21f5061786490c9585c7a", size = 31894, upload-time = "2026-04-07T17:28:48.09Z" },
1155
+ { url = "https://files.pythonhosted.org/packages/16/7d/e9ffbadfbf89c93848412d04594135c4ae8c1d37d9e053b9c3ed718fabc4/python_discovery-1.6.1-py3-none-any.whl", hash = "sha256:d43fcdef879fe795352bd13ccf8d185ba5a9f86f36cfcd00529f596e737442b3", size = 38664, upload-time = "2026-09-18T01:31:52.448Z" },
1157
1156
  ]
1158
1157
 
1159
1158
  [[package]]
@@ -1395,8 +1394,8 @@ name = "secretstorage"
1395
1394
  version = "3.5.0"
1396
1395
  source = { registry = "https://pypi.org/simple" }
1397
1396
  dependencies = [
1398
- { name = "cryptography", marker = "sys_platform != 'win32'" },
1399
- { name = "jeepney", marker = "sys_platform != 'win32'" },
1397
+ { name = "cryptography" },
1398
+ { name = "jeepney" },
1400
1399
  ]
1401
1400
  sdist = { url = "https://files.pythonhosted.org/packages/1c/03/e834bcd866f2f8a49a85eaff47340affa3bfa391ee9912a952a1faa68c7b/secretstorage-3.5.0.tar.gz", hash = "sha256:f04b8e4689cbce351744d5537bf6b1329c6fc68f91fa666f60a380edddcd11be", size = 19884, upload-time = "2025-11-23T19:02:53.191Z" }
1402
1401
  wheels = [
@@ -1493,11 +1492,11 @@ wheels = [
1493
1492
 
1494
1493
  [[package]]
1495
1494
  name = "urllib3"
1496
- version = "2.7.0"
1495
+ version = "2.8.0"
1497
1496
  source = { registry = "https://pypi.org/simple" }
1498
- sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" }
1497
+ sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" }
1499
1498
  wheels = [
1500
- { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" },
1499
+ { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" },
1501
1500
  ]
1502
1501
 
1503
1502
  [[package]]
@@ -1527,7 +1526,7 @@ wheels = [
1527
1526
 
1528
1527
  [[package]]
1529
1528
  name = "virtualenv"
1530
- version = "21.2.4"
1529
+ version = "21.7.13"
1531
1530
  source = { registry = "https://pypi.org/simple" }
1532
1531
  dependencies = [
1533
1532
  { name = "distlib" },
@@ -1535,9 +1534,9 @@ dependencies = [
1535
1534
  { name = "platformdirs" },
1536
1535
  { name = "python-discovery" },
1537
1536
  ]
1538
- sdist = { url = "https://files.pythonhosted.org/packages/0c/98/3a7e644e19cb26133488caff231be390579860bbbb3da35913c49a1d0a46/virtualenv-21.2.4.tar.gz", hash = "sha256:b294ef68192638004d72524ce7ef303e9d0cf5a44c95ce2e54a7500a6381cada", size = 5850742, upload-time = "2026-04-14T22:15:31.438Z" }
1537
+ sdist = { url = "https://files.pythonhosted.org/packages/13/50/c9b84eb106d0db420b9878dac0a386c5791726f127ce20b06897f6e3a1e9/virtualenv-21.7.13.tar.gz", hash = "sha256:0355558b6f33619aab31347e43643b0ebc97f61ea3acf617b2b69e1f8a843d11", size = 5360306, upload-time = "2026-09-18T04:35:49.354Z" }
1539
1538
  wheels = [
1540
- { url = "https://files.pythonhosted.org/packages/27/8d/edd0bd910ff803c308ee9a6b7778621af0d10252219ad9f19ef4d4982a61/virtualenv-21.2.4-py3-none-any.whl", hash = "sha256:29d21e941795206138d0f22f4e45ff7050e5da6c6472299fb7103318763861ac", size = 5831232, upload-time = "2026-04-14T22:15:29.342Z" },
1539
+ { url = "https://files.pythonhosted.org/packages/9a/ce/e74453531b0c49a58d0e8a4f9bab4495705859fee4a4f7de27d58f4a791a/virtualenv-21.7.13-py3-none-any.whl", hash = "sha256:1bea5af7463f59c4719db48fe739579a2a4f569c96f26c086edda85c96da9f59", size = 5328680, upload-time = "2026-09-18T04:35:47.194Z" },
1541
1540
  ]
1542
1541
 
1543
1542
  [[package]]
@@ -1,8 +0,0 @@
1
- {
2
- "tag": "3.5.3",
3
- "distance": 0,
4
- "node": "g5891bedbc1dc95e0a7e2f897d329c6da15b8be94",
5
- "dirty": false,
6
- "branch": "HEAD",
7
- "node_date": "2026-09-14"
8
- }