返回市场
Python开放堆栈MCP服务器

Python开放堆栈MCP服务器

作者:openstack-kr15 星标更新:2025-10-30

项目介绍

python-openstackmcp-server

OpenStack MCP服务器是一个提供接口供AI助手与OpenStack服务交互的模型上下文协议(MCP)服务器。

flowchart LR
    AI[AI助手] <-->|MCP协议| Server[OpenStack MCP服务器]
    Server <-->|OpenStack SDK| SDK[OpenStack SDK]
    SDK <-->|REST API| Cloud[OpenStack云]

目录

特性

  • MCP协议支持:实现用于AI助手的模型上下文协议。
  • 计算工具:管理OpenStack计算资源(服务器、规格)。
  • 镜像工具:管理OpenStack镜像。
  • 身份工具:处理OpenStack身份和认证。
  • 网络工具:管理OpenStack网络资源。
  • 块存储工具:管理OpenStack块存储资源。

快速开始使用Claude桌面

使用Claude桌面快速开始使用OpenStack MCP服务器。

需求

  • Python 3.10或更高版本
  • clouds.yaml文件中配置OpenStack凭证
  • 安装了Claude桌面
  1. 创建或更新你的clouds.yaml文件,添加你的OpenStack凭证。

    示例clouds.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. 创建或更新你的Claude桌面配置文件

    • macOS:编辑$HOME/Library/Application Support/Claude/claude_desktop_config.json
    • Windows:编辑%APPDATA%\Claude\claude_desktop_config.json
    • Linux:编辑$HOME/.config/Claude/claude_desktop_config.json

使用Python

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

使用uvx

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

开发

设置

此项目支持使用uvtox进行开发和测试。

使用uv(快速本地开发)

# 安装依赖项(包括开发和测试组)
uv sync

# 运行测试
uv run --group test pytest

# 运行代码检查
uv run ruff check src tests

# 格式化代码
uv run ruff format src tests

使用tox(OpenStack标准)

# 安装tox
pip install tox
# 或
uv tool install tox

# 运行测试
tox -e py3

# 运行代码检查
tox -e pep8

# 自动格式化代码
tox -e format

# 生成覆盖率报告
tox -e cover

# 在虚拟环境中运行任意命令
tox -e venv -- <command>

# 在特定Python版本上测试
tox -e py310  # 或 py311, py312, py313

# 列出所有可用环境
tox list

测试

该项目包括全面的测试覆盖(85%以上)。测试位于tests/目录下。

# 运行所有测试
tox -e py3

# 带覆盖率运行
tox -e cover

# 带调试器运行
tox -e debug

# 运行特定测试文件
tox -e py3 -- tests/tools/test_compute_tools.py

贡献

欢迎贡献!请参阅CONTRIBUTING文件了解如何为此项目做出贡献的详细信息。

许可

本项目根据Apache许可证2.0发布。详情请参阅LICENSE文件。