# Rocannon: every installed Ansible module as a typed MCP tool, sessions record to playbooks

**URL:** <https://forum.ansible.com/t/rocannon-every-installed-ansible-module-as-a-typed-mcp-tool-sessions-record-to-playbooks/45923>\
**Category:** Project Discussions\
**Tags:** ai, ansible, mcp\
**Created:** [June 15, 2026, 3:37pm UTC](https://forum.ansible.com/t/rocannon-every-installed-ansible-module-as-a-typed-mcp-tool-sessions-record-to-playbooks/45923 "2026-06-15T15:37:31Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![msradam](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/msradam/32/10835_2.png) [@msradam](https://forum.ansible.com/u/msradam)\
**Post date:** [June 15, 2026, 3:37pm UTC](https://forum.ansible.com/t/rocannon-every-installed-ansible-module-as-a-typed-mcp-tool-sessions-record-to-playbooks/45923/1 "2026-06-15T15:37:31Z")

</div>

Hi all, I’d like to share my project Rocannon, which generates MCP tools from Ansible modules and roles with `ansible doc`. I wanted to drive Ansible conversationally from Claude Code for ad-hoc ops work without writing glue code.

![demo-agent](https://us1.discourse-cdn.com/ansible/original/2X/3/31b87d470ef66f104314a0d6fe8fa1e76aae63e7.gif)

It reads `ansible-doc` at startup and registers each module as a typed MCP tool. Whatever you have installed shows up automatically, one collection or a hundred, and any MCP client (Claude Code, Cursor, your own agent) can call them. So you can drive your real environment in plain English.

Roles work the same way. A role with an argument spec (`meta/argument_specs.yml`) becomes a typed tool too, its arguments as the parameters, so you can run a whole role and not just single modules. Modules and roles sit side by side in a profile.

There’s a recording feature, so a conversational ops session can become a real, deterministic Ansible playbook you can hand off.

Repo: [GitHub - msradam/rocannon: An MCP server generator for Ansible. Reflects every installed module from ansible-doc into typed, LLM-callable MCP tools. · GitHub](https://github.com/msradam/rocannon)  
Install: `pip install rocannon`

I’ve made good use of this in my day-to-day, definitely interested in feedback.
