n8n MCP Claude Skills workflow node AI 自動化 MCP server

親手把 Claude Skill 包成 n8n MCP server:從 SKILL.md 到 Docker 部署

本篇示範把一個 Claude Skill 包成 n8n MCP server,從 SKILL.md、Node.js MCP SDK、Docker compose 到 n8n MCP Client node 設定,做出可重用的 URL 摘要 workflow node。

n8nmarket-team 2026年5月8日

本文是《n8n MCP 整合教學》系列的深入文章,先看完整版 Pillar 指南

TL;DR:n8n MCP 是把 Claude Skill 包成可呼叫 server 的整合方式,透過 SKILL.md、MCP SDK 與 Docker 解決 prompt 難部署、難重用、難接 workflow node 的問題。

這篇把「URL 摘要成 5 條 bullet」變成 n8n MCP tool。之後可改客服草稿、SEO brief,也能接進 n8n 雙 LLM 工作流路由:哪個任務派給 Claude、哪個交給 GPT

你會做出什麼

成品是 url-summary-skill MCP server。n8n 傳入 URL,server 回傳 JSON 摘要。

MCP 怎麼接上 n8n 標題搭配三方節點連接示意圖

先跑通單一 skill,再複製到客服、SEO brief、發票摘要。

所需材料

需要 n8n 1.x、Node 20、Anthropic API key、Docker。節點看 MCP Client Tool 文件,協議看 Model Context Protocol

Step 1 寫 SKILL.md

---
name: url-summary
description: Summarize URL into 5 Traditional Chinese bullets.
trigger: Input contains URL.
---
## Steps
1. Fetch URL text.
2. Find topic, audience, claims, numbers, actions.
3. Return exactly 5 Traditional Chinese bullets.
## Output
{ "title": "", "bullets": [], "source_url": "" }

Step 2 用官方 mcp SDK 包成 server

貼到 server.js

import express from"express";import{McpServer}from"@modelcontextprotocol/sdk/server/mcp.js";import{StreamableHTTPServerTransport}from"@modelcontextprotocol/sdk/server/streamableHttp.js";import{z}from"zod";import Anthropic from"@anthropic-ai/sdk";const app=express(),claude=new Anthropic({apiKey:process.env.ANTHROPIC_API_KEY}),s=new McpServer({name:"url-summary-mcp",version:"0.1.0"});app.use(express.json());s.tool("url-summary",{url:z.string().url()},async({url})=>{const html=await fetch(url).then(r=>r.text()),txt=html.replace(/<[^>]+>/g," ").slice(0,12000),m=await claude.messages.create({model:"claude-sonnet-4-5",max_tokens:700,messages:[{role:"user",content:`只回 JSON,摘要 5 條繁中 bullet:${url}\n${txt}`}]});return{content:[{type:"text",text:m.content[0].text}]}});app.post("/mcp",async(req,res)=>{const t=new StreamableHTTPServerTransport({sessionIdGenerator:undefined});await s.connect(t);await t.handleRequest(req,res,req.body)});app.listen(3000);

安裝 @modelcontextprotocol/sdk@anthropic-ai/sdkexpresszod。更多 server 可看 MCP server 範例庫

Step 3 Docker compose 跑起來

Dockerfile 用 node:20-alpinenpm installnode server.js。compose 如下:

services:
  url-summary-mcp:
    build: .
    ports: ["3000:3000"]
    environment:
      ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY}

執行 docker compose up --build

Step 4 在 n8n 裡接上 MCP Client node

新增 Form Trigger 收 URL,再接 MCP Client node。server URL 填 http://host.docker.internal:3000/mcp,tool 選 url-summary

Claude Skills 是什麼 標題搭配三層 skill 元素卡片示意

Docker Linux 用同一個 network 的 service name,別填容器內的 localhost

Step 5 跑通 + log debug

先用短文章 URL 測試。成功後把 MCP 回傳寫進 Set node,再接 Google Docs、Notion 或 Slack。輸出流程可改成 2026 最新 n8n 模板精選:5 個立即可用的自動化案例

3 步把 Claude Skills 包成 workflow node 的流程示意圖

debug 看 /mcp 是否連通、schema 是否有 url、Claude 回傳是否為 JSON。

常見錯誤排查

fetch failed:改用 service name 或檢查 3000 port。

tool not found:重啟 server 後重新載入節點。

invalid JSON:要求 Claude 只回 JSON,或在 server 端加 parse 檢查。

延伸閱讀

下一步可把 URL 摘要 skill 改成 SEO brief。

下一步 CTA

這 1700+ 模板裡,很多流程已整理好 trigger、欄位與輸出節點。到 N8Nmarket 找一條最像現場工作的模板,再接這篇的 MCP server。