ansible-know-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ANSIBLE_KNOWLEDGE_SKILLS_DIR | No | Where to write generated skills | ./skills/ |
| ANSIBLE_KNOWLEDGE_DOC_SOURCES | No | JSON dict of doc manifest sources | Built-in ansible-core source |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_modulesA | Find Ansible modules by keyword in name or description. Returns up to 50 matches as {fqcn: short_description}. Returns: {"module.fqcn": "short description", ...} or {"error": str} on failure. |
| search_pluginsA | Find Ansible plugins by keyword. Returns up to 50 matches as {fqcn: short_description}. Plugin types: lookup, filter, test, connection, become, strategy, callback, inventory, cache, cliconf, httpapi, netconf, shell, vars. On failure returns {"error": str}. |
| get_module_docA | Get full structured documentation for one module. Returns: module_name, short_description, params (list with name/type/required/default/choices/description/aliases), examples (raw YAML), is_api_module, doc_source ('local' or 'galaxy'). When doc_source is 'galaxy', also includes doc_version and optionally doc_warning. Falls back to Galaxy if collection is not installed locally. On failure returns {"error": str}. |
| get_role_docA | Get full structured documentation for one role. Returns: role_name, content_type ('role'), short_description, doc_source ('local', 'galaxy_readme', or 'unavailable'), entry_points (dict of entry point names to {description, options}), dependencies (list), examples (str). When doc_source is 'galaxy_readme', also includes doc_version and doc_warning. Falls back to Galaxy README parsing if local ansible-doc returns empty. On validation failure returns {"error": str}. |
| get_plugin_docA | Get full structured documentation for one plugin. Returns: plugin_name, plugin_type, short_description, params, examples, doc_source ('local' or 'galaxy'). Falls back to Galaxy if collection is not installed locally. On failure returns {"error": str}. |
| search_docsA | Search documentation manifests for conceptual guides. Returns up to 20 matching entries with title, summary, topic, audience, lines, source, and raw URL. On failure returns {"error": str}. |
| fetch_docA | Fetch a page from docs.ansible.com as clean Markdown. Returns documentation content ready for LLM consumption. Use search_docs to discover relevant page URLs, or pass a known docs.ansible.com URL directly. The url parameter must start with https://docs.ansible.com/. |
| search_collectionsA | Search Ansible Galaxy for collections by keyword. Returns non-deprecated collections ranked by download count. Use this to discover which collection provides modules for a specific platform or use case. After finding a collection, use ensure_collection() to install it, then get_module_doc() or get_collection_manifest() to explore its modules. Returns: {"query": str, "count": int, "collections": [{"namespace": str, "description": str, "tags": [str], "latest_version": str, "module_count": int, "download_count": int, "deprecated": bool, "signed": bool}, ...]} On failure returns {"error": str}. |
| get_collection_manifestA | Get collection-level manifest with per-module summaries. Returns cached MANIFEST.json if available, otherwise generates on-demand (metadata extraction only, no skill generation). On failure returns {"error": str}. |
| get_collection_docsA | Get full module documentation for all modules in a collection from Galaxy. Returns all module docs in a single API call without installing the collection. Result shape: {"modules": {fqcn: {module_name, short_description, params, examples, is_api_module}, ...}, "doc_source": "galaxy", "doc_version": str}. On failure returns {"error": str}. |
| ensure_collectionA | Install a collection to a temporary directory for this session. Installs once and pins the resolved version. Subsequent calls with the same namespace skip unless a different version is explicitly requested. If a different version is requested than currently installed, the collection will be reinstalled. Returns dict with keys:
|
| list_skillsA | List all available generated skills. Returns name, description, path for each. Returns: [{"name": str, "description": str, "path": str}, ...] or {"error": str} on failure. |
| get_skillA | Read a specific skill's SKILL.md content by name. Returns: SKILL.md content as str, or {"error": str} on failure/not found. |
| generate_skillA | Generate a skill package for one module. Writes SKILL.md + scripts + playbook to disk. Returns the SKILL.md content as str, or {"error": str} on failure. |
| generate_role_skillA | Generate a skill package for one role. Writes SKILL.md + assets/playbook.yml to disk (no scripts/). Returns the SKILL.md content as str, or {"error": str} on failure. |
| generate_plugin_skillA | Generate a skill package for one plugin. Writes SKILL.md to disk (no scripts/ or assets/). Returns the SKILL.md content as str, or {"error": str} on failure. |
| generate_collection_skillsA | Batch generate skills for an entire collection. Generates/updates the collection MANIFEST.json as a byproduct. Returns {"succeeded": int, "failed": int, "total": int, "manifest": dict, "collection_skill": str}, or {"error": str} on failure. |
| clear_cacheA | Clear server caches. Clears Galaxy version/docs-blob caches, doc manifest/page caches, or both. Useful when cached data becomes stale during long-running sessions. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| review_playbook | Review an Ansible playbook against module documentation and best practices. |
| explain_module | Get a detailed explanation of an Ansible module with usage examples. |
| explain_plugin | Get a detailed explanation of an Ansible plugin with usage examples. |
| generate_role | Generate an Ansible role skeleton using specified modules. |
| find_collection | Guide the agent through discovering, installing, and exploring a collection. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Available Skills | List all generated skill packages |
| Installed Collections | List collections installed across all active sessions |
| Server Version | Installed and latest version info with upgrade status |
| Galaxy Servers | List configured Galaxy servers from ansible.cfg. Shows auth type (token/basic/none) for debugging; credentials are never exposed. |
| Documentation Sources | List configured documentation manifest sources |
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