docs-n8n-mcp
by okdk7788
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