ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

OpenStack

โดย oomchillerรุ่น 0.1.2i★ –iรันบนเครื่อง
ชื่อใน registryio.github.oomchiller/openstack-mcp-server

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Read-only-first OpenStack inspection: servers, images, volumes, networks, Keystone catalog.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: อื่น ๆ
  • ต้องใส่ค่าเหล่านี้: OS_AUTH_URL, OS_PASSWORD, OS_APPLICATION_CREDENTIAL_SECRET

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
  • รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
  • ค่าที่คุณต้องใส่เอง: OS_AUTH_URL, OS_USERNAME, OS_PASSWORD, OS_USER_DOMAIN_NAME, OS_PROJECT_ID, OS_APPLICATION_CREDENTIAL_ID, OS_APPLICATION_CREDENTIAL_SECRET, OS_REGION_NAME, OPENSTACK_MCP_PROJECT_IDS, OPENSTACK_MCP_CACERT_PEM

ค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต

ต้องเตรียมก่อน

  • Dockerติดตั้ง Docker ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "openstack": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "OS_AUTH_URL",
        "-e",
        "OS_USERNAME",
        "-e",
        "OS_PASSWORD",
        "-e",
        "OS_USER_DOMAIN_NAME",
        "-e",
        "OS_PROJECT_ID",
        "-e",
        "OS_APPLICATION_CREDENTIAL_ID",
        "-e",
        "OS_APPLICATION_CREDENTIAL_SECRET",
        "-e",
        "OS_REGION_NAME",
        "-e",
        "OPENSTACK_MCP_PROJECT_IDS",
        "-e",
        "OPENSTACK_MCP_CACERT_PEM",
        "ghcr.io/oomchiller/openstack-mcp-server:0.1.2"
      ],
      "env": {
        "OS_AUTH_URL": "ใส่ค่าของคุณ",
        "OS_USERNAME": "ใส่ค่าของคุณ",
        "OS_PASSWORD": "ใส่ค่าของคุณ",
        "OS_USER_DOMAIN_NAME": "ใส่ค่าของคุณ",
        "OS_PROJECT_ID": "ใส่ค่าของคุณ",
        "OS_APPLICATION_CREDENTIAL_ID": "ใส่ค่าของคุณ",
        "OS_APPLICATION_CREDENTIAL_SECRET": "ใส่ค่าของคุณ",
        "OS_REGION_NAME": "ใส่ค่าของคุณ",
        "OPENSTACK_MCP_PROJECT_IDS": "ใส่ค่าของคุณ",
        "OPENSTACK_MCP_CACERT_PEM": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add openstack --env OS_AUTH_URL='ใส่ค่าของคุณ' --env OS_USERNAME='ใส่ค่าของคุณ' --env OS_PASSWORD='ใส่ค่าของคุณ' --env OS_USER_DOMAIN_NAME='ใส่ค่าของคุณ' --env OS_PROJECT_ID='ใส่ค่าของคุณ' --env OS_APPLICATION_CREDENTIAL_ID='ใส่ค่าของคุณ' --env OS_APPLICATION_CREDENTIAL_SECRET='ใส่ค่าของคุณ' --env OS_REGION_NAME='ใส่ค่าของคุณ' --env OPENSTACK_MCP_PROJECT_IDS='ใส่ค่าของคุณ' --env OPENSTACK_MCP_CACERT_PEM='ใส่ค่าของคุณ' -- docker run -i --rm -e OS_AUTH_URL -e OS_USERNAME -e OS_PASSWORD -e OS_USER_DOMAIN_NAME -e OS_PROJECT_ID -e OS_APPLICATION_CREDENTIAL_ID -e OS_APPLICATION_CREDENTIAL_SECRET -e OS_REGION_NAME -e OPENSTACK_MCP_PROJECT_IDS -e OPENSTACK_MCP_CACERT_PEM ghcr.io/oomchiller/openstack-mcp-server:0.1.2

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "openstack": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "OS_AUTH_URL",
        "-e",
        "OS_USERNAME",
        "-e",
        "OS_PASSWORD",
        "-e",
        "OS_USER_DOMAIN_NAME",
        "-e",
        "OS_PROJECT_ID",
        "-e",
        "OS_APPLICATION_CREDENTIAL_ID",
        "-e",
        "OS_APPLICATION_CREDENTIAL_SECRET",
        "-e",
        "OS_REGION_NAME",
        "-e",
        "OPENSTACK_MCP_PROJECT_IDS",
        "-e",
        "OPENSTACK_MCP_CACERT_PEM",
        "ghcr.io/oomchiller/openstack-mcp-server:0.1.2"
      ],
      "env": {
        "OS_AUTH_URL": "ใส่ค่าของคุณ",
        "OS_USERNAME": "ใส่ค่าของคุณ",
        "OS_PASSWORD": "ใส่ค่าของคุณ",
        "OS_USER_DOMAIN_NAME": "ใส่ค่าของคุณ",
        "OS_PROJECT_ID": "ใส่ค่าของคุณ",
        "OS_APPLICATION_CREDENTIAL_ID": "ใส่ค่าของคุณ",
        "OS_APPLICATION_CREDENTIAL_SECRET": "ใส่ค่าของคุณ",
        "OS_REGION_NAME": "ใส่ค่าของคุณ",
        "OPENSTACK_MCP_PROJECT_IDS": "ใส่ค่าของคุณ",
        "OPENSTACK_MCP_CACERT_PEM": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "openstack": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "OS_AUTH_URL",
        "-e",
        "OS_USERNAME",
        "-e",
        "OS_PASSWORD",
        "-e",
        "OS_USER_DOMAIN_NAME",
        "-e",
        "OS_PROJECT_ID",
        "-e",
        "OS_APPLICATION_CREDENTIAL_ID",
        "-e",
        "OS_APPLICATION_CREDENTIAL_SECRET",
        "-e",
        "OS_REGION_NAME",
        "-e",
        "OPENSTACK_MCP_PROJECT_IDS",
        "-e",
        "OPENSTACK_MCP_CACERT_PEM",
        "ghcr.io/oomchiller/openstack-mcp-server:0.1.2"
      ],
      "env": {
        "OS_AUTH_URL": "ใส่ค่าของคุณ",
        "OS_USERNAME": "ใส่ค่าของคุณ",
        "OS_PASSWORD": "ใส่ค่าของคุณ",
        "OS_USER_DOMAIN_NAME": "ใส่ค่าของคุณ",
        "OS_PROJECT_ID": "ใส่ค่าของคุณ",
        "OS_APPLICATION_CREDENTIAL_ID": "ใส่ค่าของคุณ",
        "OS_APPLICATION_CREDENTIAL_SECRET": "ใส่ค่าของคุณ",
        "OS_REGION_NAME": "ใส่ค่าของคุณ",
        "OPENSTACK_MCP_PROJECT_IDS": "ใส่ค่าของคุณ",
        "OPENSTACK_MCP_CACERT_PEM": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • OS_AUTH_URL จำเป็น env
    Keystone v3 endpoint, for example https://keystone.example.com:5000/v3
  • OS_USERNAME env
    User name; omit when using an application credential
  • OS_PASSWORD ความลับ env
    Password for OS_USERNAME
  • OS_USER_DOMAIN_NAME env
    Domain of OS_USERNAME
  • OS_PROJECT_ID env
    Project to scope the token to
  • OS_APPLICATION_CREDENTIAL_ID env
    Application credential ID, instead of a user name and password
  • OS_APPLICATION_CREDENTIAL_SECRET ความลับ env
    Application credential secret
  • OS_REGION_NAME env
    Region name
  • OPENSTACK_MCP_PROJECT_IDS env
    Comma-separated project IDs the server may use; the first is the default
  • OPENSTACK_MCP_CACERT_PEM env
    CA bundle as PEM text, for a private CA

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub oomchiller ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด อื่น ๆi

  • ดาวมากกว่า 0% ของอีก 32435 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 92% ของอีก 32435 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 32435 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

OpenStack ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

ต้องใส่ค่าเหล่านี้: OS_AUTH_URL, OS_PASSWORD, OS_APPLICATION_CREDENTIAL_SECRET

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.2) เข้า registry เมื่อวานซืน

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Docker ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Apify MCP Server

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Spec Driven Development

