mcp-openstack-ops 3.2.0__tar.gz → 3.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. {mcp_openstack_ops-3.2.0/src/mcp_openstack_ops.egg-info → mcp_openstack_ops-3.2.2}/PKG-INFO +11 -23
  2. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/README.md +11 -22
  3. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/pyproject.toml +1 -5
  4. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/mcp_main.py +0 -190
  5. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2/src/mcp_openstack_ops.egg-info}/PKG-INFO +11 -23
  6. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops.egg-info/requires.txt +0 -1
  7. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/LICENSE +0 -0
  8. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/MANIFEST.in +0 -0
  9. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/setup.cfg +0 -0
  10. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/__init__.py +0 -0
  11. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/__main__.py +0 -0
  12. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/connection.py +0 -0
  13. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/functions.py +0 -0
  14. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/services/__init__.py +0 -0
  15. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/services/compute.py +0 -0
  16. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/services/core.py +0 -0
  17. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/services/identity.py +0 -0
  18. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/services/image.py +0 -0
  19. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/services/load_balancer/__init__.py +0 -0
  20. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/services/load_balancer/amphorae.py +0 -0
  21. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/services/load_balancer/core.py +0 -0
  22. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/services/load_balancer/health_monitors.py +0 -0
  23. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/services/load_balancer/l7_policies.py +0 -0
  24. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/services/load_balancer/listeners.py +0 -0
  25. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/services/load_balancer/management.py +0 -0
  26. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/services/load_balancer/pools.py +0 -0
  27. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/services/monitoring.py +0 -0
  28. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/services/network.py +0 -0
  29. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/services/orchestration.py +0 -0
  30. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/services/storage.py +0 -0
  31. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/__init__.py +0 -0
  32. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_availability_zones.py +0 -0
  33. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_floating_ip_pools.py +0 -0
  34. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_floating_ips.py +0 -0
  35. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_heat_stacks.py +0 -0
  36. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_hypervisor_details.py +0 -0
  37. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_image_detail_list.py +0 -0
  38. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_instance.py +0 -0
  39. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_instance_by_name.py +0 -0
  40. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_instance_details.py +0 -0
  41. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_instances_by_status.py +0 -0
  42. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_keypair_list.py +0 -0
  43. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_load_balancer_amphorae.py +0 -0
  44. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_load_balancer_availability_zones.py +0 -0
  45. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_load_balancer_details.py +0 -0
  46. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_load_balancer_flavors.py +0 -0
  47. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_load_balancer_health_monitors.py +0 -0
  48. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_load_balancer_l7_policies.py +0 -0
  49. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_load_balancer_l7_rules.py +0 -0
  50. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_load_balancer_list.py +0 -0
  51. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_load_balancer_listeners.py +0 -0
  52. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_load_balancer_pool_members.py +0 -0
  53. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_load_balancer_pools.py +0 -0
  54. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_load_balancer_providers.py +0 -0
  55. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_load_balancer_quotas.py +0 -0
  56. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_network_details.py +0 -0
  57. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_project_details.py +0 -0
  58. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_quota.py +0 -0
  59. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_resource_monitoring.py +0 -0
  60. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_role_assignments.py +0 -0
  61. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_routers.py +0 -0
  62. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_security_groups.py +0 -0
  63. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_server_events.py +0 -0
  64. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_server_groups.py +0 -0
  65. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_server_volumes.py +0 -0
  66. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_service_status.py +0 -0
  67. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_usage_statistics.py +0 -0
  68. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_user_list.py +0 -0
  69. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_volume_list.py +0 -0
  70. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_volume_snapshots.py +0 -0
  71. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/get_volume_types.py +0 -0
  72. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/search_instances.py +0 -0
  73. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_alarms.py +0 -0
  74. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_compute_agents.py +0 -0
  75. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_domains.py +0 -0
  76. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_flavor.py +0 -0
  77. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_floating_ip.py +0 -0
  78. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_floating_ip_port_forwarding.py +0 -0
  79. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_heat_stack.py +0 -0
  80. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_identity_groups.py +0 -0
  81. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_image.py +0 -0
  82. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_image_members.py +0 -0
  83. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_image_metadata.py +0 -0
  84. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_image_visibility.py +0 -0
  85. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_instance.py +0 -0
  86. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_keypair.py +0 -0
  87. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_load_balancer.py +0 -0
  88. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_load_balancer_amphora.py +0 -0
  89. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_load_balancer_availability_zone.py +0 -0
  90. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_load_balancer_flavor.py +0 -0
  91. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_load_balancer_health_monitor.py +0 -0
  92. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_load_balancer_l7_policy.py +0 -0
  93. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_load_balancer_l7_rule.py +0 -0
  94. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_load_balancer_listener.py +0 -0
  95. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_load_balancer_pool.py +0 -0
  96. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_load_balancer_pool_member.py +0 -0
  97. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_load_balancer_quota.py +0 -0
  98. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_metrics.py +0 -0
  99. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_network_agents.py +0 -0
  100. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_network_ports.py +0 -0
  101. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_network_qos_policies.py +0 -0
  102. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_networks.py +0 -0
  103. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_project.py +0 -0
  104. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_quota.py +0 -0
  105. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_roles.py +0 -0
  106. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_server_backup.py +0 -0
  107. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_server_dump.py +0 -0
  108. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_server_fixed_ip.py +0 -0
  109. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_server_floating_ip.py +0 -0
  110. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_server_group.py +0 -0
  111. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_server_migration.py +0 -0
  112. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_server_network.py +0 -0
  113. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_server_properties.py +0 -0
  114. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_server_security_group.py +0 -0
  115. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_server_volume.py +0 -0
  116. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_service_logs.py +0 -0
  117. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_services.py +0 -0
  118. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_snapshot.py +0 -0
  119. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_subnets.py +0 -0
  120. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_volume.py +0 -0
  121. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_volume_backups.py +0 -0
  122. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_volume_groups.py +0 -0
  123. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops/tools/set_volume_qos.py +0 -0
  124. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops.egg-info/SOURCES.txt +0 -0
  125. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops.egg-info/dependency_links.txt +0 -0
  126. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops.egg-info/entry_points.txt +0 -0
  127. {mcp_openstack_ops-3.2.0 → mcp_openstack_ops-3.2.2}/src/mcp_openstack_ops.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-openstack-ops
