Skip to content

[FEAT] Add tools, resource, prompt that can use multiple cloud in openstack mcp servers. #89

@choieastsea

Description

@choieastsea

Summary
We would like to add related tools, resources, and prompts to make use of the multiple cloud authentication configurations stored in clouds.yaml.

Motivation

Currently, the openstackmcp server can only use a single cloud environment (default: openstack), which leads to several limitations.

  1. It is not possible to include multiple authentication profiles within the same OpenStack environment.

    For example, actions performed with admin privileges versus regular user privileges can yield different results, and we need flexibility to handle both.

  2. It is not possible to execute operations across multiple OpenStack environments.

Proposal

  1. Add a tool to configure the OpenStack connection (or select a specific cloud name).
  2. Add an MCP resource that exposes the authentication information stored in clouds.yaml (with sensitive data masked).
  3. Add a prompt that allows users to adjust the privilege level when a permission error occurs.

The reason for providing YAML information as a resource is that it is not directly part of the openstacksdk functionality but rather belongs to the MCP server executor’s environment and resource domain.


Summary
clouds.yaml에 저장된 다양한 클라우드 인증 정보를 활용할 수 있도록 관련 toolresource, prompt를 추가하고자 합니다. 이유는 다음과 같습니다.

Motivation

현재는 openstackmcp 서버에서 하나의 클라우드 환경(default: openstack)만 사용 가능하지만 다음이 불가능합니다.

  1. 같은 오픈스택 환경에서 다양한 인증 정보를 포함하지 못합니다. 관리자 권한으로 수행하거나, 일반 사용자 권한으로 사용하는 경우 의도되는 결과가 다를 수 있기에 필요합니다.
  2. 여러 오픈스택 환경에서 실행할 수 없습니다

Proposal

  1. openstack connection(혹은 cloud name)을 설정할 수 있는 tool
  2. mcp resource로 현재 갖고 있는 clouds.yaml의 인증 정보(일부 정보 masking 필요)를 제공하는 resource
  3. 권한 오류가 발생한 경우, 권한 수준을 조정할 수 있도록 하는 prompt

resource로 yaml 정보를 제공하고자 하는 이유는 openstacksdk의 기능이 아니고, mcp server 실행자의 리소스에 대한 영역이라고 생각하기 때문입니다.

Metadata

Metadata

Assignees

Labels

discussionfeatureRequest for new feature or functionality enhancement

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions