Skip to content

Releases: msradam/rocannon

v0.1.4

17 Jun 05:01

Choose a tag to compare

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

15 Jun 15:20

Choose a tag to compare

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: (and roles_path: for standalone roles). A role that ships meta/argument_specs.yml is documented by ansible-doc -t role -j like a module, so its main entry point's arguments become the tool's typed parameters. Execution runs through ansible-runner and 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 meta carries the module's documented Python requirements, return keys, related modules, version added, and deprecation, straight from ansible-doc.
  • Faster startup. Module schemas load in a single batched ansible-doc call 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 quickstart pins ansible_python_interpreter so modules with third-party deps run in the right environment.

Install

pip install rocannon

v0.1.2

14 Jun 20:27

Choose a tag to compare

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 when rocannon is launched by absolute path with its venv not on PATH, which is how MCP clients spawn it. This covers rocannon mcp serve, rocannon doctor, the rocannon <fqcn> form, and the record/replay flow.
  • rocannon quickstart pins ansible_python_interpreter in 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_host case, running the Agent SDK outside a live session, and the type to param_type parameter mangling.

Install

pip install rocannon

v0.1.1

14 Jun 18:43

Choose a tag to compare

Rocannon turns any Ansible control node into an MCP server: every installed module becomes a typed MCP tool, reflected from ansible-doc.

Highlights

  • rocannon quickstart scaffolds 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 stdout as a list (for example arista.eos.eos_command) no longer crash result handling.
  • Fix: a bare pip install rocannon now pulls ansible-core and ansible-runner (they are core dependencies, not an extra).

Install

pip install rocannon