3
- Version: 3.2.0
3
+ Version: 3.2.2
4
4
  Summary: OpenStack operations automation MCP server
5
5
  Author-email: JungJungIn <call518@gmail.com>
6
6
  Requires-Python: >=3.12
@@ -9,7 +9,6 @@ License-File: LICENSE
9
9
  Requires-Dist: fastmcp>=2.12.3
10
10
  Requires-Dist: openstacksdk<=4.7.1,>=4.1.0
11
11
  Requires-Dist: python-dotenv>=1.1.1
12
- Requires-Dist: smithery>=0.2.4
13
12
  Provides-Extra: dev
14
13
  Requires-Dist: pytest>=7.0.0; extra == "dev"
15
14
  Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
@@ -34,27 +33,16 @@ Dynamic: license-file
34
33
 
35
34
  ## Features
36
35
 
37
- - ✅ **Single Project Scope**: Operates within the configured `OS_PROJECT_NAME` project scope for complete tenant isolation. All operations are restricted to resources within the specified project, ensuring data privacy and security in multi-tenant environments.
38
- - ✅ **OpenStack SDK Integration**: Direct integration with OpenStack SDK for real-time project operations.
39
- - ✅ **Enhanced Operation Safety**: Built-in safety controls with `ALLOW_MODIFY_OPERATIONS` environment variable and comprehensive error handling that prevents false success claims and provides clear guidance for asynchronous operations.
40
- - ✅ **Smart Async Operation Handling**: Intelligent detection and guidance for OpenStack asynchronous operations (instance management, volume operations, network changes) with tool-specific timing expectations and verification commands.
41
- - ✅ **Enhanced Project Monitoring**: Comprehensive project status reports with health scoring system, resource utilization analysis, instance state tracking, and detailed health breakdown by service categories.
42
- - ✅ **Complete Service Coverage**: 93+ comprehensive tools covering Identity, Compute, Network, Storage, Image, Orchestration, Load Balancer, and Monitoring services within project scope.
43
- - ✅ **Advanced Instance Management**: Enhanced server lifecycle operations with backup, migration, rescue, and administrative functions including state analysis.
44
- - ✅ **🆕 Bulk Operations & Filter-based Targeting**: Advanced bulk operations for instances, volumes, images, networks, keypairs, and snapshots with intelligent filtering (name_contains, status, etc.) enabling one-step operations like "stop all instances containing 'test'".
45
- - ✅ **🆕 Post-Action Status Verification**: Automatic status verification after operations with emoji indicators (🟢🔴🟡) providing immediate feedback on operation success and current resource states.
46
- - ✅ **🆕 Unified Resource Queries**: Consolidated get_instance tool replacing multiple separate query tools, providing comprehensive resource information in a single call.
47
- - ✅ **Server Event Tracking**: Detailed server event history and lifecycle monitoring with comprehensive logging.
48
- - ✅ **Network Analysis**: Comprehensive network operations with external/private network classification, floating IP management, and port operations within project scope.
49
- - ✅ **Volume Management**: Comprehensive volume attachment/detachment operations with state analysis and capacity tracking.
50
- - ✅ **Smart Image Filtering**: Access to public, community, shared, and project-owned images with intelligent visibility filtering that prevents zero-image count issues.
51
- - ✅ **Enterprise Features**: User management, role assignments, keypair management, floating IP operations, volume snapshots within project boundaries.
52
- - ✅ **Intelligent Search**: Flexible instance search with partial matching and case-sensitive options.
53
- - ✅ **Load Balancer Integration**: Complete load balancer management with health monitoring within project scope.
54
- - ✅ **Connection Optimization**: Global connection caching and automatic retry mechanisms.
55
- - ✅ **Multi-Project Support**: Deploy multiple MCP servers with different `OS_PROJECT_NAME` values for complete multi-tenant project management with full isolation.
56
- - ✅ **Docker Support**: Containerized deployment optimized for OpenStack Epoxy environments.
57
- - ✅ **Flexible Transport**: Support for both `stdio` and `streamable-http` transports with comprehensive logging.
36
+ - ✅ **Project-Scoped Operations**: Every tool enforces the configured `OS_PROJECT_NAME`, validating resource ownership so actions stay inside a single tenant.
37
+ - ✅ **Safety-Gated Writes**: Modify (`set_*`) tooling only registers when `ALLOW_MODIFY_OPERATIONS=true`, keeping default deployments read-only and auditable.
38
+ - ✅ **90+ Purpose-Built Tools**: Broad coverage across compute, networking, storage, images, identity, Heat, and Octavia load balancing tasks—all constrained to the current project.
39
+ - ✅ **Bulk & Filtered Actions**: Instance, volume, network, image, snapshot, and keypair managers accept comma-delimited targets or filter criteria to orchestrate bulk changes intentionally.
40
+ - ✅ **Post-Action Feedback & Async Guidance**: Mutating tools reuse a shared result handler that adds emoji status checks, asynchronous timing notes, and follow-up verification commands.
41
+ - ✅ **Monitoring & Usage Insights**: `get_service_status`, `get_resource_monitoring`, `get_usage_statistics`, and quota tools surface service availability, utilization, and capacity for the active project.
42
+ - ✅ **Unified Instance Queries**: The `get_instance` tool consolidates name, ID, status, and free-form search paths with pagination plus summary/detailed modes.
43
+ - ✅ **Server Insight & Audit Trail**: Dedicated tools expose server events, hypervisor details, availability zones, quotas, and resource ownership to speed diagnostics.
44
+ - ✅ **Load Balancer Management**: Octavia tools cover listeners, pools, members, health monitors, flavors, quotas, and amphora operations with the same safety gates.
45
+ - ✅ **Connection & Deployment Flexibility**: Connection caching, configurable service endpoints, Docker packaging, and both `stdio`/`streamable-http` transports support proxy/bastion and multi-project setups.
58
46
 
