Skip to main content

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-core 2.20+ (installed automatically as a package dependency)
  • uv recommended 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+C to stop it when running manually.
  • In real usage, the client launches and manages this process for you.

Tool coverage

Core Ansible operations

  • lint
  • playbook_syntax_check
  • playbook_run
  • inventory_parse
  • inventory_graph

Upstream-compatible endpoints

  • list_available_tools
  • zen_of_ansible
  • ansible_content_best_practices
  • ansible_lint
  • ade_environment_info
  • ade_setup_environment
  • adt_check_env
  • ansible_create_playbook
  • ansible_create_collection
  • define_and_build_execution_env
  • ansible_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)

Source distribution for ansible-devtools-mcp 1.0.1
File Size Uploaded Provenance
ansible_devtools_mcp-1.0.1.tar.gz 28.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for ansible-devtools-mcp 1.0.1
File Interpreter ABI Platform
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.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page