Releases: msradam/rocannon
Releases · msradam/rocannon
v0.1.4
Documentation and test release. No functional changes since 0.1.3.
- Restructured README for clarity (now also rendered on PyPI).
- Expanded roles-as-tools coverage: unit tests for the role-doc edge cases and role-result parsing, plus opt-in integration tests (standalone role via roles_path, collection role by FQCN, required-arg rejection) against real ansible.
Install
pip install rocannon
v0.1.3
Rocannon turns any Ansible control node into an MCP server: every installed module, and now every role with an argument spec, becomes a typed MCP tool.
Highlights
- Roles as tools. A profile can declare
roles:(androles_path:for standalone roles). A role that shipsmeta/argument_specs.ymlis documented byansible-doc -t role -jlike a module, so itsmainentry point's arguments become the tool's typed parameters. Execution runs throughansible-runnerand ansible validates the argspec at run time. Roles without an argspec are skipped. - Richer tool metadata. Each tool is tagged by collection and namespace, and its MCP
metacarries the module's documented Python requirements, return keys, related modules, version added, and deprecation, straight fromansible-doc. - Faster startup. Module schemas load in a single batched
ansible-doccall instead of one per module.
Also
rocannon --version, and the ansible binaries resolve when launched by absolute path (so MCP clients work without the venv on PATH).rocannon quickstartpinsansible_python_interpreterso modules with third-party deps run in the right environment.
Install
pip install rocannon
v0.1.2
Fixes from dogfooding the published package as a new user across diverse Ansible collections.
Fixes
- The ansible binaries (
ansible-doc,ansible-inventory,ansible-playbook) now resolve whenrocannonis launched by absolute path with its venv not onPATH, which is how MCP clients spawn it. This coversrocannon mcp serve,rocannon doctor, therocannon <fqcn>form, and the record/replay flow. rocannon quickstartpinsansible_python_interpreterin the scaffolded inventory, so localhost modules run in the same environment as their Python dependencies (community.crypto,community.docker,kubernetes.core, and so on) without manual configuration.
Additions
rocannon --version.- Docs: third-party module and connection dependencies, the non-default
docker_hostcase, running the Agent SDK outside a live session, and thetypetoparam_typeparameter mangling.
Install
pip install rocannon
v0.1.1
Rocannon turns any Ansible control node into an MCP server: every installed module becomes a typed MCP tool, reflected from ansible-doc.
Highlights
rocannon quickstartscaffolds a localhost profile and prints the MCP client wiring (Claude Code, Claude Desktop, Cursor) so a new user reaches a first tool call without hand-editing YAML.- Case studies driven from natural language by Claude Haiku: a real RHEL 9 host, a two-node Arista cEOS fabric under containerlab, and an Ansible Execution Environment.
- Fix: network modules that return
stdoutas a list (for examplearista.eos.eos_command) no longer crash result handling. - Fix: a bare
pip install rocannonnow pullsansible-coreandansible-runner(they are core dependencies, not an extra).
Install
pip install rocannon