59
47
  > ⚠️ **Compatibility Notice**: This MCP server is developed and optimized for **OpenStack Epoxy (2025.1)** as the primary target environment. However, it is compatible with most modern OpenStack releases (Dalmatian, Caracal, Bobcat, etc.) as the majority of APIs remain consistent across versions. Only a few specific API endpoints may require adaptation for full compatibility with older releases.
60
48
  >
@@ -17,27 +17,16 @@
17
17
 
18
18
  ## Features
19
19
 
20
- - ✅ **Single Project Scope**: Operates within the configured `OS_PROJECT_NAME` project scope for complete tenant isolation. All operations are restricted to resources within the specified project, ensuring data privacy and security in multi-tenant environments.
21
- - ✅ **OpenStack SDK Integration**: Direct integration with OpenStack SDK for real-time project operations.
22
- - ✅ **Enhanced Operation Safety**: Built-in safety controls with `ALLOW_MODIFY_OPERATIONS` environment variable and comprehensive error handling that prevents false success claims and provides clear guidance for asynchronous operations.
23
- - ✅ **Smart Async Operation Handling**: Intelligent detection and guidance for OpenStack asynchronous operations (instance management, volume operations, network changes) with tool-specific timing expectations and verification commands.
24
- - ✅ **Enhanced Project Monitoring**: Comprehensive project status reports with health scoring system, resource utilization analysis, instance state tracking, and detailed health breakdown by service categories.
25
- - ✅ **Complete Service Coverage**: 93+ comprehensive tools covering Identity, Compute, Network, Storage, Image, Orchestration, Load Balancer, and Monitoring services within project scope.
26
- - ✅ **Advanced Instance Management**: Enhanced server lifecycle operations with backup, migration, rescue, and administrative functions including state analysis.
27
- - ✅ **🆕 Bulk Operations & Filter-based Targeting**: Advanced bulk operations for instances, volumes, images, networks, keypairs, and snapshots with intelligent filtering (name_contains, status, etc.) enabling one-step operations like "stop all instances containing 'test'".
28
- - ✅ **🆕 Post-Action Status Verification**: Automatic status verification after operations with emoji indicators (🟢🔴🟡) providing immediate feedback on operation success and current resource states.
29
- - ✅ **🆕 Unified Resource Queries**: Consolidated get_instance tool replacing multiple separate query tools, providing comprehensive resource information in a single call.
30
- - ✅ **Server Event Tracking**: Detailed server event history and lifecycle monitoring with comprehensive logging.
31
- - ✅ **Network Analysis**: Comprehensive network operations with external/private network classification, floating IP management, and port operations within project scope.
32
- - ✅ **Volume Management**: Comprehensive volume attachment/detachment operations with state analysis and capacity tracking.
33
- - ✅ **Smart Image Filtering**: Access to public, community, shared, and project-owned images with intelligent visibility filtering that prevents zero-image count issues.
34
- - ✅ **Enterprise Features**: User management, role assignments, keypair management, floating IP operations, volume snapshots within project boundaries.
35
- - ✅ **Intelligent Search**: Flexible instance search with partial matching and case-sensitive options.
36
- - ✅ **Load Balancer Integration**: Complete load balancer management with health monitoring within project scope.
37
- - ✅ **Connection Optimization**: Global connection caching and automatic retry mechanisms.
38
- - ✅ **Multi-Project Support**: Deploy multiple MCP servers with different `OS_PROJECT_NAME` values for complete multi-tenant project management with full isolation.
39
- - ✅ **Docker Support**: Containerized deployment optimized for OpenStack Epoxy environments.
40
- - ✅ **Flexible Transport**: Support for both `stdio` and `streamable-http` transports with comprehensive logging.
20
+ - ✅ **Project-Scoped Operations**: Every tool enforces the configured `OS_PROJECT_NAME`, validating resource ownership so actions stay inside a single tenant.
21
+ - ✅ **Safety-Gated Writes**: Modify (`set_*`) tooling only registers when `ALLOW_MODIFY_OPERATIONS=true`, keeping default deployments read-only and auditable.
22
+ - ✅ **90+ Purpose-Built Tools**: Broad coverage across compute, networking, storage, images, identity, Heat, and Octavia load balancing tasks—all constrained to the current project.
23
+ - ✅ **Bulk & Filtered Actions**: Instance, volume, network, image, snapshot, and keypair managers accept comma-delimited targets or filter criteria to orchestrate bulk changes intentionally.
24
+ - ✅ **Post-Action Feedback & Async Guidance**: Mutating tools reuse a shared result handler that adds emoji status checks, asynchronous timing notes, and follow-up verification commands.
25
+ - ✅ **Monitoring & Usage Insights**: `get_service_status`, `get_resource_monitoring`, `get_usage_statistics`, and quota tools surface service availability, utilization, and capacity for the active project.
26
+ - ✅ **Unified Instance Queries**: The `get_instance` tool consolidates name, ID, status, and free-form search paths with pagination plus summary/detailed modes.
27
+ - ✅ **Server Insight & Audit Trail**: Dedicated tools expose server events, hypervisor details, availability zones, quotas, and resource ownership to speed diagnostics.
28
+ - ✅ **Load Balancer Management**: Octavia tools cover listeners, pools, members, health monitors, flavors, quotas, and amphora operations with the same safety gates.
29
+ - ✅ **Connection & Deployment Flexibility**: Connection caching, configurable service endpoints, Docker packaging, and both `stdio`/`streamable-http` transports support proxy/bastion and multi-project setups.
41
30
 
