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

Ansible MCP Server

โดย YawLabsรุ่น 0.1.3i★ –iรันบนเครื่อง
ชื่อใน registryio.github.YawLabs/ansible-mcp

ติดตั้ง

ภาพรวม

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

Ansible checkout truth: module specs, task args, roles, inventory, plays, upgrade impact

สามเสาของ PopNx MCP

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

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

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

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: ร้านค้าออนไลน์และรับเงิน

ติดตั้ง

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

ก่อนติดตั้ง

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

  • npmติดตั้ง Node.js (มีคำสั่ง npx) ในเครื่อง

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

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

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

{
  "mcpServers": {
    "ansible": {
      "command": "npx",
      "args": [
        "-y",
        "@yawlabs/ansible-mcp"
      ]
    }
  }
}

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

claude mcp add ansible -- npx -y @yawlabs/ansible-mcp

เปิดใน Cursor

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

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

{
  "mcpServers": {
    "ansible": {
      "command": "npx",
      "args": [
        "-y",
        "@yawlabs/ansible-mcp"
      ]
    }
  }
}

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

เปิดใน VS Code

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

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

{
  "servers": {
    "ansible": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@yawlabs/ansible-mcp"
      ]
    }
  }
}

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

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

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

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

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

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

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

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

  • ✓ ผ่าน

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

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

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

    ยังมีคนดูแล

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

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

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

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

  • – ไม่เกี่ยว

    endpoint ตอบ

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

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

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

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

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

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

เทียบกับตัวอื่นในหมวด ร้านค้าออนไลน์และรับเงินi

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

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

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

Ansible MCP Server ปลอดภัยไหม?

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

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

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

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

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

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

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.3) เข้า registry 9 วันที่ผ่านมา

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

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

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

ในหมวดเดียวกันมี Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce

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

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

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

Stripe MCP

server ทางการของ Stripe ให้ AI ดูและจัดการลูกค้า สินค้า การชำระเงิน และใบแจ้งหนี้ ต่อผ่านคลาวด์ของ Stripe และล็อกอินแบบ OAuth

โดย stripeใช้กันมาก★ 2Kอัปเดต 13 เดือนที่ผ่านมา

รันบนคลาวด์✓ stripe.com

MCP Cn Commerce

8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending

โดย TonyWang-hubเริ่มต้น↓ 73/สัปดาห์★ 96อัปเดต 29 วันที่ผ่านมา

รันบนเครื่อง

README จากผู้ทำ

เปิดอ่าน README

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

@yawlabs/ansible-mcp

One click adds this to your local Yaw MCP config so it's available in every Yaw Terminal session. Or install manually below.

What is actually true in THIS Ansible checkout on THIS control node: the exact option specs of the modules you have INSTALLED (so coding agents stop writing options that do not exist in your collection version), task-argument checks, role interfaces, inventory structure and vars (redacted), play structure, effective config, requirements drift, and what a collection upgrade would break in your tasks. It is read-only: it never runs a play, never runs --check, never connects to a managed host and never supplies a vault secret. It complements Red Hat's servers rather than replacing them: AAP MCP answers what is true in the controller, ADT MCP takes actions (lint --fix, navigator runs, scaffolding, EE builds). Run them together.

Built and maintained by Yaw Labs.

Why this one?

Your checkout has community.general 9.5.2; the model's training data has whatever version it saw most. Agents then write git_config: list_all: true (removed in 11.0.0), forget name (required since 12.0.0), or set state: present on rhsm_repository (no longer accepted). The VS Code language server knows the exact specs, but only a person in the editor sees them. This server lets the agent check *before* it writes, against what is installed.

  • Installed, not latest -- the source of truth is ansible-doc --json run against your collections paths, with redirects (ufw -> community.general.ufw) and tombstones resolved.
  • Checks what lint skips -- ansible-lint's args rule skips modules with action plugins (copy, template); ansible_check_task_args catches their unknown options and bad values, and says plainly which cross-option rules ansible-doc cannot express.
  • YAML 1.1 aware -- Ansible parses YAML 1.1, so unquoted off is false and 0755 is the integer 493. The server reads YAML the same way and says when that is probably a bug.
  • Read-only by construction -- configured vault password scripts never run (a server-owned dummy password file replaces them), script and plugin inventory sources are off by default, and play-level lookups are refused before Ansible parses a playbook (as is any playbook or lint target the pre-scan cannot fully read).
  • Collection upgrade impact -- downloads only the target version into its own cache and diffs the arg specs of the modules your tasks actually use, tied to file:line.
  • macOS, Linux, and Windows through WSL -- Ansible has no Windows control node; on Windows the server spawns it through wsl.exe --exec (no shell anywhere).

