Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 101 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,102 @@
# python-openstackmcp-server
openstack mcp server

Openstack mcp server is a [Model Context Protocol (MCP)](https://modelcontextprotocol.io/docs/getting-started/intro) server that provides an interface for AI assistants to interact with OpenStack services.

```mermaid
flowchart LR
AI[AI Assistant] <-->|MCP Protocol| Server[OpenStack MCP Server]
Server <-->|OpenStack SDK| SDK[OpenStack SDK]
SDK <-->|REST API| Cloud[OpenStack Cloud]
```

# Table of Contents
- [Table of Contents](#table-of-contents)
- [Features](#features)
- [Quick Start with Claude Desktop](#quick-start-with-claude-desktop)
- [Requirements](#requirements)
- [Using python](#using-python)
- [Using uvx](#using-uvx)
- [Contributing](#contributing)
- [License](#license)

# Features
- **MCP Protocol Support**: Implements the Model Context Protocol for AI assistants.
- **Compute Tools**: Manage OpenStack compute resources (servers, flavors).
- **Image Tools**: Manage OpenStack images.
- **Identity Tools**: Handle OpenStack identity and authentication.
- **Network Tools**: Manage OpenStack networking resources.
- **Block Storage Tools**: Manage OpenStack block storage resources.

# Quick Start with Claude Desktop

Get started quickly with the OpenStack MCP server using Claude Desktop

## Requirements
- Python 3.10 or higher
- OpenStack credentials configured in `clouds.yaml` file
- Claude Desktop installed

1. **Create or update your `clouds.yaml` file with your OpenStack credentials.**

Example `clouds.yaml`:
```yaml
clouds:
openstack:
auth:
auth_url: https://your-openstack-auth-url.com
username: your-username
password: your-password
project_name: your-project-name
user_domain_name: Default
project_domain_name: Default
region_name: your-region
interface: public
identity_api_version: 3
```

2. **Create or update your Claude Desktop configuration file**:
- **macOS**: Edit `$HOME/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: Edit `%APPDATA%\Claude\claude_desktop_config.json`
- **Linux**: Edit `$HOME/.config/Claude/claude_desktop_config.json`

### Using python

```json
{
"mcpServers": {
"openstack-mcp-server": {
"command": "/path/to/your/python",
"args": [
"python-openstackmcp-server"
],
"env" : {
"OS_CLIENT_CONFIG_FILE": "/path/to/your/clouds.yaml"
}
}
}
}
```

### Using uvx

```json
{
"mcpServers": {
"openstack-mcp-server": {
"command": "uvx",
"args": [
"python-openstackmcp-server"
],
"env" : {
"OS_CLIENT_CONFIG_FILE": "/path/to/your/clouds.yaml"
}
}
}
}
```

# Contributing
Contributions are welcome! Please see the [CONTRIBUTING](CONTRIBUTING.rst) file for details on how to contribute to this project.
Copy link

Copilot AI Aug 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The link references 'CONTRIBUTING.rst' but this file may not exist in the repository. Consider verifying the file exists or updating the link to the correct filename/extension.

Suggested change
Contributions are welcome! Please see the [CONTRIBUTING](CONTRIBUTING.rst) file for details on how to contribute to this project.
Contributions are welcome! Please see the [CONTRIBUTING](CONTRIBUTING.md) file for details on how to contribute to this project.

Copilot uses AI. Check for mistakes.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rst 가 맞다... 알아보고 리뷰해

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ㅋㅋㅋㅋ


# License
This project is licensed under the Apache License 2.0. See the [LICENSE](LICENSE) file for details.
Copy link

Copilot AI Aug 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The link references 'LICENSE' but this file may not exist in the repository. Consider verifying the file exists or updating the link to the correct filename/extension.

Suggested change
This project is licensed under the Apache License 2.0. See the [LICENSE](LICENSE) file for details.
This project is licensed under the Apache License 2.0. See the [LICENSE.txt](LICENSE.txt) file for details.

Copilot uses AI. Check for mistakes.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

뭔소리여 파일 LICENSE 있음

3 changes: 3 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ dependencies = [
"pydantic>=2.11.7",
]

[project.scripts]
python-openstackmcp-server = "openstack_mcp_server:main"

[dependency-groups]
dev = [
"ruff>=0.12.5",
Expand Down