42
31
  > ⚠️ **Compatibility Notice**: This MCP server is developed and optimized for **OpenStack Epoxy (2025.1)** as the primary target environment. However, it is compatible with most modern OpenStack releases (Dalmatian, Caracal, Bobcat, etc.) as the majority of APIs remain consistent across versions. Only a few specific API endpoints may require adaptation for full compatibility with older releases.
43
32
  >
@@ -1034,4 +1023,4 @@ This project is licensed under the MIT License - see the LICENSE file for detail
1034
1023
  2. Create a feature branch (`git checkout -b feature/amazing-feature`)
1035
1024
  3. Commit your changes (`git commit -m 'Add some amazing feature'`)
1036
1025
  4. Push to the branch (`git push origin feature/amazing-feature`)
1037
- 5. Open a Pull Request
1026
+ 5. Open a Pull Request
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mcp-openstack-ops"
3
- version = "3.2.0"
3
+ version = "3.2.2"
4
4
  description = "OpenStack operations automation MCP server"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -9,7 +9,6 @@ dependencies = [
9
9
  "fastmcp>=2.12.3",
10
10
  "openstacksdk>=4.1.0,<=4.7.1",
11
11
  "python-dotenv>=1.1.1",
12
- "smithery>=0.2.4",
13
12
  ]
