MCP-OpenStack-Ops
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OS_CACERT | No | SSL CA certificate path for HTTPS (optional, required for secure HTTPS if using https) | |
| OS_PASSWORD | Yes | OpenStack password (required) | |
| OS_USERNAME | Yes | OpenStack username (required) | |
| FASTMCP_HOST | No | HTTP host address for streamable-http mode | 127.0.0.1 |
| FASTMCP_PORT | No | HTTP port for streamable-http mode | 8080 |
| FASTMCP_TYPE | No | Transport type (stdio, streamable-http) | stdio |
| OS_AUTH_HOST | Yes | OpenStack Identity service host address (required) | |
| OS_AUTH_PORT | Yes | OpenStack Identity service port (required) | |
| OS_INTERFACE | No | Interface type (public, internal, admin) | public |
| MCP_LOG_LEVEL | No | Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL) | INFO |
| OS_IMAGE_PORT | No | Image service port | 9292 |
| OS_REGION_NAME | No | OpenStack region name | RegionOne |
| OS_VOLUME_PORT | No | Volume service port | 8776 |
| OS_COMPUTE_PORT | No | Compute service port | 8774 |
| OS_NETWORK_PORT | No | Network service port | 9696 |
| OS_PROJECT_NAME | Yes | OpenStack project name (required) | |
| OS_AUTH_PROTOCOL | No | Connection protocol (http or https) | http |
| OS_PLACEMENT_PORT | No | Placement service port | 8780 |
| REMOTE_SECRET_KEY | No | Secret key for Bearer token authentication (required if REMOTE_AUTH_ENABLE=true) | |
| OS_HEAT_STACK_PORT | No | Heat orchestration service port | 8004 |
| REMOTE_AUTH_ENABLE | No | Enable Bearer token authentication for streamable-http mode | false |
| OS_USER_DOMAIN_NAME | No | User domain name | default |
| OS_HEAT_STACK_CFN_PORT | No | Heat CloudFormation service port | 18888 |
| OS_PROJECT_DOMAIN_NAME | No | Project domain name | default |
| ALLOW_MODIFY_OPERATIONS | No | Enable modify operations (true/false) | false |
| OS_IDENTITY_API_VERSION | No | Identity API version | 3 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_availability_zonesB | List availability zones and their status Returns: JSON string with availability zones information |
| get_floating_ip_poolsA | Get list of floating IP pools (external networks). Functions:
Use when user requests:
Returns: List of floating IP pools with capacity information in JSON format. |
| get_floating_ipsA | Get list of floating IPs with their associations. Functions:
Use when user requests floating IP information, external connectivity queries, or IP management tasks. Returns: List of floating IPs with detailed association information in JSON format. |
| get_heat_stacksA | Get list of Heat orchestration stacks. Functions:
Use when user requests stack information, orchestration queries, or infrastructure-as-code status. Returns: List of Heat stacks with detailed information in JSON format. |
| get_hypervisor_detailsA | Get detailed information about hypervisors Args: hypervisor_name: Name/ID of specific hypervisor or "all" for all hypervisors Returns: JSON string with hypervisor details and statistics |
| get_image_detail_listA | Get detailed list of all images with comprehensive metadata. Functions:
Use when user requests image listing, image information, or image metadata details. Returns: Comprehensive image list in JSON format with detailed metadata, properties, and status information. |
| get_instanceA | Unified instance query tool supporting all instance retrieval patterns. Consolidates functionality from get_instance_details, get_instance_by_name, get_instances_by_status, and search_instances. Functions:
Use when user requests instance information, status checks, or instance searches. Args: names: Specific instance name(s) to retrieve (comma-separated: "vm1,vm2,vm3") ids: Specific instance ID(s) to retrieve (comma-separated) status: Filter by instance status (e.g., "ACTIVE", "SHUTOFF", "ERROR") search_term: Search term for partial matching across fields search_in: Fields to search in ("name", "status", "host", "flavor", "image", "availability_zone", "all") all_instances: If True, retrieve all instances (ignores other filters) detailed: If True, return detailed information; if False, return summary only limit: Maximum instances to return (default: 50, max: 200) offset: Number of instances to skip for pagination case_sensitive: Case-sensitive search (default: False) Returns: Instance information in JSON format with metadata and pagination info. Examples: get_instance(names="vm1,vm2") # Get specific instances get_instance(status="SHUTOFF") # Get all stopped instances get_instance(search_term="web", search_in="name") # Search by name get_instance(all_instances=True, detailed=False) # List all (summary) |
| get_instance_by_nameB | Get detailed information for a specific instance by name. Args: instance_name: Name of the instance to retrieve Returns: Instance detailed information or error message if not found |
| get_instance_detailsA | Provides detailed information and status for OpenStack instances with pagination support. Functions:
Use when user requests specific instance information, VM details, server analysis, or instance troubleshooting. Args: instance_names: Comma-separated list of instance names to query (optional) instance_ids: Comma-separated list of instance IDs to query (optional) all_instances: If True, returns all instances (default: False) limit: Maximum number of instances to return (default: 50, max: 200) offset: Number of instances to skip for pagination (default: 0) include_all: If True, ignore pagination limits (use with caution in large environments) Returns: Instance detailed information in JSON format with instance, network, resource data, and pagination info. |
| get_instances_by_statusB | Get instances filtered by status. Args: status: Instance status to filter by (ACTIVE, SHUTOFF, ERROR, BUILDING, etc.) Returns: List of instances with the specified status |
| get_keypair_listA | Get list of SSH keypairs for the current user. Functions:
Use when user requests SSH key management, keypair information, or security key queries. Returns: List of SSH keypairs with detailed information in JSON format. |
| get_load_balancer_amphoraeA | Get amphora instances for a load balancer or all amphorae. Args: lb_name_or_id: Optional load balancer name or ID. If empty, shows all amphorae. Returns: JSON string containing amphora information including compute instances and network details |
| get_load_balancer_availability_zonesB | Get load balancer availability zones. Returns: JSON string containing availability zones information |
| get_load_balancer_detailsA | Get detailed information about a specific OpenStack load balancer. Functions:
Use when user requests:
Args: lb_name_or_id: Load balancer name or ID to query Returns: JSON string containing detailed load balancer information |
| get_load_balancer_flavorsB | Get load balancer flavors. Returns: JSON string containing flavors information |
| get_load_balancer_health_monitorsA | Get health monitors, optionally filtered by pool. Functions:
Use when user requests:
Args: pool_name_or_id: Optional pool name or ID to filter monitors (empty for all) Returns: JSON string containing health monitor details |
| get_load_balancer_l7_policiesA | Get L7 policies for a listener or all L7 policies. Args: listener_name_or_id: Optional listener name or ID to filter policies. If empty, shows all policies. Returns: JSON string containing L7 policies information including policy details, actions, and rules |
| get_load_balancer_l7_rulesA | Get L7 rules for a specific L7 policy. Args: policy_name_or_id: L7 policy name or ID (required) Returns: JSON string containing L7 rules information including rule types, values, and conditions |
| get_load_balancer_listA | Retrieve comprehensive list of OpenStack load balancers with detailed information. Functions:
Use when user requests:
Args:
limit: Maximum load balancers to return (1-200, default: 50)
offset: Number of load balancers to skip for pagination (default: 0) Returns: JSON string containing load balancer details with summary statistics |
| get_load_balancer_listenersA | Get listeners for a specific OpenStack load balancer. Functions:
Use when user requests:
Args: lb_name_or_id: Load balancer name or ID Returns: JSON string containing listener details for the load balancer |
| get_load_balancer_pool_membersA | Get members for a specific OpenStack load balancer pool. Functions:
Use when user requests:
Args: pool_name_or_id: Pool name or ID to query members for Returns: JSON string containing member details for the pool |
| get_load_balancer_poolsA | Get load balancer pools, optionally filtered by listener. Functions:
Use when user requests:
Args: listener_name_or_id: Optional listener name or ID to filter pools Returns: JSON string containing pool details with member information |
| get_load_balancer_providersB | Get load balancer providers. Returns: JSON string containing providers information |
| get_load_balancer_quotasA | Get load balancer quotas for a project or all projects. Args: project_id: Optional project ID. If empty, shows quotas for all projects. Returns: JSON string containing quota information |
| get_network_detailsA | Provides detailed information for OpenStack networks, subnets, routers, and security groups. Functions:
Use when user requests network information, subnet details, router configuration, or network troubleshooting. Args: network_name: Name of network to query or "all" for all networks (default: "all") Returns: Network detailed information in JSON format with networks, subnets, routers, and security groups. |
| get_project_detailsA | Get OpenStack project details (similar to 'openstack project list/show'). Args: project_name: Name of specific project to show details for (optional, lists all if empty) Returns: JSON string containing project information including details, roles, and quotas |
| get_quotaA | Get quota information for projects (similar to 'openstack quota show'). Args: project_name: Name of the project (optional, defaults to current project if empty) Returns: JSON string containing quota information for the specified project or current project |
| get_resource_monitoringA | Monitors real-time resource usage across the OpenStack cluster. Functions:
Use when user requests resource monitoring, capacity planning, usage analysis, or performance monitoring. Returns: Resource monitoring data in JSON format with cluster summary, hypervisor details, and usage statistics. |
| get_role_assignmentsA | Get role assignments for the current project. Functions:
Use when user requests permission information, access control queries, or security auditing. Returns: List of role assignments with detailed scope information in JSON format. |
| get_routersA | Get list of routers with their configuration. Functions:
Use when user requests router information, network connectivity queries, or routing configuration. Returns: List of routers with detailed configuration in JSON format. |
| get_security_groupsA | Get list of security groups with their rules. Functions:
Use when user requests security group information, firewall rules, or network security queries. Returns: List of security groups with detailed rules in JSON format. |
| get_server_eventsA | Get recent events for a specific server Args: instance_name: Name or ID of the server instance limit: Maximum number of events to return (default: 50) Returns: JSON string with server events information |
| get_server_groupsA | List all server groups with their details Returns: JSON string with server groups information |
| get_server_volumesA | Get all volumes attached to a specific server Args: instance_name: Name or ID of the server instance Returns: JSON string with server volumes information |
| get_service_statusA | Provides status and health check information for each OpenStack service. Functions:
Use when user requests service status, API status, health checks, or service troubleshooting. Returns: Service status information in JSON format with service details and health summary. |
| get_usage_statisticsA | Get usage statistics for projects (similar to 'openstack usage list' command). Functions:
Use when user requests usage statistics, billing information, resource consumption analysis, or project usage reports. Args: start_date: Start date in YYYY-MM-DD format (optional, defaults to 30 days ago) end_date: End date in YYYY-MM-DD format (optional, defaults to today) Returns: Usage statistics in JSON format with project usage data, server details, and summary information. |
| get_user_listA | Get list of OpenStack users in the current domain. Functions:
Use when user requests user management information, identity queries, or user administration tasks. Returns: List of users with detailed information in JSON format. |
| get_volume_listA | Get list of all volumes with detailed information. Functions:
Use when user requests volume listing, volume information, or storage overview. Returns: Detailed volume list in JSON format with volume information, attachments, and metadata. |
| get_volume_snapshotsA | Get list of volume snapshots. Functions:
Use when user requests snapshot information, backup queries, or volume restoration planning. Returns: List of volume snapshots with detailed information in JSON format. |
| get_volume_typesA | Get list of volume types with their specifications. Functions:
Use when user requests volume type information, storage backend queries, or volume creation planning. Returns: List of volume types with detailed specifications in JSON format. |
| search_instancesA | Search for OpenStack instances based on various criteria with efficient pagination. Functions:
Args: search_term: Term to search for (supports partial matching) search_in: Field to search in ('name', 'status', 'host', 'flavor', 'image', 'availability_zone', 'all') limit: Maximum number of matching instances to return (default: 50, max: 200) offset: Number of matching instances to skip for pagination (default: 0) case_sensitive: If True, performs case-sensitive search (default: False) Returns: List of matching instances with detailed information and pagination metadata |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| prompt_template_full | Return the full canonical prompt template. |
| prompt_template_headings | Return compact list of section headings. |
| prompt_template_section | Return a specific prompt template section by number or keyword. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/call518/MCP-OpenStack-Ops'
If you have feedback or need assistance with the MCP directory API, please join our Discord server