Skip to main content
Glama
README.md
# docs-n8n-mcp

Local MCP server exposing the official [n8n documentation](https://docs.n8n.io) and [workflow templates](https://n8n.io/workflows) to LLM agents via the Model Context Protocol.

## Tools

### Documentation (local cache)

| Tool | Description |
|------|-------------|
| `list_docs(category?)` | List all doc pages (~1,500). Optional category filter (`core-nodes`, `app-nodes`, `trigger-nodes`, `credentials`, `build`, `deploy`, etc.) |
| `get_doc(path)` | Read a single doc page as markdown. Accepts slug, URL, or partial name. |
| `search_docs(query, max_results?)` | Regex search across all cached docs. Case-insensitive. |
| `refresh()` | Re-fetch all docs from GitHub tarball and overwrite cache. |

### Workflow Templates (live API)

| Tool | Description |
|------|-------------|
| `search_templates(query, max_results?)` | Search n8n.io workflow templates by keyword. Returns template IDs, names, node lists. |
| `get_template(id)` | Fetch full workflow JSON (nodes, parameters, connections) for a template. |

## 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).

```bash
cd /home/okdk/docs-n8n-mcp
uv run python fetcher.py   # manual cache population
```

## OpenCode MCP registration

Registered in `~/.config/opencode/opencode.json` as `docs-n8n`.

TDQS

A4.2/5.0

Scored across 6 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

6 tools is well-scoped for a documentation and template server. Covers essential operations without bloat.

Completeness5/5

Covers all necessary read operations for n8n docs and templates: list, get, search, and refresh. No obvious gaps for the stated purpose.

Maintenance

ActivityInactive
ResponsivenessNo issues