โดย formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

รันบนเครื่อง★ 440MITอัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

Remote Desktop Commander

โดย desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

รันบนคลาวด์★ 211อัปเดต เมื่อวาน
ติดตั้ง

Apify MCP Server

โดย apify

Extract data from any website with thousands of scrapers, crawlers, and automations on Apify Store ⚡

รันบนคลาวด์อัปเดต วันนี้
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

openstack-mcp-server

Community project, not affiliated with OpenStack/OpenInfra Foundation.

A Model Context Protocol server that lets AI assistants inspect OpenStack clouds. It is read-only by default, bounded in what it returns, and configured entirely through OpenStack's own settings and environment variables, so it runs unchanged as a local process or a container.

flowchart LR

AI[MCP client] <-->|stdio / Streamable HTTP| Server[openstack-mcp-server] Server <-->|openstacksdk| Cloud[OpenStack APIs]

Features

  • 32 read tools for compute, images, block storage, networking, the Keystone catalog and service inventory, plus get_scope.
  • Write tools are not registered unless explicitly enabled by two settings.
  • Project allowlist: each allowed project gets its own project-scoped session.
  • Every list has limit, complete and next_marker; results are typed (outputSchema, structuredContent) and capped in size.
  • Errors are isError results with a category and an action, without SDK messages, URLs or tokens.
  • stdio by default; Streamable HTTP on loopback as an option.
  • Container image without credentials, running as an unprivileged user.

