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.
Files changed (162) hide show
  1. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/PKG-INFO +2 -2
  2. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/pyproject.toml +1 -1
  3. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/connection.py +6 -3
  4. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops.egg-info/PKG-INFO +2 -2
  5. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops.egg-info/requires.txt +1 -1
  6. mcp_openstack_ops-3.5.5/src/mcp_openstack_ops.egg-info/scm_version.json +8 -0
  7. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/uv.lock +3 -3
  8. mcp_openstack_ops-3.5.4/src/mcp_openstack_ops.egg-info/scm_version.json +0 -8
  9. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/.env.example +0 -0
  10. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/.env.test +0 -0
  11. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/.github/FUNDING.yml +0 -0
  12. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/.github/copilot-instructions.md +0 -0
  13. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/.github/dependabot.yml +0 -0
  14. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/.github/workflows/pypi-publish.yml +0 -0
  15. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/.gitignore +0 -0
  16. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/.gitleaks.toml +0 -0
  17. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/.pre-commit-config.yaml +0 -0
  18. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/.python-version +0 -0
  19. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/Dockerfile.MCP-Server +0 -0
  20. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/Dockerfile.MCPO-Proxy +0 -0
  21. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/LICENSE +0 -0
  22. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/MANIFEST.in +0 -0
  23. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/README.md +0 -0
  24. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/build-mcp-server-docker-image.sh +0 -0
  25. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/build-mcpo-server-docker-image.sh +0 -0
  26. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/diagnose_openstack.py +0 -0
  27. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/docker-compose.yml +0 -0
  28. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/img/MCP-Workflow-of-Quickstart-Tutorial.png +0 -0
  29. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/img/screenshot-claude-desktop.png +0 -0
  30. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/img/screenshot-claude-desktop.png:Zone.Identifier +0 -0
  31. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/img/screenshot-example-cluster-status.png +0 -0
  32. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/img/screenshot-openstack-dashboard.png +0 -0
  33. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/main.py +0 -0
  34. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/mcp-config.json.http +0 -0
  35. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/mcp-config.json.multi-project +0 -0
  36. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/mcp-config.json.stdio +0 -0
  37. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/scripts/mcp-server-docker-cmd.sh +0 -0
  38. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/scripts/run-mcp-inspector-local.sh +0 -0
  39. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/scripts/run-mcp-inspector-pypi.sh +0 -0
  40. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/setup.cfg +0 -0
  41. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/__init__.py +0 -0
  42. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/__main__.py +0 -0
  43. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/functions.py +0 -0
  44. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/mcp_main.py +0 -0
  45. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/prompt_template.md +0 -0
  46. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/__init__.py +0 -0
  47. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/compute.py +0 -0
  48. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/core.py +0 -0
  49. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/identity.py +0 -0
  50. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/image.py +0 -0
  51. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/load_balancer/__init__.py +0 -0
  52. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/load_balancer/amphorae.py +0 -0
  53. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/load_balancer/core.py +0 -0
  54. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/load_balancer/health_monitors.py +0 -0
  55. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/load_balancer/l7_policies.py +0 -0
  56. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/load_balancer/listeners.py +0 -0
  57. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/load_balancer/management.py +0 -0
  58. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/load_balancer/pools.py +0 -0
  59. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/monitoring.py +0 -0
  60. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/network.py +0 -0
  61. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/orchestration.py +0 -0
  62. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/services/storage.py +0 -0
  63. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/__init__.py +0 -0
  64. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_availability_zones.py +0 -0
  65. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_floating_ip_pools.py +0 -0
  66. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_floating_ips.py +0 -0
  67. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_heat_stacks.py +0 -0
  68. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_hypervisor_details.py +0 -0
  69. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_image_detail_list.py +0 -0
  70. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_instance.py +0 -0
  71. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_instance_by_name.py +0 -0
  72. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_instance_details.py +0 -0
  73. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_instances_by_status.py +0 -0
  74. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_keypair_list.py +0 -0
  75. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_load_balancer_amphorae.py +0 -0
  76. {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
  77. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_load_balancer_details.py +0 -0
  78. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_load_balancer_flavors.py +0 -0
  79. {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
  80. {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
  81. {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
  82. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_load_balancer_list.py +0 -0
  83. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_load_balancer_listeners.py +0 -0
  84. {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
  85. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_load_balancer_pools.py +0 -0
  86. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_load_balancer_providers.py +0 -0
  87. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_load_balancer_quotas.py +0 -0
  88. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_network_details.py +0 -0
  89. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_project_details.py +0 -0
  90. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_quota.py +0 -0
  91. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_resource_monitoring.py +0 -0
  92. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_role_assignments.py +0 -0
  93. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_routers.py +0 -0
  94. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_security_groups.py +0 -0
  95. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_server_events.py +0 -0
  96. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_server_groups.py +0 -0
  97. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_server_volumes.py +0 -0
  98. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_service_status.py +0 -0
  99. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_usage_statistics.py +0 -0
  100. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_user_list.py +0 -0
  101. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_volume_list.py +0 -0
  102. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_volume_snapshots.py +0 -0
  103. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/get_volume_types.py +0 -0
  104. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/search_instances.py +0 -0
  105. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_alarms.py +0 -0
  106. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_compute_agents.py +0 -0
  107. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_domains.py +0 -0
  108. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_flavor.py +0 -0
  109. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_floating_ip.py +0 -0
  110. {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
  111. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_heat_stack.py +0 -0
  112. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_identity_groups.py +0 -0
  113. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_image.py +0 -0
  114. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_image_members.py +0 -0
  115. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_image_metadata.py +0 -0
  116. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_image_visibility.py +0 -0
  117. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_instance.py +0 -0
  118. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_keypair.py +0 -0
  119. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_load_balancer.py +0 -0
  120. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_load_balancer_amphora.py +0 -0
  121. {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
  122. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_load_balancer_flavor.py +0 -0
  123. {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
  124. {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
  125. {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
  126. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_load_balancer_listener.py +0 -0
  127. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_load_balancer_pool.py +0 -0
  128. {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
  129. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_load_balancer_quota.py +0 -0
  130. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_metrics.py +0 -0
  131. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_network_agents.py +0 -0
  132. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_network_ports.py +0 -0
  133. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_network_qos_policies.py +0 -0
  134. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_networks.py +0 -0
  135. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_project.py +0 -0
  136. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_quota.py +0 -0
  137. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_roles.py +0 -0
  138. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_backup.py +0 -0
  139. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_dump.py +0 -0
  140. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_fixed_ip.py +0 -0
  141. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_floating_ip.py +0 -0
  142. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_group.py +0 -0
  143. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_migration.py +0 -0
  144. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_network.py +0 -0
  145. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_properties.py +0 -0
  146. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_security_group.py +0 -0
  147. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_server_volume.py +0 -0
  148. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_service_logs.py +0 -0
  149. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_services.py +0 -0
  150. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_snapshot.py +0 -0
  151. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_subnets.py +0 -0
  152. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_volume.py +0 -0
  153. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_volume_backups.py +0 -0
  154. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_volume_groups.py +0 -0
  155. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops/tools/set_volume_qos.py +0 -0
  156. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops.egg-info/SOURCES.txt +0 -0
  157. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops.egg-info/dependency_links.txt +0 -0
  158. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops.egg-info/entry_points.txt +0 -0
  159. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops.egg-info/scm_file_list.json +0 -0
  160. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/src/mcp_openstack_ops.egg-info/top_level.txt +0 -0
  161. {mcp_openstack_ops-3.5.4 → mcp_openstack_ops-3.5.5}/test_compatibility.sh +0 -0
  162. {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.4
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.20.0,>=4.1.0
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.20.0",
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.auth.get('project_id') or conn.auth.get('tenant_id')
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.4
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.20.0,>=4.1.0
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
@@ -1,5 +1,5 @@
1
1
  fastmcp>=2.12.3
2
- openstacksdk<=4.20.0,>=4.1.0
2
+ openstacksdk<=4.21.0,>=4.1.0
3
3
  python-dotenv>=1.1.1
4
4
  setuptools-scm>=10.0.5
5
5
  pre-commit>=4.6.0
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "3.5.5",
3
+ "distance": 0,
4
+ "node": "g84c7c43228409000711b9a0f3da9865e5e18df37",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-10-22"
8
+ }
@@ -709,7 +709,7 @@ wheels = [
709
709
 
710
710
  [[package]]
711
711
  name = "mcp"
712
- version = "1.28.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/6e/77/9450b8f251a13affb6281997d0523c4615f8a8b35d0b21ff30db3a5aac9d/mcp-1.28.1.tar.gz", hash = "sha256:d51e36a5f5644faea4f85ea649bfffa6bc6c26770d42798ad6a3de3d2ba69683", size = 638501, upload-time = "2026-06-26T12:57:29.093Z" }
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/e2/5e/d118fce19f87a2e7d8101c35c8ae0ec289098a4df0ff244cec23e415aca0/mcp-1.28.1-py3-none-any.whl", hash = "sha256:2726bca5e7193f61c5dde8b12500a6de2d9acf6d1a1c0be9e8c2e706437991df", size = 222620, upload-time = "2026-06-26T12:57:27.218Z" },
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]]
@@ -1,8 +0,0 @@
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
- }