openstack-mcp-server

MCP.Pizza Chef: DragomirAlin

The openstack-mcp-server is a lightweight, extensible MCP server that enables AI assistants to securely execute OpenStack CLI commands. It integrates with AI applications like Claude Desktop, allowing direct interaction with OpenStack resources through the Model Context Protocol. Built with Java, Spring Boot, and Maven, it requires OpenStack CLI and credentials for secure command execution, facilitating seamless cloud resource management via AI-driven workflows.

Use This MCP server To

Execute OpenStack CLI commands securely via AI assistants Manage OpenStack resources through natural language requests Integrate OpenStack control into AI-enhanced workflows Automate cloud infrastructure tasks using AI commands Enable AI-driven monitoring and management of OpenStack environments

README

OpenStack MCP Server

Overview

A lightweight and extensible service that enables AI assistants to securely execute OpenStack CLI commands via the Model Context Protocol (MCP).

This project is designed to work with the Claude Desktop application, allowing you to interact with OpenStack resources directly from the AI assistant.

Project Requirements

  • Java 21
  • Maven 3.8+
  • Spring Boot 3.4.4
  • Spring AI 1.0.0-M6
  • OpenStack CLI installed on your machine

Getting Started

Prerequisites

Before you begin, ensure you have the following installed:

  • Java 21
  • Maven 3.8+
  • OpenStack CLI

Configuration

  1. OpenStack Configuration: Update the application.yml file with your OpenStack credentials.
    • authUrl: Your OpenStack authentication URL.
    • regionName: Your OpenStack region name.
    • applicationCredentialId: Your OpenStack application credential ID.
    • applicationCredentialSecret: Your OpenStack application credential secret.
spring:
  main:
    web-application-type: none
    banner-mode: off
  ai:
    mcp:
      server:
        name: openstack-mcp-server
        version: 0.0.1

logging:
  pattern:
    console:

openstack:
  authType: v3applicationcredential
  authUrl: <your_auth_url>
  identityApiVersion: 3
  regionName: <your_region_name>
  interface: public
  applicationCredentialId: "<your_application_credential_id>"
  applicationCredentialSecret: "<your_application_credential_secret>"

server:
  port: 8080

Packaging

To package the application as a JAR file, run the following command:

mvn clean package

Integration with Claude Desktop

To integrate the OpenStack MCP server with Claude Desktop, you need to configure the claude-desktop.json file. This file contains the necessary configuration for the integration.

Please update <path_to_your_jar> with the actual path to your JAR file.

{
  "mcpServers": {
    "openstack-mcp-server": {
      "command": "java",
      "args": [
        "-jar",
        "<path_to_your_jar>/openstack-mcp-server-0.0.1.jar",
        "--port",
        "8080",
        "--host",
        "localhost"
      ]
    }
  }
}

Testing

To test the integration, prompt to Claude Desktop to list your servers, or projects:

  • List my servers
  • List my projects
  • List my images

get-server get-flavors get-servers

openstack-mcp-server FAQ

How do I configure OpenStack credentials for the openstack-mcp-server?
Update the application.yml file with your OpenStack authUrl, regionName, applicationCredentialId, and applicationCredentialSecret to enable secure access.
What are the prerequisites for running the openstack-mcp-server?
You need Java 21, Maven 3.8+, Spring Boot 3.4.4, Spring AI 1.0.0-M6, and the OpenStack CLI installed on your machine.
Can the openstack-mcp-server work with AI models other than Claude Desktop?
Yes, it supports any AI assistant or client that implements the MCP protocol, including those using OpenAI, Anthropic Claude, and Google Gemini models.
How does the openstack-mcp-server ensure secure command execution?
It uses OpenStack application credentials configured in a secure manner and restricts command execution to authorized requests via MCP.
Is the openstack-mcp-server extensible for additional OpenStack commands?
Yes, it is designed to be lightweight and extensible, allowing developers to add support for more OpenStack CLI commands as needed.
What programming languages and frameworks are used in the openstack-mcp-server?
It is built using Java 21, Spring Boot 3.4.4, and Maven 3.8+, leveraging Spring AI for integration.
How do I start the openstack-mcp-server after configuration?
After setting up your credentials and environment, run the server using Maven or your preferred Java runtime environment to start accepting MCP requests.