OpenStack MCP 服务器

OpenStack MCP Server 是一个模型上下文协议(MCP)服务器,提供与 OpenStack API 的无缝集成。

  • by sbekkerm
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 sbekkerm/openstack_mcp_server

使用说明

OpenStack MCP服务器

OpenStack MCP服务器是一个模型上下文协议(MCP)服务器,提供与OpenStack API的无缝集成。


🚀 部署

要构建应用程序容器映像,请使用以下Podman命令:

podman build . -t openstack_mcp_server

▶️ 启动服务器

要启动OpenStack MCP服务器,请执行以下步骤:

1.创建 .env 文件

创建一个名为的文件 .env 在项目的根目录中。此文件将存储服务器的基本环境变量。

OS_CLOUD=overcloud
OS_CLOUD_CONF_PATH=/server/clouds.yaml
OS_MCP_SERVER_HOST=0.0.0.0
OS_MCP_SERVER_PORT=9001

变量解释

  • OS_CLOUD:指定要从中使用的云配置的名称 clouds.yaml 文件。
  • OS_CLOUD_CONF_PATH:定义到的路径 clouds.yaml 文件。
  • OS_MCP_SERVER_HOST:设置MCP服务器将侦听的IP地址。 0.0.0.0 意味着它将监听所有可用的网络接口。
  • OS_MCP_SERVER_PORT:设置MCP服务器将使用的端口号。

2.创建 clouds.yaml

创建一个 clouds.yaml 文件。此文件包含连接到OpenStack环境所需的身份验证详细信息。确保此文件放置在由指定的路径中 OS_CLOUD_CONF_PATH 在你的 .env 文件。

clouds:
  overcloud: # This should match OS_CLOUD in your .env file
    auth:
      auth_url: http://X.X.X.X:5000
      password: PASSWORD
      project_domain_name: Default
      project_name: admin
      user_domain_name: Default
      username: admin
    cacert: ''
    identity_api_version: '3'
    region_name: regionOne
    volume_api_version: '3'

⚠️ 重要提示:

  • 替换 http://X.X.X.X:5000 使用OpenStack云的实际Keystone身份验证URL。
  • 替换 PASSWORD 使用指定用户的实际密码。
  • 调整其他参数,如 project_name, username, region_name等,以匹配您的特定OpenStack设置。

运行应用程序

podman run -d --name openstack_mcp_server \
  -p 9001:9001 \
  --env-file .env \
  -v $(pwd)/clouds.yaml:/server/clouds.yaml:Z \
  localhost/openstack_mcp_server:latest

例子

如何运行演示MCP客户端

cd examples/
uv run osp_mcp_client.py --llm_api_url https://X.X.X.X/v1 \
    --llm_api_key XXXX \
    --model_name granite-3-8b-instruct \
    --mcp_url http://X.X.X.X:9001/sse