Skip to main content

获取OpenStack集群环境资源信息,包括计算、存储、网络、镜像等资源

Project description

OpenStack MCP Server

基于MCP(Multimodal Capability Protocol)的OpenStack资源查询服务,提供API接口查询OpenStack云平台的计算、存储、网络、镜像等资源信息。

功能特性

  • 实时资源查询:通过API获取OpenStack集群的最新资源状态
  • 多维度信息:支持查询计算、存储、网络、镜像等多种资源
  • 灵活过滤:支持按名称、ID等条件筛选资源
  • 详细程度控制:支持基础、详细、完整三种信息展示级别
  • 标准MCP接口:完全兼容MCP协议,可与大语言模型无缝集成

技术架构

  • 基于Starlette和Uvicorn的高性能异步HTTP服务
  • 使用OpenStack SDK与OpenStack API交互
  • 通过MCP协议将OpenStack资源信息结构化提供给大语言模型
  • 支持SSE流式输出,提供实时反馈

安装

环境要求

  • Python 3.10+
  • OpenStack环境

通过pip安装

pip install openstack-mcp-server

使用方法

启动服务

mcp-openstack-http --port 8000 --log-level INFO --auth-url 'http://<OpenStack-API-Endpoint>:5000/v3' --username '<OpenStack-Admin-User>' --password '<OpenStack-Admin-Password>'

服务启动后,将在http://localhost:8000/openstack提供MCP接口。

参数说明

  • --port: 服务监听端口,默认为8000
  • --log-level: 日志级别,可选值为DEBUG、INFO、WARNING、ERROR、CRITICAL,默认为INFO
  • --json-response: 使用JSON响应代替SSE流,默认为False

接口示例

通过MCP协议,可以使用以下工具查询OpenStack资源:

获取OpenStack虚拟机实例

{
  "name": "get-openstack-instances",
  "arguments": {
    "filter": "web-server",
    "limit": 10,
    "detail_level": "detailed"
  }
}

参数说明:

  • filter: 筛选条件,如实例名称或ID(可选)
  • limit: 返回结果的最大数量(可选,默认100)
  • detail_level: 返回信息的详细程度,可选值为basic、detailed、full(可选,默认basic)

配置说明

服务默认使用以下OpenStack认证配置:

conn = connection.Connection(
    auth_url='http://<OpenStack-API-Endpoint>:5000/v3',
    username='<OpenStack-Admin-User>',
    password='<OpenStack-Admin-Password>',
    project_name='<OpenStack-Admin-Project>',
    user_domain_name='<OpenStack-User-Domain>',
    project_domain_name='<OpenStack-Project-Domain>'
)

如需修改认证信息,请编辑src/mcp_openstack_http/server.py文件中的相关配置。

扩展开发

添加新的资源查询工具

  1. src/mcp_openstack_http/server.py中添加相应的资源获取函数
  2. list_tools方法中注册新工具
  3. call_tool方法中实现工具的处理逻辑

许可证

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openstack_mcp_server-0.1.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openstack_mcp_server-0.1.0-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file openstack_mcp_server-0.1.0.tar.gz.

File metadata

  • Download URL: openstack_mcp_server-0.1.0.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for openstack_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 582dc8704b6555eda1dd48de963e3e629dda87202bd30aaddf681f29dfdb41c1
MD5 c094fe5df274be6567c9efc42c2d9406
BLAKE2b-256 cd5099519bf1bf0146b58449aec6eebcd6bd28648cf4045b5c4a10a17b7d9603

See more details on using hashes here.

File details

Details for the file openstack_mcp_server-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for openstack_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 21427ffbc1c5ae9551728e152c0fff1f85e5a3dc02e8c6375831b2ea13807416
MD5 08a0574cb52836158d82cb8ed1afc675
BLAKE2b-256 fa0b4b72a5cae0414f0b40faa670f96fd500c8f4d6191c7709c54034ca6598d2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page