14
13
 
15
14
  [project.optional-dependencies]
@@ -30,6 +29,3 @@ where = ["src"]
30
29
 
31
30
  [tool.setuptools.package-dir]
32
31
  "" = "src"
33
-
34
- [tool.smithery]
35
- server = "mcp_openstack_ops.mcp_main:create_server"
@@ -5,7 +5,6 @@ import sys
5
5
  from typing import Any, Optional, Dict, List
6
6
  from fastmcp import FastMCP
7
7
  from fastmcp.server.auth import StaticTokenVerifier
8
- from smithery.decorators import smithery
9
8
 
10
9
  # Add the current directory to sys.path for imports
11
10
  sys.path.append(os.path.dirname(os.path.abspath(__file__)))
@@ -514,87 +513,6 @@ if __name__ == "__main__":
514
513
  logger.error(f"Failed to start server: {e}")
515
514
  sys.exit(1)
516
515
 
517
-
518
- # =============================================================================
519
- # Additional MCP Tools - Enhanced Functionality
520
- # =============================================================================
521
-
522
- # Identity (Keystone) Tools
523
-
524
-
525
-
526
-
527
- # Compute (Nova) Enhanced Tools
528
-
529
-
530
-
531
-
532
-
533
-
534
- # Network (Neutron) Enhanced Tools
535
-
536
-
537
-
538
-
539
-
540
-
541
-
542
-
543
-
544
-
545
- # Block Storage (Cinder) Enhanced Tools
546
-
547
-
548
-
549
-
550
-
551
-
552
- # Image Service (Glance) Enhanced Tools
553
-
554
-
555
- # Heat Stack Tools
556
-
557
-
558
-
559
-
560
- # =============================================================================
561
- # Read-only Tools (Always Available - Extracted from set_* functions)
562
- # =============================================================================
563
-
564
-
565
-
566
-
567
-
568
-
569
-
570
-
571
-
572
-
573
-
574
-
575
-
576
-
577
-
578
-
579
-
580
-
581
-
582
-
583
-
584
-
585
-
586
-
587
-
588
-
589
-
590
-
591
-
592
-
593
-
594
- # =============================================================================
595
- # Main execution
596
- # =============================================================================
597
-
598
516
  if __name__ == "__main__":
599
517
  import asyncio
600
518
 
@@ -657,111 +575,3 @@ if __name__ == "__main__":
657
575
  else:
658
576
  logger.error(f"Unknown transport type: {args.type}")
659
577
  sys.exit(1)
660
-
661
-
662
-
663
-
664
-
665
-
666
-
667
-
668
-
669
-
670
-
671
-
672
-
673
-
674
-
675
-
676
-
677
-
678
-
679
-
680
-
681
-
682
-
683
-
684
-
685
-
686
-
687
-
688
-
689
-
690
-
691
-
692
-
693
-
694
-
695
-
696
-
697
-
698
-
699
-
700
- # =============================================================================
701
- # LOAD BALANCER (OCTAVIA) TOOLS
702
- # =============================================================================
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
-
711
-
712
-
713
-
714
-
715
-
716
-
717
-
718
-
719
-
720
-
721
-
722
-
723
-
724
-
725
-
726
- # ===== LOAD BALANCER L7 POLICY TOOLS =====
727
-
728
-
729
-
730
-
731
-
732
- # ===== LOAD BALANCER AMPHORA TOOLS =====
733
-
734
-
735
-
736
-
737
-
738
- # ===== LOAD BALANCER ADVANCED INFO TOOLS =====
739
-
740
-
741
-
742
-
743
-
744
-
745
-
746
-
747
-
748
- # ===== LOAD BALANCER L7 RULE TOOLS =====
749
-
750
-
751
-
752
-
753
-
754
- # ===== ADVANCED LOADBALANCER MANAGEMENT TOOLS =====
755
-
756
-
757
-
758
-
759
-
760
-
761
- ### Smithery Server Integration ###
762
- @smithery.server()
763
- def create_server() -> FastMCP:
764
- """Return the configured FastMCP server for Smithery deployments."""
765
- return mcp
766
-
767
- # ===== MCP SERVER STARTUP =====
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-openstack-ops
3
- Version: 3.2.0
3
+ Version: 3.2.2
4
4
  Summary: OpenStack operations automation MCP server
5
5
  Author-email: JungJungIn <call518@gmail.com>
6
6
  Requires-Python: >=3.12
@@ -9,7 +9,6 @@ License-File: LICENSE
9
9
  Requires-Dist: fastmcp>=2.12.3
10
10
  Requires-Dist: openstacksdk<=4.7.1,>=4.1.0
11
11
  Requires-Dist: python-dotenv>=1.1.1
12
- Requires-Dist: smithery>=0.2.4
13
12
  Provides-Extra: dev
14
13
  Requires-Dist: pytest>=7.0.0; extra == "dev"
15
14
  Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
@@ -34,27 +33,16 @@ Dynamic: license-file
34
33
 
35
34
  ## Features
36
35
 