The read-only mode is a convenience. The security boundary is the Keystone role of the identity you configure; see SECURITY.md.

Quick start

The server is listed in the MCP Registry as io.github.oomchiller/openstack-mcp-server; registry-aware clients can install it from there. Manual setup:

Container (Docker MCP Toolkit or any MCP client)
docker run --rm -i \

-e OS_AUTH_URL=https://keystone.example.com:5000/v3 \ -e OS_USERNAME=mcp-reader -e OS_PASSWORD \ -e OS_USER_DOMAIN_NAME=Default -e OS_PROJECT_ID=0123456789abcdef0123456789abcdef \ -e OS_REGION_NAME=RegionOne \ ghcr.io/oomchiller/openstack-mcp-server@sha256:

Pin the image by digest; release digests are listed on the releases page. For a private CA, pass the certificate text in OPENSTACK_MCP_CACERT_PEM.

Local process with clouds.yaml
{

"mcpServers": { "openstack": { "command": "uvx", "args": ["--from", "git+https://github.com/oomchiller/openstack-mcp-server@v0.1.2", "openstack-mcp-server"], "env": { "OS_CLOUD": "mycloud" } } } }

clouds.yaml is found the usual way (OS_CLIENT_CONFIG_FILE, ./clouds.yaml, ~/.config/openstack/clouds.yaml, /etc/openstack/).

Configuration

Credentials come from openstacksdk: OS_CLOUD with clouds.yaml, or OS_* variables (password or application credentials). Server behaviour:

VariableDefaultMeaning
OPENSTACK_MCP_MODEreadonlyreadonly or admin.
OPENSTACK_MCP_ENABLE_WRITE_TOOLSfalseWith admin, registers write tools.
OPENSTACK_MCP_PROJECT_IDSemptyComma-separated project IDs the server may use; the first is the default.
OPENSTACK_MCP_DEFAULT_LIMIT50Items per list call when limit is omitted.
OPENSTACK_MCP_MAX_LIMIT100Largest accepted limit (up to 1000).
OPENSTACK_MCP_MAX_RESPONSE_BYTES524288Largest result; larger ones fail with response_too_large.
OPENSTACK_MCP_API_TIMEOUT10Seconds per OpenStack request; no retries.
OPENSTACK_MCP_CACERT_PEMunsetCA bundle as PEM text; takes precedence over OS_CACERT.
OPENSTACK_MCP_ALLOW_INSECUREfalseAllow verify: false or an http:// auth URL.
OPENSTACK_MCP_ENABLE_PROMPTStrueRegister the prompt.
OPENSTACK_MCP_ENABLE_RESOURCEStrueRegister openstack://scope.
OPENSTACK_MCP_TRANSPORTstdiostdio or streamable-http.
OPENSTACK_MCP_HTTP_HOST / _PORT127.0.0.1 / 8000HTTP bind; path /mcp.
OPENSTACK_MCP_HTTP_ALLOW_REMOTEfalseAllow a non-loopback HTTP bind. The HTTP transport has no authentication.
OPENSTACK_MCP_LOG_LEVELWARNINGstderr log level. SDK loggers stay at CRITICAL.

An invalid OPENSTACK_MCP_* value stops the server with exit code 2 and names the variable. Missing credentials do not: the server starts, and cloud tools return [not_configured].

Gateways that run several instances of this server and do not prefix prompt names or resource URIs (Docker MCP Gateway) should set OPENSTACK_MCP_ENABLE_PROMPTS=false and OPENSTACK_MCP_ENABLE_RESOURCES=false.

Tools

GroupTools
Scopeget_scope
Computelist_servers, get_server, list_flavors
Imagelist_images, get_image
Block storagelist_volumes, get_volume, list_volume_attachments, get_volume_attachment
Networklist_networks, get_network, list_subnets, get_subnet, list_ports, get_port, list_floating_ips, list_routers, get_router, list_router_interfaces, list_security_groups, get_security_group
Identitylist_regions, list_domains, list_projects, list_services, list_endpoints
Service inventorylist_hypervisors, list_compute_services, list_aggregates, list_network_agents, list_volume_services

Identity and service inventory usually need more than a project reader role; such calls fail with [forbidden] rather than returning empty lists.

With OPENSTACK_MCP_MODE=admin and OPENSTACK_MCP_ENABLE_WRITE_TOOLS=true, 31 experimental write tools are added (servers, volumes, images, networks, subnets, ports, floating IPs, routers, security groups). See docs/SPEC.md for the full behaviour.

Development

uv sync --locked

uv run pytest --cov uv run ruff check . && uv run ruff format --check . uv run mypy src tests

See CONTRIBUTING.md, ARCHITECTURE.md and DECISIONS.md.

License

Apache License 2.0; see LICENSE. Parts of the code started in openstack-kr/python-openstackmcp-server; see NOTICE.

ถาม PopNx