Tools

ToolWhat it does
ansible_project_infoansible-core version, effective config file, collections and roles paths, installed ansible-* binaries, detected playbooks, inventories (with whole-file vault count), roles and requirements files. Call this first.
ansible_module_docEvery option of one module or plugin as installed: type, required, default, choices, aliases, suboptions, deprecations, no_log, the providing collection version, [has action plugin], returns and (optionally) examples.
ansible_module_searchFind installed modules/plugins by name or description, ranked exact, prefix, token, then description.
ansible_check_task_argsCheck inline task YAML or a tasks file / playbook against the installed docs: unknown options, missing required ones (aliases count), bad choices and types, suboptions, mode: 0755, deprecated options, duplicate keys. Never claims "valid": it names what ansible-doc cannot check.
ansible_role_interfaceA role's argument_specs entry points and options, defaults (redacted, no_log honoured), undocumented defaults, dependencies, vars names, galaxy_info. Local roles and ns.collection.role.
ansible_inventoryGroups, hosts, and inventory-level vars (names or values), always redacted. Whole-file vaults degrade to a per-file view instead of failing.
ansible_playbook_structure--syntax-check, then plays, matched hosts, tasks with module and file:line, tags, and the deprecation warnings Ansible printed while parsing.
ansible_configEffective config with origins (ansible.cfg, env, default); galaxy credentials always redacted; settings the server overrides for safety are flagged.
ansible_collectionsrequirements.yml vs installed: ok / VIOLATES / MISSING with file:line, galaxy constraint semantics, and shadowed copies across collections paths.
ansible_lint_summaryansible-lint --offline grouped by rule with counts, severities and locations. Never fixes.
ansible_upgrade_impactWhat breaks in this project's tasks if a collection moves to an exact version: removed/moved modules (runtime.yml redirects and tombstones), removed options and aliases, newly required options, dropped choices, type and default changes, requirements constraints, requires_ansible, an optional syntax-check against the target, and a verdict.

Every tool takes an optional dir (the project). Tool names carry an ansible_ prefix and never reuse ADT MCP's names (ansible_lint, ansible_navigator, ...), so both can sit behind one aggregator.

Division of authority
QuestionAuthority
Controller jobs, job templates, controller inventories, RBACAAP MCP
Scaffold content, ansible-lint --fix, run via ansible-navigator, set up a venv or EEADT MCP
Interactive editing for a personVS Code Ansible extension (language server)
Generate new content from intentAnsible Lightspeed
Execute modules against hostsnot this server
Installed specs, task-argument validity, role interfaces, local inventory, play structure, effective config, dependency drift, collection upgrade impactansible-mcp (read-only)
What is read-only, and what touches the network
  • Never run: plays, modules, --check, --diff, fact gathering. The only Ansible commands are ansible --version, ansible-config dump, ansible-doc, ansible-inventory --list/--host/--graph, ansible-playbook --syntax-check/--list-*, ansible-galaxy collection list / role list, ansible-lint --offline, and (only in ansible_upgrade_impact) ansible-galaxy collection install --no-deps -p .
  • Never written: your project, your collections and roles paths, requirements files, and anything inside an existing ~/.ansible. Ansible's local temp, galaxy cache and (when you have none) galaxy token file are redirected to the server's cache. The one residue: Ansible creates an empty ~/.ansible when it does not exist, and ansible-lint creates empty ~/.ansible/roles / ~/.ansible/collections when they are missing.
  • Vault: no secret is ever supplied, and a vault_password_file / vault_identity_list script named in ansible.cfg never runs (it is replaced by a server-owned file holding a random password). Inline !vault values print as ; whole-file vaults are listed, not read.
  • Dynamic inventory (script, constructed, cloud plugins) runs code and calls APIs, so it is off unless ANSIBLE_MCP_ALLOW_DYNAMIC_INVENTORY=1; skipped sources are named in the answer.
  • Residual risk, stated: ansible-playbook --syntax-check (and ansible-lint, which runs it) evaluates Jinja in play-level name, hosts and vars_files and imports playbook-adjacent vars_plugins/. Treat dir as code you would run --syntax-check on. Lookups in those fields are refused before Ansible sees them unless ANSIBLE_MCP_ALLOW_PLAY_LOOKUPS=1, and local plugin files are listed in the answer.
  • Redaction (ansible_inventory, ansible_role_interface, ansible_config, lint messages): vault markers, plus any string equal to a hidden one, plus values under secret-like names (ansible_become_password, api_token, vault_db_password, ... but not vault_addr or private_key_file), plus secret-shaped strings (private keys, JWTs, GitHub/GitLab/Slack/npm tokens; URL passwords masked in place). Galaxy server tokens and passwords are always redacted. There is no "show secrets" switch.
  • Network: only ansible_upgrade_impact, on a cache miss, to Galaxy or the servers in your ansible.cfg (openWorldHint: true). The cache is never evicted automatically; deleting it is safe.

