docs-n8n-mcp
Provides access to n8n documentation (list, read, search over ~1,500 pages) and workflow templates (search by keyword, fetch full workflow JSON with nodes and parameters).
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., "@docs-n8n-mcpFind a workflow template that sends a Slack message when a new Google Sheets row is added"
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.
docs-n8n-mcp
Local MCP server exposing the official n8n documentation and workflow templates to LLM agents via the Model Context Protocol.
Tools
Documentation (local cache)
Tool | Description |
| List all doc pages (~1,500). Optional category filter ( |
| Read a single doc page as markdown. Accepts slug, URL, or partial name. |
| Regex search across all cached docs. Case-insensitive. |
| Re-fetch all docs from GitHub tarball and overwrite cache. |
Workflow Templates (live API)
Tool | Description |
| Search n8n.io workflow templates by keyword. Returns template IDs, names, node lists. |
| Fetch full workflow JSON (nodes, parameters, connections) for a template. |
Related MCP server: n8n-MCP
Workflow
Agent: "Slack에 메시지 보내는 워크플로우 만들어"
1. search_templates("slack message") → 비슷한 템플릿 발견
2. get_template(1105) → 전체 노드 구성/파라미터 확인
3. get_doc("n8n-nodes-base.slack") → Slack 노드 사용법 참조
4. 두 정보 결합 → 새 워크플로우 JSON 생성Setup
The doc cache lives at ~/.cache/docs-n8n-mcp/ and auto-populates on first run (~1,500 files, ~5s via tarball). Cache refreshes automatically after 7 days. Template tools call the n8n.io API live (no cache needed).
cd /home/okdk/docs-n8n-mcp
uv run python fetcher.py # manual cache populationOpenCode MCP registration
Registered in ~/.config/opencode/opencode.json as docs-n8n.
Available Tools
6 toolsget_docGet n8n DocARead-onlyIdempotent
Read a single n8n documentation page as markdown.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Doc slug. Friendly forms accepted: - "integrations/builtin/core-nodes/n8n-nodes-base.code" - "integrations/builtin/core-nodes/n8n-nodes-base.code.md" - "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code" - "n8n-nodes-base.code" (partial — will fuzzy-match) |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds value by specifying output format (markdown) and input flexibility (multiple path forms). No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence: 'Read a single n8n documentation page as markdown.' Concise, front-loaded, and every word adds value. No redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with high schema coverage, an output schema exists, and annotations cover safety. The description provides the output format. Could mention error handling for invalid paths, but not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already documents the path parameter thoroughly. The tool description does not add additional parameter-level information, so it provides no extra value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Read a single n8n documentation page as markdown.' The verb 'Read' and resource 'n8n documentation page' are specific, and the mention of markdown distinguishes it from siblings like get_template or list_docs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies use for reading a single doc page but provides no explicit guidance on when to use this tool versus alternatives (e.g., list_docs, search_docs). No exclusions or context for sibling differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_templateGet n8n Workflow TemplateARead-onlyIdempotent
Fetch the full workflow JSON for an n8n template.
Returns the complete workflow definition including all node parameters, connections, positions, and settings. This is the data you need to understand exactly how a template is wired and recreate or adapt it.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Template ID (from search_templates results or n8n.io/workflows URL). e.g. 5772, or extract from https://n8n.io/workflows/5772 |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate safe, read-only, idempotent behavior. The description adds valuable detail on the return format (including node parameters, connections, positions, settings), which is beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences, front-loaded with the action, and every sentence provides essential information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, output schema present), the description is complete, covering what it does, what it returns, and its value. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema itself provides a clear description of the 'id' parameter with examples. The tool description does not add additional meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'fetch' and identifies the resource as the full workflow JSON for an n8n template, clearly distinguishing it from siblings like search_templates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied: the tool is used after obtaining a template ID from search_templates. However, no explicit when-to-use or when-not-to-use guidance or alternatives are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_docsList n8n DocsARead-onlyIdempotent
List all n8n documentation pages from the cache.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Optional filter. Common values: - "core-nodes" : built-in core nodes (Code, HTTP Request, IF, etc.) - "app-nodes" : third-party app integrations (Slack, Airtable, etc.) - "trigger-nodes" : trigger nodes (Webhook, Cron, etc.) - "credentials" : credential setup guides - "cluster-nodes" : AI/LangChain nodes - "build" : workflow building guides - "get-started" : getting started tutorials - "deploy" : self-hosting/deployment - "administer" : administration guides - "release-notes" : version history Pass empty string (default) to list all. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds that data comes from cache, which is useful context. However, it does not disclose potential staleness of cached data or performance characteristics, which would enhance transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It is appropriately front-loaded, conveying the core action and resource immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one optional parameter, output schema present), the description is largely complete. It could mention that results are from cache and may not be live, but overall it suffices for the agent to understand the tool's purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with the 'category' parameter having detailed examples. The tool description itself adds no extra parameter meaning beyond what the schema provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List'), the resource ('all n8n documentation pages'), and the source ('from the cache'). It effectively distinguishes from sibling tools like 'get_doc' (retrieves a single doc) and 'search_docs' (searches docs).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_doc' or 'search_docs'. There is no mention of prerequisites, typical use cases, or conditions where another tool would be better.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
refreshRefresh n8n Docs CacheAIdempotent
Re-fetch all n8n markdown files from GitHub and overwrite the cache.
Fetches ~1,500 .md files in parallel (10 concurrent). Use this when documentation looks outdated or after a new n8n release.
Returns JSON: {"fetched": int, "skipped": int, "errors": [str], "duration_ms": int}.
fetched counts the number of files written, not total repo size.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds significant information beyond annotations: parallel fetch with concurrency limit, file count, output JSON shape, and semantics of 'fetched'. Annotations already mark idempotent and non-destructive; description reinforces and extends.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences with critical info front-loaded (purpose, then details about size, concurrency, output). No extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless refresh tool with output schema and annotations, description covers purpose, scale (1500 files), parallelism (10 concurrent), return format, and edge case (errors list). Fully adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters defined; schema coverage is 100% trivially. Description does not need to clarify parameters; baseline for 0-param tools is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description starts with clear verb 'Re-fetch' and specific resource 'n8n markdown files from GitHub' and action 'overwrite the cache'. Distinct from sibling tools like get_doc or search_docs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states two use cases: documentation outdated or after n8n release. Does not provide negative guidance (when not to use), but context signals show no parameters so use is straightforward.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_docsSearch n8n DocsARead-onlyIdempotent
Search across all cached n8n docs (case-insensitive regex).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Literal string or regex pattern. Case-insensitive by default. Korean queries work (e.g. "노드", "인증", "트리거"). An empty query returns the top commonly-referenced terms instead. | |
| max_results | No | Maximum number of match entries to return (default 20). |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnly, idempotent), the description adds that results come from a cache and search is case-insensitive regex. This is useful context. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise with a single sentence that conveys the core purpose. Every word is necessary and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given rich annotations and output schema, the description covers search behavior and scope. A small gap: it could mention the empty query behavior (though present in schema) or provide a usage hint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed parameter descriptions. The tool description itself only adds a one-line summary; it does not elaborate on parameters beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches across all cached n8n docs with case-insensitive regex. The verb 'search' and resource 'cached n8n docs' are specific and distinguish it from siblings like 'get_doc' (single doc retrieval) and 'list_docs' (listing).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use vs. siblings or when not to use. The description implies searching vs. retrieving or listing, but does not mention alternatives or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_templatesSearch n8n Workflow TemplatesARead-onlyIdempotent
Search n8n.io workflow templates by keyword.
Queries the official n8n template gallery API. Returns workflow templates that match the search query — each includes the nodes used, description, and a template ID for fetching the full workflow JSON.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search term (e.g. "slack message", "AI agent", "google sheets", "webhook", "email automation"). | |
| max_results | No | Maximum templates to return (default 10, max 30). |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, openWorldHint, idempotentHint, destructiveHint. Description adds value by disclosing it queries an external API and specifying result contents (nodes, description, template ID).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. Purpose stated first, followed by relevant context and result details. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity (2 params, simple), 100% schema coverage, annotations that cover safety, and an output schema that defines return structure, the description is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds minor color (e.g., examples for query) but does not enhance understanding beyond schema defaults and constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Search n8n.io workflow templates by keyword' with specific verb and resource. Differentiates from siblings like get_template (single template retrieval) and search_docs (documentation search).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States it queries the official n8n template gallery API, implying usage for finding templates. Does not explicitly mention when not to use or provide alternatives, though sibling names suggest distinctions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
v0.1.0- First observed
get_doc - First observed
get_template - First observed
list_docs - First observed
refresh - First observed
search_docs - First observed
search_templates
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: get_doc retrieves a specific doc page, list_docs enumerates all docs, search_docs searches docs, get_template fetches full workflow JSON, search_templates queries templates, refresh updates the cache. No ambiguity.
All tool names use snake_case and follow a verb_noun pattern except 'refresh' which is a standalone verb but clear and consistent with the overall style.
6 tools is well-scoped for a documentation and template server. Covers essential operations without bloat.
Covers all necessary read operations for n8n docs and templates: list, get, search, and refresh. No obvious gaps for the stated purpose.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Free public MCP for AI agents — 193 tools, 44 workflows. No API key.
The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Related MCP Servers
- AlicenseCqualityCmaintenanceMCP server that allow LLM in agent mode builds n8n workflows for you101352MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides AI assistants with access to documentation, schemas, and operations for over 535 n8n workflow automation nodes. It enables models to understand, create, and manage n8n workflows through natural language by connecting to the n8n API.74,778MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that provides AI assistants with comprehensive access to n8n workflow automation nodes, properties, and documentation. It enables models like Claude to search for nodes, access configuration templates, and manage workflows through natural language.MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that empowers AI assistants to build, validate, and manage n8n workflows by providing structured access to documentation for over 1,200 nodes and thousands of templates. It enables deep integration with n8n instances for automated workflow orchestration and management through natural language.74,7781MIT