37
- - ✅ **Single Project Scope**: Operates within the configured `OS_PROJECT_NAME` project scope for complete tenant isolation. All operations are restricted to resources within the specified project, ensuring data privacy and security in multi-tenant environments.
38
- - ✅ **OpenStack SDK Integration**: Direct integration with OpenStack SDK for real-time project operations.
39
- - ✅ **Enhanced Operation Safety**: Built-in safety controls with `ALLOW_MODIFY_OPERATIONS` environment variable and comprehensive error handling that prevents false success claims and provides clear guidance for asynchronous operations.
40
- - ✅ **Smart Async Operation Handling**: Intelligent detection and guidance for OpenStack asynchronous operations (instance management, volume operations, network changes) with tool-specific timing expectations and verification commands.
41
- - ✅ **Enhanced Project Monitoring**: Comprehensive project status reports with health scoring system, resource utilization analysis, instance state tracking, and detailed health breakdown by service categories.
42
- - ✅ **Complete Service Coverage**: 93+ comprehensive tools covering Identity, Compute, Network, Storage, Image, Orchestration, Load Balancer, and Monitoring services within project scope.
43
- - ✅ **Advanced Instance Management**: Enhanced server lifecycle operations with backup, migration, rescue, and administrative functions including state analysis.
44
- - ✅ **🆕 Bulk Operations & Filter-based Targeting**: Advanced bulk operations for instances, volumes, images, networks, keypairs, and snapshots with intelligent filtering (name_contains, status, etc.) enabling one-step operations like "stop all instances containing 'test'".
45
- - ✅ **🆕 Post-Action Status Verification**: Automatic status verification after operations with emoji indicators (🟢🔴🟡) providing immediate feedback on operation success and current resource states.
46
- - ✅ **🆕 Unified Resource Queries**: Consolidated get_instance tool replacing multiple separate query tools, providing comprehensive resource information in a single call.
47
- - ✅ **Server Event Tracking**: Detailed server event history and lifecycle monitoring with comprehensive logging.
48
- - ✅ **Network Analysis**: Comprehensive network operations with external/private network classification, floating IP management, and port operations within project scope.
49
- - ✅ **Volume Management**: Comprehensive volume attachment/detachment operations with state analysis and capacity tracking.
50
- - ✅ **Smart Image Filtering**: Access to public, community, shared, and project-owned images with intelligent visibility filtering that prevents zero-image count issues.
51
- - ✅ **Enterprise Features**: User management, role assignments, keypair management, floating IP operations, volume snapshots within project boundaries.
52
- - ✅ **Intelligent Search**: Flexible instance search with partial matching and case-sensitive options.
53
- - ✅ **Load Balancer Integration**: Complete load balancer management with health monitoring within project scope.
54
- - ✅ **Connection Optimization**: Global connection caching and automatic retry mechanisms.
55
- - ✅ **Multi-Project Support**: Deploy multiple MCP servers with different `OS_PROJECT_NAME` values for complete multi-tenant project management with full isolation.
56
- - ✅ **Docker Support**: Containerized deployment optimized for OpenStack Epoxy environments.
57
- - ✅ **Flexible Transport**: Support for both `stdio` and `streamable-http` transports with comprehensive logging.
36
+ - ✅ **Project-Scoped Operations**: Every tool enforces the configured `OS_PROJECT_NAME`, validating resource ownership so actions stay inside a single tenant.
37
+ - ✅ **Safety-Gated Writes**: Modify (`set_*`) tooling only registers when `ALLOW_MODIFY_OPERATIONS=true`, keeping default deployments read-only and auditable.
38
+ - ✅ **90+ Purpose-Built Tools**: Broad coverage across compute, networking, storage, images, identity, Heat, and Octavia load balancing tasks—all constrained to the current project.
39
+ - ✅ **Bulk & Filtered Actions**: Instance, volume, network, image, snapshot, and keypair managers accept comma-delimited targets or filter criteria to orchestrate bulk changes intentionally.
40
+ - ✅ **Post-Action Feedback & Async Guidance**: Mutating tools reuse a shared result handler that adds emoji status checks, asynchronous timing notes, and follow-up verification commands.
41
+ - ✅ **Monitoring & Usage Insights**: `get_service_status`, `get_resource_monitoring`, `get_usage_statistics`, and quota tools surface service availability, utilization, and capacity for the active project.
42
+ - ✅ **Unified Instance Queries**: The `get_instance` tool consolidates name, ID, status, and free-form search paths with pagination plus summary/detailed modes.
43
+ - ✅ **Server Insight & Audit Trail**: Dedicated tools expose server events, hypervisor details, availability zones, quotas, and resource ownership to speed diagnostics.
44
+ - ✅ **Load Balancer Management**: Octavia tools cover listeners, pools, members, health monitors, flavors, quotas, and amphora operations with the same safety gates.
45
+ - ✅ **Connection & Deployment Flexibility**: Connection caching, configurable service endpoints, Docker packaging, and both `stdio`/`streamable-http` transports support proxy/bastion and multi-project setups.
58
46
 
59
47
  > ⚠️ **Compatibility Notice**: This MCP server is developed and optimized for **OpenStack Epoxy (2025.1)** as the primary target environment. However, it is compatible with most modern OpenStack releases (Dalmatian, Caracal, Bobcat, etc.) as the majority of APIs remain consistent across versions. Only a few specific API endpoints may require adaptation for full compatibility with older releases.
60
48
  >
@@ -1,7 +1,6 @@
1
1
  fastmcp>=2.12.3
2
2
  openstacksdk<=4.7.1,>=4.1.0
3
3
  python-dotenv>=1.1.1
4
- smithery>=0.2.4
5
4
 
6
5
  [dev]
7
6
  pytest>=7.0.0