Ansible Knowledge MCP Server — module and role discovery, documentation, and skill generation for AI agents
Project description
Ansible Know MCP Server
Module discovery, documentation search, and skill generation for AI agents via the Model Context Protocol.
What It Does
Ansible Know is the foundational "learn" layer for AI agents working with Ansible. It provides:
- Galaxy collection discovery — search 2000+ collections on Ansible Galaxy by keyword, ranked by download count
- Module discovery — search and explore Ansible modules across installed collections
- Module documentation — get structured parameter specs, examples, and metadata (falls back to Galaxy if not installed locally)
- Documentation search — find conceptual guides from Ansible's AI-friendly docs
- Skill generation — create ready-to-use skill packages that teach agents how to use specific modules
- Collection bootstrapping — auto-install collections from Galaxy for the current session
- Collection manifests — get collection-level overviews with per-module summaries
- Resources — browse skills and doc sources as MCP resources
- Prompts — pre-built templates for playbook review, module explanation, and role generation
Together with Ansible Devtools MCP (build) and AAP MCP (deploy), this enables the full autonomous cycle: learn -> build -> deploy.
Agent's MCP servers:
+-----------------------+ +-------------------+ +---------------+
| Ansible Know | | Ansible Devtools | | AAP MCP |
| (this project) | | | | |
| | | | | |
| search_collections | | ansible_lint | | controller.* |
| search_modules | | ansible_navigator | | eda.* |
| get_module_doc | | ansible_create_* | | gateway.* |
| get_collection_ | | build_ee | | galaxy.* |
| manifest | | zen_of_ansible | | |
| search_docs | | setup_environment | | |
| ensure_collection | | environment_info | | |
| generate_skill | | | | |
| generate_collection | | | | |
| list_skills | | | | |
| get_skill | | | | |
| | | | | |
| LEARN | | BUILD | | DEPLOY |
+-----------------------+ +-------------------+ +---------------+
Installation
Using uvx (recommended):
uvx ansible-know-mcp
Using pip:
pip install ansible-know-mcp
Runtime requirement: ansible-core must be installed in the same environment (for ansible-doc).
Usage
With Claude Code
claude mcp add ansible-know -- uvx ansible-know-mcp
To make it available in all projects:
claude mcp add --scope user ansible-know -- uvx ansible-know-mcp
With VS Code / Cursor
Add to .vscode/mcp.json in your workspace:
{
"servers": {
"ansible-know": {
"command": "uvx",
"args": ["ansible-know-mcp"],
"type": "stdio"
}
}
}
With any MCP client
The server runs over stdio by default:
uvx ansible-know-mcp
Full stack configuration
{
"mcpServers": {
"ansible-know": { "command": "uvx", "args": ["ansible-know-mcp"] },
"ansible-devtools": { "command": "ade", "args": ["mcp"] },
"aap": { "command": "aap-mcp-server" }
}
}
Tools
Discovery (read-only)
| Tool | Description |
|---|---|
search_collections(query, tags?) |
Search Ansible Galaxy for collections by keyword. Returns results ranked by download count. |
search_modules(keyword, namespace?) |
Find modules by keyword in name or description. Returns up to 50 matches. |
get_module_doc(module_name) |
Get full structured docs: params, examples, API detection. Falls back to Galaxy if not installed locally. |
search_docs(query, source?, topic?, audience?, core_only?) |
Search documentation manifests for conceptual guides. Returns up to 20 matches. |
get_collection_manifest(collection_namespace) |
Get collection-level manifest with per-module summaries. |
Collection management
| Tool | Description |
|---|---|
ensure_collection(collection_namespace, version?) |
Install a collection to a temporary directory for this session. |
Skill management
| Tool | Description |
|---|---|
list_skills() |
List all generated skills (read-only). |
get_skill(skill_name) |
Read a skill's SKILL.md content (read-only). |
generate_skill(module_name, install_to?) |
Generate a skill package for one module. Returns SKILL.md inline. |
generate_collection_skills(collection_namespace, install_to?) |
Batch generate skills for an entire collection. |
Resources
| URI | Description |
|---|---|
skills://list |
List all generated skill packages |
skills://{skill_name} |
Read a skill's SKILL.md content by FQCN |
galaxy://installed |
List collections installed in this session |
docs://sources |
List configured documentation manifest sources |
Prompts
| Prompt | Description |
|---|---|
review_playbook(playbook_yaml) |
Review a playbook against module docs and best practices |
explain_module(module_name) |
Get a detailed module explanation with usage examples |
generate_role(role_purpose, modules) |
Generate a role skeleton using specified modules |
find_collection(platform_or_use_case) |
Guide through search, install, and explore workflow |
Development
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]"
pytest
Configuration
| Environment Variable | Description | Default |
|---|---|---|
ANSIBLE_KNOWLEDGE_SKILLS_DIR |
Where to write generated skills | ./skills/ |
ANSIBLE_KNOWLEDGE_DOC_SOURCES |
JSON dict of doc manifest sources | Built-in ansible-core source |
ANSIBLE_KNOWLEDGE_GALAXY_URL |
Galaxy API base URL | https://galaxy.ansible.com |
License
GPL-3.0-or-later
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ansible_know_mcp-0.3.1.tar.gz.
File metadata
- Download URL: ansible_know_mcp-0.3.1.tar.gz
- Upload date:
- Size: 215.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac871820e5066fa68393f2e9c46e691d036a0d6fb5347e58365ea98a34a1cc16
|
|
| MD5 |
ad29ecdd826657ad3902ba945629a65e
|
|
| BLAKE2b-256 |
b6d69f4546de1023a3f0f9e415bc37e00100bd921afac37833a2f6c119b40a49
|
Provenance
The following attestation bundles were made for ansible_know_mcp-0.3.1.tar.gz:
Publisher:
publish.yml on leogallego/ansible-know-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ansible_know_mcp-0.3.1.tar.gz -
Subject digest:
ac871820e5066fa68393f2e9c46e691d036a0d6fb5347e58365ea98a34a1cc16 - Sigstore transparency entry: 1803651865
- Sigstore integration time:
-
Permalink:
leogallego/ansible-know-mcp@ef08070fb8aea02b5578ba0c6af426119f0c089f -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/leogallego
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ef08070fb8aea02b5578ba0c6af426119f0c089f -
Trigger Event:
push
-
Statement type:
File details
Details for the file ansible_know_mcp-0.3.1-py3-none-any.whl.
File metadata
- Download URL: ansible_know_mcp-0.3.1-py3-none-any.whl
- Upload date:
- Size: 49.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7535a279226b7163019e062d16ee8e172d4099d3b14453ae956b55054d9cd7c2
|
|
| MD5 |
6db097392dac8f27c786967ce226223b
|
|
| BLAKE2b-256 |
119164cbf5f96325a89a11da37c0d56287af75f653c7543ee53a14dc189ea216
|
Provenance
The following attestation bundles were made for ansible_know_mcp-0.3.1-py3-none-any.whl:
Publisher:
publish.yml on leogallego/ansible-know-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ansible_know_mcp-0.3.1-py3-none-any.whl -
Subject digest:
7535a279226b7163019e062d16ee8e172d4099d3b14453ae956b55054d9cd7c2 - Sigstore transparency entry: 1803651991
- Sigstore integration time:
-
Permalink:
leogallego/ansible-know-mcp@ef08070fb8aea02b5578ba0c6af426119f0c089f -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/leogallego
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@ef08070fb8aea02b5578ba0c6af426119f0c089f -
Trigger Event:
push
-
Statement type: