-
Notifications
You must be signed in to change notification settings - Fork 6
docs: first readme update #57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| 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. | ||||||
halucinor marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
|
||||||
| # License | ||||||
| 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](LICENSE) file for details. | |
| This project is licensed under the Apache License 2.0. See the [LICENSE.txt](LICENSE.txt) file for details. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
뭔소리여 파일 LICENSE 있음
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rst 가 맞다... 알아보고 리뷰해
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ㅋㅋㅋㅋ