1. Conduid
  2. Developer Tools
  3. OpenStack
MCP server · Developer Tools

OpenStack

欢迎一起补全这个仓库,欢迎star。 基于MCP的OpenStack资源查询服务,提供API接口操作OpenStack云平台的计算、存储、网络、镜像等资源信息。

Unclaimed Apache-2.0 last commit a year ago devtools
49Fair

Scored 14 days ago · breakdown

About OpenStack

OpenStack is an MCP server published by wangsqly0407 in the Developer Tools category: 欢迎一起补全这个仓库,欢迎star。 基于MCP的OpenStack资源查询服务,提供API接口操作OpenStack云平台的计算、存储、网络、镜像等资源信息。.

The repository has 1 stars and 1 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/wangsqly0407/openstack-mcp-server

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about OpenStack

Powered by Claude · Grounded in docs

I know everything about OpenStack. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 7 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
  • !Dependencies pinnedNo lockfile. Installs can pull different code over time.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

OpenStack MCP Server

Overview

An OpenStack resource query service based on MCP (Model Context Protocol), providing API interfaces to query compute, storage, network, image, and other resources from the OpenStack cloud platform.

Features

  • Real-time Resource Queries: Get the latest resource status of OpenStack clusters via API
  • Multi-dimensional Information: Support querying various resources including compute, storage, network, and images
  • Flexible Filtering: Filter resources by name, ID, and other conditions
  • Detail Level Control: Support basic, detailed, and full information display levels
  • Standard MCP Interface: Fully compatible with MCP protocol, seamlessly integrating with large language models

Technical Architecture

  • High-performance asynchronous HTTP service based on Starlette and Uvicorn
  • Interact with OpenStack API using OpenStack SDK
  • Provide structured OpenStack resource information to large language models through MCP protocol
  • Support SSE streaming output for real-time feedback

Architecture Diagram

┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│             │    │             │    │             │
│  AI Client  │───▶│  MCP Server │───▶│  OpenStack  │
│  (LLM)      │◀───│  (Server)   │◀───│  API        │
│             │    │             │    │             │
└─────────────┘    └─────────────┘    └─────────────┘

Installation

Requirements

  • Python 3.10+
  • OpenStack environment

Install via pip

pip install openstack-mcp-server

Usage

Start the Service

openstack-mcp-server --port 8000 --log-level INFO --auth-url 'http://<OpenStack-API-Endpoint>:5000/v3' --username '<OpenStack-Admin-User>' --password '<OpenStack-Admin-Password>'

After starting, the MCP interface will be available at http://localhost:8000/openstack.

Parameters

  • --port: Service listening port, default is 8000
  • --log-level: Log level, options are DEBUG, INFO, WARNING, ERROR, CRITICAL, default is INFO
  • --json-response: Use JSON response instead of SSE stream, default is False

Interface Example

Through the MCP protocol, you can use the following tools to query OpenStack resources:

Get OpenStack VM Instances

{
  "name": "get_instances",
  "arguments": {
    "filter": "web-server",
    "limit": 10,
    "detail_level": "detailed"
  }
}

Parameter description:

  • filter: Filter condition, such as instance name or ID (optional)
  • limit: Maximum number of results to return (optional, default 100)
  • detail_level: Level of detail in the returned information, options are basic, detailed, full (optional, default detailed)

Install from Source

# Clone repository
git clone https://github.com/wangshqly0407/openstack-mcp-server.git
cd openstack-mcp-server
# Create virtual environment
uv venv
# Activate virtual environment
source .venv/bin/activate
# Initialize runtime environment
uv sync
# Start streaming HTTP MCP server
uv run ./src/mcp_openstack_http/server.py --port 8000 --log-level INFO --auth-url 'http://<OpenStack-API-Endpoint>:5000/v3' --username '<OpenStack-Admin-User>' --password '<OpenStack-Admin-Password>'

Testing and Verification

# Method 1: Test using npx
npx -y @modelcontextprotocol/inspector uv run ./src/mcp_openstack_http/server.py --port 8000 --log-level INFO --auth-url 'http://<OpenStack-API-Endpoint>:5000/v3' --username '<OpenStack-Admin-User>' --password '<OpenStack-Admin-Password>'

# Method 2: Test using docker
docker run -it --rm -p 6274:6274 -p 6277:6277 -v $(pwd):/app -w /app node:18 npx -y @modelcontextprotocol/inspector uv run ./src/mcp_openstack_http/server.py --port 8000 --log-level INFO --auth-url 'http://<OpenStack-API-Endpoint>:5000/v3' --username '<OpenStack-Admin-User>' --password '<OpenStack-Admin-Password>'

Access: http://localhost:6274/

image

Development Extensions

Adding New Resource Query Tools

  1. Add corresponding resource acquisition functions in src/mcp_openstack_http/server.py
  2. Register the new tool in the list_tools method
  3. Implement the tool's processing logic in the call_tool method

License

Apache 2.0

README fetched from the repository 7 days ago. The original is authoritative.

Questions

About OpenStack

How do I install OpenStack?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is OpenStack safe to use with an AI agent?

Its trust score is 49 out of 100 (fair). It passes 3 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is OpenStack still maintained?

The last commit was a year ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.