Ansible DevTools Plugin
The Ansible DevTools Plugin packages the MCP server, language server, and 13 built-in skills into a single distributable unit that any Open Plugin-compatible host can install.
What’s included
Section titled “What’s included”| Component | Description |
|---|---|
| MCP server | 25+ tools for plugin search, documentation, task generation, scaffolding, and execution environment management |
| Language server | YAML completion, hover documentation, and diagnostics for Ansible files |
| 13 skills | Guided workflows for task building, playbook analysis, collection discovery, and more |
All servers are bundled as single-file Node.js scripts with zero runtime dependencies beyond Node.js 20+.
Plugin vs extension
Section titled “Plugin vs extension”If you use VS Code or Cursor with the Ansible extension, you already have all these capabilities plus the full IDE experience (tree views, webviews, language server integration, linting). The plugin is for agent-only workflows outside the extension.
| Scenario | Use |
|---|---|
| Full IDE with tree views, webviews, linting | Install the VS Code extension |
| Agent-only (Cursor without extension, Claude Code, Codex) | Install the plugin |
| Terminal agent (Neovim, Windsurf, Zed) | Download standalone servers or use npx skills add |
Installation
Section titled “Installation”/add-plugin ansible-devtoolsOr browse cursor.com/marketplace and search for “ansible”.
# Add the marketplace sourceclaude plugin marketplace add ansible/vscode-ansible
# Install the pluginclaude plugin install ansible-devtoolsFor session-only testing:
claude --plugin-dir /path/to/pluginclaude --plugin-url https://url/to/ansible-devtools-plugin.zip# Register the marketplacecodex plugins marketplace add ansible/vscode-ansible
# Install via TUIcodex # then /plugins → select marketplace → install# Cursor — symlink to local plugins directoryln -s /path/to/repo ~/.cursor/plugins/local/ansible-devtools
# Claude Code — load directlyclaude --plugin-dir /path/to/repoFor development, build the servers first:
pnpm run buildThe repo-root .mcp.json points to dist/mcp-server.js so the plugin loads from your local build.
Testing from CI artifacts
Section titled “Testing from CI artifacts”Every pull request produces a plugin zip as a CI artifact. To test a PR build:
Claude Code:
claude --plugin-url https://github.com/ansible/vscode-ansible/actions/runs/XXXXX/artifacts/pluginCursor:
- Download the
pluginartifact from the PR’s Actions tab - Unzip to
~/.cursor/plugins/local/ansible-devtools/ - Run Developer: Reload Window
Requirements
Section titled “Requirements”- Node.js >= 20 (for the bundled servers)
- Python 3 with
ansible-coreinstalled (for plugin discovery, documentation, and linting) - Optional:
ansible-dev-toolsfor full scaffolding support viaansible-creator
How it works
Section titled “How it works”The plugin follows the Open Plugin Specification v1.0.0:
ansible-devtools/├── .plugin/plugin.json # Vendor-neutral manifest├── .cursor-plugin/plugin.json # Cursor-preferred manifest├── .claude-plugin/plugin.json # Claude Code-preferred manifest├── skills/ # 13 SKILL.md files (Agent Skills spec)│ ├── build-task/SKILL.md│ ├── explain-plugin/SKILL.md│ └── ...├── .mcp.json # MCP server configuration├── .lsp.json # Language server configuration└── servers/ ├── mcp-server.js # Bundled MCP server (950KB) └── language-server.js # Bundled language server (1.3MB)The host discovers skills at skills/*/SKILL.md, starts the MCP server from .mcp.json, and optionally starts the language server from .lsp.json. The ${PLUGIN_ROOT} placeholder resolves to the plugin’s install directory at runtime.