ansible-know-mcp
Provides tools for discovering and documenting Ansible modules, generating skill packages, and searching documentation, enabling AI agents to learn and work with Ansible.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ansible-know-mcpsearch for modules related to package management"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Ansible Know MCP Server
The Ansible knowledge engine for AI agents — discover collections, understand modules, and generate reusable skills via MCP.
A community proof of concept built with spec-driven AI-assisted development.
┌──────────────────────────────────────────────────────────────────────┐
│ >_ ansible-know-mcp [x] │
├──────────────────────────────────────────────────────────────────────┤
│ │
│ > I need to create an AWS EC2 instance with Ansible │
│ │
│ Let me find the right collection and module. │
│ │
│ * search_collections("aws ec2") │
│ amazon.aws 12.3M downloads │
│ │
│ * get_module_doc("amazon.aws.ec2_instance") │
│ name, image_id, instance_type, state, key_name, tags... │
│ │
│ → generate_skill("amazon.aws.ec2_instance") │
│ Loaded skill: ec2_instance (12 params, 3 examples) │
│ │
│ I have everything I need. Instance type, AMI, and name? │
│ │
├──────────────────────────────────────────────────────────────────────┤
│ > t3.micro, Fedora Linux 44, web-server █ │
└──────────────────────────────────────────────────────────────────────┘
DISCOVER ──→ LEARN ──→ SKILL ──→ BUILDWhat It Does
Ansible Know is the learn layer for AI agents working with Ansible:
Galaxy collection discovery — search 2000+ collections by keyword, ranked by download count
Multi-server Galaxy support — query public Galaxy, private Automation Hub, and AAP Gateway in parallel
Module, role, and plugin documentation — structured parameter specs, examples, and metadata with Galaxy fallback
Documentation search — find conceptual guides from Ansible's AI-friendly docs, fetch full pages as Markdown
Collection management — auto-install collections and get collection-level overviews
Skill generation — create ready-to-use skill packages that teach agents how to use specific modules, roles, and plugins
Resources and prompts — browse skills, doc sources, and Galaxy servers; pre-built templates for playbook review, module explanation, and role generation
Together with Ansible Devtools MCP (create + test) and AAP MCP (deploy), this enables the full autonomous cycle: learn -> create -> test -> deploy.
Agent's MCP servers:
+----------------------------+ +--------------------------+ +--------------+
| Ansible Know | | Ansible Devtools | | AAP MCP |
| (this project) | | | | |
| | | CREATE | | |
| search_collections | | ansible_create_* | | controller.* |
| search_modules | | build_ee | | eda.* |
| search_plugins | | setup_environment | | gateway.* |
| get_module_doc | | environment_info | | galaxy.* |
| get_plugin_doc | | | | |
| get_role_doc | | TEST | | |
| get_collection_docs | | ansible_lint | | |
| get_collection_manifest | | ansible_navigator | | |
| search_docs | | | | |
| fetch_doc | | REFERENCE | | |
| ensure_collection | | zen_of_ansible | | |
| generate_skill | | | | |
| generate_role_skill | | | | |
| generate_plugin_skill | | | | |
| generate_collection_skills | | | | |
| list_skills / get_skill | | | | |
| clear_cache | | | | |
| | | | | |
| LEARN | | CREATE + TEST | | DEPLOY |
+----------------------------+ +--------------------------+ +--------------+Related MCP server: read-docs-mcp
Installation
Using uvx (recommended):
uvx ansible-know-mcpUsing pip:
pip install ansible-know-mcpRequirement: ansible-core must be installed in the same Python environment (provides ansible-doc).
Usage
Claude Code
# Project-scoped
claude mcp add ansible-know -- uvx ansible-know-mcp
# Available in all projects
claude mcp add --scope user ansible-know -- uvx ansible-know-mcpVS Code / Cursor
Add to .vscode/mcp.json in your workspace:
{
"servers": {
"ansible-know": {
"command": "uvx",
"args": ["ansible-know-mcp"],
"type": "stdio"
}
}
}Any MCP client
The server communicates over stdio by default:
uvx ansible-know-mcpHTTP Transport
Run as a standalone HTTP server for shared/remote access:
# HTTP on default port (8080)
ansible-know-mcp --transport http
# Custom host and port
ansible-know-mcp --transport http --host 10.0.0.1 --port 9090
# Via environment variables (useful for containers)
export ANSIBLE_KNOW_TRANSPORT=http
export ANSIBLE_KNOW_PORT=8080
ansible-know-mcpConnect from any MCP client using the streamable HTTP URL:
http://<host>:8080/mcp
Security: HTTP mode has no built-in authentication. Deploy behind a reverse proxy with authentication/authorization, or use only on trusted networks.
Docker
Build and run from source:
docker build -t ansible-know-mcp .
docker run -p 7860:7860 ansible-know-mcpConnect from any MCP client using the streamable HTTP URL:
http://localhost:7860/mcp
Remote MCP (Hugging Face Spaces)
A public instance is available as a remote MCP server:
Claude Code:
claude mcp add ansible-know --transport http https://know.ansible.ar/mcpVS Code / Cursor (.vscode/mcp.json):
{
"servers": {
"ansible-know": {
"type": "http",
"url": "https://know.ansible.ar/mcp"
}
}
}Full stack
{
"mcpServers": {
"ansible-know": { "command": "uvx", "args": ["ansible-know-mcp"] },
"ansible-devtools": { "command": "ade", "args": ["mcp"] },
"aap": { "command": "aap-mcp-server" }
}
}Tools
Discovery
Tool | Description |
| Search Ansible Galaxy for collections by keyword, ranked by download count |
| Find modules by keyword in name or description (up to 50 matches) |
| Find plugins by keyword (lookup, filter, inventory, callback, etc.) |
| Full structured docs: params, examples, API detection. Falls back to Galaxy if not installed locally |
| Full structured plugin documentation with Galaxy fallback |
| Role documentation with three-tier resolution: local ansible-doc, Galaxy README, or graceful degradation |
| Get all module docs for a collection from Galaxy in a single call |
| Collection-level manifest with per-module and per-role summaries |
| Search documentation manifests for conceptual guides (up to 20 matches) |
| Fetch a docs.ansible.com page as clean Markdown |
Collection management
Tool | Description |
| Install a collection to a temporary directory for this session |
Skills
Tool | Description |
| List all generated skills |
| Read a skill's SKILL.md content |
| Generate a skill package for one module |
| Generate a skill package for one role |
| Generate a skill package for one plugin |
| Batch generate skills for an entire collection |
Maintenance
Tool | Description |
| Clear Galaxy and/or doc manifest caches |
Resources
URI | Description |
| List all generated skill packages |
| Read a skill's SKILL.md content by FQCN |
| List collections installed in this session |
| List configured Galaxy servers (names, URLs, auth types — never credentials) |
| Installed and latest version info with upgrade status |
| List configured documentation manifest sources |
Prompts
Prompt | Description |
| Review a playbook against module docs and best practices |
| Detailed module explanation with usage examples |
| Detailed plugin explanation with usage examples |
| Generate a role skeleton using specified modules |
| Guide through search, install, and explore workflow |
Multi-server Galaxy Support
Ansible Know reads [galaxy_server.*] sections from ansible.cfg (resolved in standard order: ANSIBLE_CONFIG env, ./ansible.cfg, ~/.ansible.cfg, /etc/ansible/ansible.cfg):
# ansible.cfg
[galaxy_server.automation_hub]
url = https://hub.example.com/api/galaxy/
token = my-token
[galaxy_server.public_galaxy]
url = https://galaxy.ansible.com/api/Token auth, basic auth, and per-server TLS verification
search_collectionsqueries all configured servers in parallel, merging results with source attributionget_module_doc/get_role_docGalaxy fallback tries servers in priority orderPublic Galaxy is appended as a final fallback; opt out with
ANSIBLE_KNOW_NO_PUBLIC_GALAXY=1Per-server env var overrides:
ANSIBLE_GALAXY_SERVER_{NAME}_{KEY}(matches ansible-core behavior)View configured servers via the
galaxy://serversresource
Configuration
Environment Variable | Description | Default |
| Where to write generated skills |
|
| JSON dict of doc manifest sources | Built-in ansible-core source |
| Galaxy API base URL |
|
| Set to | (not set) |
| Set to | (not set) |
Upgrading
Method | Command |
|
|
|
|
Claude Code |
|
VS Code / Cursor |
|
Local dev |
|
Note:
uvxcaches the installed version and does not auto-upgrade on new releases. To always run the latest version (at the cost of slower startup):claude mcp add ansible-know -- uvx --upgrade ansible-know-mcp
Deployment
Hugging Face Spaces
Deploy as a remote MCP server on Hugging Face Spaces:
Create a new Space with SDK: Docker
The Space's
README.mdmust include YAML frontmatter:--- title: Ansible Know MCP emoji: "\U0001F4DA" sdk: docker app_port: 7860 ---Push this repository (or set it as the Space's linked repo)
The included
Dockerfilebuilds and starts the server automatically
Note: Free-tier Spaces sleep after inactivity. MCP clients will see connection errors until the Space wakes up (~30-60s cold start). Use a paid Space or a keep-alive ping for production use.
Custom domain (optional):
In the Space settings, go to Custom domains
Add your domain (e.g.,
know.ansible.ar)Create a CNAME record pointing to
<owner>-<space-name>.hf.spaceHF provisions a TLS certificate automatically
Environment variables (set in Space settings):
Variable | Required | Description |
| No | Defaults to |
| No | Set to |
Generic Docker
The Dockerfile works with any container platform (Fly.io, Railway, Cloud Run, etc.):
docker build -t ansible-know-mcp .
docker run -p 8080:7860 ansible-know-mcpOverride defaults with environment variables:
docker run -p 9090:9090 \
-e ANSIBLE_KNOW_PORT=9090 \
ansible-know-mcpDevelopment
git clone https://github.com/leogallego/ansible-know-mcp.git
cd ansible-know-mcp
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"
pytestAcknowledgments
The skill generation approach in this project was inspired by AnsibleClaw by Michael Tao — a skill generation framework that converts Ansible modules into portable AI agent skill packages.
License
GPL-3.0-or-later
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/leogallego/ansible-know-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server