openstack_mcp_server

sbekkerm/openstack_mcp_server

3.3

If you are the rightful owner of openstack_mcp_server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

OpenStack MCP Server is a Model Context Protocol (MCP) server that integrates seamlessly with the OpenStack API.

OpenStack MCP Server

OpenStack MCP Server is a Model Context Protocol (MCP) server that provides seamless integration with OpenStack API.


🚀 Deployment

To build the application container image, use the following Podman command:

podman build . -t openstack_mcp_server

▶️ Starting the Server

To start the OpenStack MCP Server, follow these steps:

1. Create .env file

Create a file named .env in the root directory of the project. This file will store essential environment variables for the server.

OS_CLOUD=overcloud
OS_CLOUD_CONF_PATH=/server/clouds.yaml
OS_MCP_SERVER_HOST=0.0.0.0
OS_MCP_SERVER_PORT=9001

Variable Explanations

  • OS_CLOUD: Specifies the name of the cloud configuration to use from your clouds.yaml file.
  • OS_CLOUD_CONF_PATH: Defines the path to the clouds.yaml file.
  • OS_MCP_SERVER_HOST: Sets the IP address the MCP server will listen on. 0.0.0.0 means it will listen on all available network interfaces.
  • OS_MCP_SERVER_PORT: Sets the port number the MCP server will use.

2. Create clouds.yaml

Create a clouds.yaml file. This file contains the authentication details required to connect to your OpenStack environment. Ensure this file is placed at the path specified by OS_CLOUD_CONF_PATH in your .env file.

clouds:
  overcloud: # This should match OS_CLOUD in your .env file
    auth:
      auth_url: http://X.X.X.X:5000
      password: PASSWORD
      project_domain_name: Default
      project_name: admin
      user_domain_name: Default
      username: admin
    cacert: ''
    identity_api_version: '3'
    region_name: regionOne
    volume_api_version: '3'

⚠️ Important:

  • Replace http://X.X.X.X:5000 with the actual Keystone authentication URL of your OpenStack cloud.
  • Replace PASSWORD with your actual password for the specified user.
  • Adjust other parameters like project_name, username, region_name, etc., to match your specific OpenStack setup.

Run the Application

podman run -d --name openstack_mcp_server \
  -p 9001:9001 \
  --env-file .env \
  -v $(pwd)/clouds.yaml:/server/clouds.yaml:Z \
  localhost/openstack_mcp_server:latest

Examples

How to run the demo MCP client

cd examples/
uv run osp_mcp_client.py --llm_api_url https://X.X.X.X/v1 \
    --llm_api_key XXXX \
    --model_name granite-3-8b-instruct \
    --mcp_url http://X.X.X.X:9001/sse