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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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