Skip to content

Commit 9d25de1

Browse files
halucinorpaikend
andcommitted
docs: first readme update (#57)
* docs: first readme update --------- Co-authored-by: Kent Paik <[email protected]>
1 parent 3ae5a98 commit 9d25de1

File tree

2 files changed

+104
-1
lines changed

2 files changed

+104
-1
lines changed

README.md

Lines changed: 101 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,102 @@
11
# python-openstackmcp-server
2-
openstack mcp server
2+
3+
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.
4+
5+
```mermaid
6+
flowchart LR
7+
AI[AI Assistant] <-->|MCP Protocol| Server[OpenStack MCP Server]
8+
Server <-->|OpenStack SDK| SDK[OpenStack SDK]
9+
SDK <-->|REST API| Cloud[OpenStack Cloud]
10+
```
11+
12+
# Table of Contents
13+
- [Table of Contents](#table-of-contents)
14+
- [Features](#features)
15+
- [Quick Start with Claude Desktop](#quick-start-with-claude-desktop)
16+
- [Requirements](#requirements)
17+
- [Using python](#using-python)
18+
- [Using uvx](#using-uvx)
19+
- [Contributing](#contributing)
20+
- [License](#license)
21+
22+
# Features
23+
- **MCP Protocol Support**: Implements the Model Context Protocol for AI assistants.
24+
- **Compute Tools**: Manage OpenStack compute resources (servers, flavors).
25+
- **Image Tools**: Manage OpenStack images.
26+
- **Identity Tools**: Handle OpenStack identity and authentication.
27+
- **Network Tools**: Manage OpenStack networking resources.
28+
- **Block Storage Tools**: Manage OpenStack block storage resources.
29+
30+
# Quick Start with Claude Desktop
31+
32+
Get started quickly with the OpenStack MCP server using Claude Desktop
33+
34+
## Requirements
35+
- Python 3.10 or higher
36+
- OpenStack credentials configured in `clouds.yaml` file
37+
- Claude Desktop installed
38+
39+
1. **Create or update your `clouds.yaml` file with your OpenStack credentials.**
40+
41+
Example `clouds.yaml`:
42+
```yaml
43+
clouds:
44+
openstack:
45+
auth:
46+
auth_url: https://your-openstack-auth-url.com
47+
username: your-username
48+
password: your-password
49+
project_name: your-project-name
50+
user_domain_name: Default
51+
project_domain_name: Default
52+
region_name: your-region
53+
interface: public
54+
identity_api_version: 3
55+
```
56+
57+
2. **Create or update your Claude Desktop configuration file**:
58+
- **macOS**: Edit `$HOME/Library/Application Support/Claude/claude_desktop_config.json`
59+
- **Windows**: Edit `%APPDATA%\Claude\claude_desktop_config.json`
60+
- **Linux**: Edit `$HOME/.config/Claude/claude_desktop_config.json`
61+
62+
### Using python
63+
64+
```json
65+
{
66+
"mcpServers": {
67+
"openstack-mcp-server": {
68+
"command": "/path/to/your/python",
69+
"args": [
70+
"python-openstackmcp-server"
71+
],
72+
"env" : {
73+
"OS_CLIENT_CONFIG_FILE": "/path/to/your/clouds.yaml"
74+
}
75+
}
76+
}
77+
}
78+
```
79+
80+
### Using uvx
81+
82+
```json
83+
{
84+
"mcpServers": {
85+
"openstack-mcp-server": {
86+
"command": "uvx",
87+
"args": [
88+
"python-openstackmcp-server"
89+
],
90+
"env" : {
91+
"OS_CLIENT_CONFIG_FILE": "/path/to/your/clouds.yaml"
92+
}
93+
}
94+
}
95+
}
96+
```
97+
98+
# Contributing
99+
Contributions are welcome! Please see the [CONTRIBUTING](CONTRIBUTING.rst) file for details on how to contribute to this project.
100+
101+
# License
102+
This project is licensed under the Apache License 2.0. See the [LICENSE](LICENSE) file for details.

pyproject.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ dependencies = [
1010
"pydantic>=2.11.7",
1111
]
1212

13+
[project.scripts]
14+
python-openstackmcp-server = "openstack_mcp_server:main"
15+
1316
[dependency-groups]
1417
dev = [
1518
"ruff>=0.12.5",

0 commit comments

Comments
 (0)