Example ansible_check_task_args output (real docs, community.general 9.5.2):

playbooks/tasks/bad_args.yml: 7 tasks checked against installed docs (ansible-core 2.21.5): 5 problems in 3 tasks

:3 ansible.builtin.copy [has action plugin; ansible-lint skips its arguments] unknown option owner_name (line 7) unknown option state (line 9) backup (line 8): expected bool, got a string that is not a boolean ('maybe') :12 ansible.posix.mount missing required option path (aliases: name) :18 ansible.builtin.file (key=value form): ok (dest is an alias of path) :21 ansible.builtin.copy: ok by docs [not checked: src and content are mutually exclusive in the module's argument_spec, which ansible-doc does not expose] :32 ansible.builtin.apt: ok; 2 templated values not checked (state, update_cache) :38 community.general.ufw (from short name ufw) proto (line 41): 'tcpx' is not one of any|tcp|udp|ipv6|esp|ah|gre|igmp

Example ansible_upgrade_impact output (real 9.5.2 -> 12.0.0 docs):

upgrade community.general 9.5.2 -> 12.0.0 (major) for /work/site

target: requires_ansible '>=2.17.0' ok (ansible-core 2.21.5); dependencies: none; downloaded (cache: ...) constraints: requirements.yml:3 pins '>=9.0.0,<10.0.0' (change it to allow 12.0.0) used modules (7): git_config, proxmox_kvm, consul_acl, slack, rhsm_repository (playbooks/site.yml); timezone (roles/common/tasks/main.yml); ufw (roles/webapp/tasks/main.yml, via short name ufw) BREAKING (5): playbooks/site.yml:17 community.general.git_config: option list_all removed (line 19) playbooks/site.yml:17 community.general.git_config: name is newly required, not set playbooks/site.yml:23 community.general.proxmox_kvm: moved to community.proxmox.proxmox_kvm; community.proxmox is not installed (add it to requirements.yml) playbooks/site.yml:31 community.general.consul_acl: removed in 10.0.0 (tombstone): Use community.general.consul_token and/or community.general.consul_policy instead. playbooks/site.yml:43 community.general.rhsm_repository: state=present no longer accepted (choices: enabled, disabled) (line 45) BEHAVIOR CHANGES (1): playbooks/site.yml:37 community.general.slack: prepend_hash not set; default 'auto' -> 'never' syntax-check with 12.0.0 (playbooks/site.yml): first error playbooks/site.yml:22: couldn't resolve module/action 'community.general.proxmox_kvm' (syntax-check stops at the first error and does not check options) verdict: BREAKING (5)

Quick start

1. Have ansible-core where the server can run it. On macOS / Linux, ansible-core (and optionally ansible-lint) on PATH, or in a venv you point ANSIBLE_MCP_BIN_DIR at. On Windows, inside WSL:

# inside WSL (any distro); a venv under $HOME survives WSL restarts, /tmp does not

python3 -m venv ~/.venvs/ansible && ~/.venvs/ansible/bin/pip install ansible-core ansible-lint

2. Add the server. Claude Code, from the project:

# macOS / Linux

claude mcp add ansible -- npx -y @yawlabs/ansible-mcp@la

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx