ansible-devtools-mcp
Standalone, vendor-agnostic MCP server for Ansible workflows with first-class support for modern MCP clients (GitHub Copilot, Claude Code, Cursor).
Requirements
- Python 3.12+
ansible-core2.20+ (installed automatically as a package dependency)uvrecommended for install and execution
One-click setup
Install once:
uv tool install ansible-devtools-mcp
Then configure your client in one command:
GitHub Copilot in VS Code
ansible-devtools-mcp install --client copilot
Claude Code
ansible-devtools-mcp install --client claude
Cursor
ansible-devtools-mcp install --client cursor
For project-scoped setup (checked into your repo):
ansible-devtools-mcp install --client copilot --scope project --workspace-root .
ansible-devtools-mcp install --client cursor --scope project --workspace-root .
Use a custom server key in client config if needed:
ansible-devtools-mcp install --client copilot --name ansible-devtools-mcp-prod
Running the server manually
Default transport (STDIO):
ansible-devtools-mcp serve --stdio
Streamable HTTP transport:
ansible-devtools-mcp serve --http --host 127.0.0.1 --port 8000
SSE transport:
ansible-devtools-mcp serve --sse --host 127.0.0.1 --port 8000
Why ansible-devtools-mcp serve --stdio keeps the terminal open
--stdio runs a long-lived MCP server process. It waits for JSON-RPC messages
from your MCP client.
- This is expected.
- Press
Ctrl+Cto stop it when running manually. - In real usage, the client launches and manages this process for you.
Tool coverage
Core Ansible operations
lintplaybook_syntax_checkplaybook_runinventory_parseinventory_graph
Upstream-compatible endpoints
list_available_toolszen_of_ansibleansible_content_best_practicesansible_lintade_environment_infoade_setup_environmentadt_check_envansible_create_playbookansible_create_collectiondefine_and_build_execution_envansible_navigator
Detailed parity notes: ansible://docs/upstream-parity
Typical local development loop
uv run pytest tests/unit -q --tb=short
uv run pytest tests/integration -q --tb=short -m integration
Upstream comparison
| Area | VS Code Ansible MCP (extension-coupled model) | ansible-devtools-mcp |
|---|---|---|
| Packaging | Coupled to extension/monorepo workflows | Standalone Python package (ansible-devtools-mcp) |
| Client scope | Primarily VS Code/Copilot flows | Any MCP-compatible client |
| Transport | Usually extension-managed STDIO | STDIO, Streamable HTTP, SSE |
| Tool architecture | Extension-shaped integration | Plugin router + entry-point extension model |
| Token behavior | Often more verbose metadata payloads | Compact tool descriptions and bounded responses |
| Docs access | Mostly extension context | MCP resources (ansible://docs/*) |
Marketplace compatibility
For Marketplace specifics and how to ship a VS Code wrapper extension around this server, see docs/MARKETPLACE_COMPATIBILITY.md.
Additional docs
License
MIT
Metadata
Release files for ansible-devtools-mcp 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| ansible_devtools_mcp-1.0.1.tar.gz | 28.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ansible_devtools_mcp-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 63.9 kB
Release files / ansible_devtools_mcp-1.0.1.tar.gz
| Download URL | ansible_devtools_mcp-1.0.1.tar.gz |
|---|---|
| Size | 28.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
82ad3343a08b3e51bbef567bb17249f52a8670cd6e981c2acbd44630fee1bfd7
|
|
BLAKE2b-256 checksum How to use checksums |
6ec0ed925accb51509bbb1a680bff82c70cd83838db955c94a2955dc7591ab52
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.0
|
Release files / ansible_devtools_mcp-1.0.1-py3-none-any.whl
| Download URL | ansible_devtools_mcp-1.0.1-py3-none-any.whl |
|---|---|
| Size | 35.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8443b75b491fd435e5d23ef276e94133757824d29b99c89ac89f17abddc5a23c
|
|
BLAKE2b-256 checksum How to use checksums |
f74e57c353cb7003066fcef8653fa1e4a97cce283621047f6994dbb9778be4f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.0
|
Security for ansible-devtools-mcp 1.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.