前回の記事では、Docker Composeを使ってn8nをセルフホストする手順を解説しました。記事の最後に「まずはWebhookを受け取ってSlackに通知するワークフローから始めてみるのがおすすめです」と書きましたが、実際にやってみましょう。
ただし、今回はn8nのGUIでノードをポチポチ配置するのではなく、Claude Codeに話しかけてワークフローを作ります。これを可能にするのがn8n-mcp(MCPサーバー)とn8n-skills(Claude Code用スキル集)の組み合わせです。
この記事では、セットアップから実際のワークフロー構築まで、会話ベースの開発体験を一通り紹介します。
想定読者
- 前回記事でn8nを構築済みの人
- Claude Codeに興味がある、または使い始めた人
- n8nのワークフロー構築を効率化したい人
n8n-mcpとn8n-skillsとは
n8n-mcpは、Claude Codeからn8nを操作するためのMCPサーバーです。ノード検索、設定のバリデーション、ワークフローの作成・更新など30以上のツールを提供します。一部のツール(search_nodes、validate_nodeなど)はn8nのAPIキーがなくても動作するため、ノード仕様の調査だけでも使えます。
GitHub: https://github.com/czlonkowski/n8n-mcp
n8n-skillsは、Claude Code用の7つのスキルをまとめたものです。スキルはクエリの内容に基づいて自動的に発動し、n8nの構文・パターン・設定・バリデーションに関する知識をClaude Codeに提供します。ユーザーが「Webhookのワークフロー作って」と言えば、裏でWorkflow Patternsスキルが発動してWebhookパターンを適用する、という仕組みです。
GitHub: https://github.com/czlonkowski/n8n-skills
連携の仕組み
ユーザー
│ 「Webhook→Slack通知のワークフロー作って」
▼
Claude Code
├── n8n-skills(自動発動)
│ ├── Workflow Patterns → パターン提案
│ ├── Expression Syntax → 式の書き方
│ ├── Node Configuration → ノード設定
│ └── Validation Expert → エラー修正
└── n8n-mcp(MCP ツール呼び出し)
├── search_nodes → ノード検索
├── validate_node → 設定検証
└── n8n_create_workflow → ワークフロー作成
スキルがドメイン知識を、MCPがn8nへの実行手段を担当します。Claude Codeはスキルから得た知識をもとにMCPツールを適切に呼び出し、ワークフローを組み立てます。
7つのスキル一覧
| スキル名 | 役割 |
|---|---|
| n8n Expression Syntax |
{{$json.body.message}} などの式構文 |
| n8n MCP Tools Expert | MCPツールの使い分けガイド |
| n8n Workflow Patterns | Webhook処理、API連携など5パターン |
| n8n Validation Expert | バリデーションエラーの解釈と修正 |
| n8n Node Configuration | ノードのプロパティ依存関係 |
| n8n Code JavaScript | Codeノードでのjs記述 |
| n8n Code Python | Codeノードでのpy記述 |
セットアップ
n8n側の準備──APIキーの発行
n8nの管理画面からAPIキーを発行します。
- n8nにログインする
- 左下の Settings → API を開く
- Create an API Key をクリックしてキーを生成する
生成されたAPIキーは後で使うので控えておいてください。また、n8nのURLも確認しておきます(例: https://n8n.example.com)。
n8n-mcpのインストール
プロジェクトディレクトリ(またはホームディレクトリ)の .mcp.json に以下を追加します。
{
"mcpServers": {
"n8n-mcp": {
"command": "npx",
"args": ["n8n-mcp"],
"env": {
"MCP_MODE": "stdio",
"LOG_LEVEL": "error",
"DISABLE_CONSOLE_OUTPUT": "true",
"N8N_API_URL": "https://n8n.example.com",
"N8N_API_KEY": "your-api-key-here"
}
}
}
}
N8N_API_URLとN8N_API_KEYを、自分のn8n環境の値に置き換えてください。Claude Codeを起動すると、npx n8n-mcpがMCPサーバーとして自動起動します。
N8N_API_URLとN8N_API_KEYは省略可能です。省略した場合でもsearch_nodesやvalidate_nodeなどのAPI不要なツールは使えます。ワークフローの作成・更新を行うには設定が必要です。
n8n-skillsのインストール
Claude Codeのプラグイン機能でインストールするのが最も簡単です。
/plugin install czlonkowski/n8n-skills
手動でインストールする場合は、リポジトリをクローンしてスキルファイルをコピーします。
git clone https://github.com/czlonkowski/n8n-skills.git
cp -r n8n-skills/skills/* ~/.claude/skills/
動作確認
Claude Codeを起動(または再起動)して、以下のように聞いてみてください。
ユーザー: n8nのWebhookノードの設定項目を教えて
n8n-mcpがsearch_nodesやget_nodeで情報を取得し、Node Configurationスキルが設定項目を解説してくれれば、セットアップは完了です。
実践──Webhook→Slack通知ワークフローを会話で作る
ここからが本題です。以下のワークフローをClaude Codeとの会話だけで作ります。
作るもの: Webhookでリクエストを受信 → IFノードでmessageが空でないか判定 → Slack #generalチャンネルに投稿
Step 1: 最初のリクエスト
ユーザー:
WebhookでJSONを受け取って、Slackの#generalチャンネルに通知する
ワークフローを作ってほしい。messageフィールドの内容を投稿して。
Claude Code:
Webhookノード、IFノード、Slackノードを使ったワークフローを作成します。
まずノードの仕様を確認します。
[search_nodes で "webhook" を検索 → nodes-base.webhook を発見]
[search_nodes で "slack" を検索 → nodes-base.slack を発見]
[get_node で各ノードの設定項目を取得]
この時点で、MCP Tools Expertスキルが発動してツールの使い分けをガイドし、Workflow Patternsスキルが「Webhook処理パターン」を適用しています。Claude Codeはノードの仕様を把握した上で、次のステップに進みます。
Step 2: ワークフロー生成
Claude Code:
ノードの仕様を確認しました。ワークフローを作成します。
[n8n_create_workflow でワークフローを作成]
ワークフロー「Webhook to Slack Notification」を作成しました。
構成:
1. Webhook(POST /webhook/slack-notify)
2. IF(messageが空でないか判定)
3. Slack(#general に投稿)
n8nのUIで確認できます。
n8n_create_workflowが呼ばれると、n8nのUI上にワークフローが出現します。ノードの配置、接続、基本パラメータの設定がすべて完了した状態です。
Step 3: バリデーションと自動修正
Claude Code:
作成したワークフローを検証します。
[validate_workflow でバリデーション実行]
2件の警告が見つかりました:
- Slackノード: credentialが未設定
- IFノード: 条件式の形式を修正
Slackのcredentialはn8n側で事前に設定が必要です。
IFノードの条件式を修正します。
[n8n_update_partial_workflow で修正を適用]
[validate_workflow で再検証 → 残り1件(credential)]
Validation Expertスキルがエラーメッセージを解釈し、自動修正可能なものはその場で直します。credential(認証情報)の設定はn8nのUI側で行う必要があるため、その旨が案内されます。
この「検証→修正→再検証」のループは、通常2〜3回で収束します。
Step 4: 条件分岐の追加
ユーザー:
messageが空文字やnullの場合はSlackに投稿せずスキップして。
Claude Code:
IFノードの条件を調整します。
[n8n_update_partial_workflow でIFノードの条件を更新]
IFノードの条件を以下に設定しました:
- {{$json.body.message}} が空でない場合 → trueブランチ(Slackに投稿)
- それ以外 → falseブランチ(何もしない)
Expression Syntaxスキルにより、{{$json.body.message}}という正しいWebhookデータアクセス構文が適用されます。よくある間違いとして{{$json.message}}と書いてしまうケースがありますが、Webhookのデータは$json.bodyの下にあるため、スキルがこれを防いでくれます。
Step 5: テスト実行
Slackのcredentialをn8nのUIで設定したら、ワークフローをActivateして、curlでテストします。
curl -X POST https://n8n.example.com/webhook/slack-notify \
-H "Content-Type: application/json" \
-d '{"message": "Hello from Claude Code!"}'
Slackの#generalチャンネルに「Hello from Claude Code!」と投稿されれば成功です。空メッセージも試してみましょう。
curl -X POST https://n8n.example.com/webhook/slack-notify \
-H "Content-Type: application/json" \
-d '{"message": ""}'
こちらはIFノードのfalseブランチに流れ、Slackには何も投稿されません。
ここまでの全工程で、Claude Codeとのやりとりは5〜6回程度です。GUIで同じことをやると、ノードの配置・パラメータ設定・式の入力・テスト実行まで含めて、手慣れた人でも10〜15分はかかる作業です。
裏側で何が起きていたのか
ここまでの会話の裏で、どのスキルが発動し、どのMCPツールが呼ばれていたかを整理します。
| ステップ | 発動したスキル | 使われたMCPツール |
|---|---|---|
| ノード検索 | MCP Tools Expert | search_nodes |
| Webhook設定 | Workflow Patterns | get_node |
| 式の記述 | Expression Syntax | ─ |
| Slack設定 | Node Configuration | validate_node |
| エラー修正 | Validation Expert | n8n_update_partial_workflow |
ポイントは、スキルの発動をユーザーが意識する必要がないことです。「ワークフロー作って」と言えば、裏でWorkflow PatternsやMCP Tools Expertが勝手に動きます。スキルはClaude Codeに対するドメイン知識の注入であり、ユーザーへの操作要求は増えません。
n8n_update_partial_workflowは17種類の操作に対応しています。ノードの追加・削除、接続の変更、パラメータの更新など、ワークフローの部分的な修正を1回のツール呼び出しで行えます。
知っておくと助かること
実際に使い始める前に、いくつか把握しておくと良い点があります。
Credentialは事前にn8n側で設定する。 Slack、Google、GitHubなどのサービス連携に必要な認証情報は、n8nのUI(Settings → Credentials)で設定しておく必要があります。Claude Codeからcredentialを作成することはできません。
APIキーにはワークフロー操作の権限が必要。 n8nのAPIキーには権限のスコープがあります。ワークフローの作成・更新を行うなら、それに対応する権限を付与してください。
本番ワークフローは直接編集しない。 Claude Codeでワークフローを更新する際は、既存のワークフローをコピーしてからテストするのが安全です。
API未接続でもノード調査は可能。 search_nodesやvalidate_nodeはn8nのAPIに接続しなくても動作します。「このノードにはどんなパラメータがあるか」を調べるだけなら、APIキーの設定は不要です。
Webhookデータは $json.body の下にある。 n8nのWebhookノードが受け取ったデータは$json直下ではなく$json.bodyの下にマッピングされます。{{$json.body.message}}のようにアクセスしてください。Expression Syntaxスキルがこの点を自動的に補正してくれますが、知識として持っておくとデバッグが楽になります。
n8n-mcpのワークフロー更新ツールは成功率99.0%ですが、まれに失敗することがあります。ワークフローのバックアップは定期的に取っておくことを推奨します。
まとめ
n8n-mcpとn8n-skillsを組み合わせることで、Claude Codeからn8nのワークフローを会話ベースで構築できます。MCPがn8nへの操作手段を提供し、スキルがn8n固有のドメイン知識を補う。この2つの組み合わせにより、ノードの検索から設定、バリデーション、修正までを自然言語のやりとりだけで進められます。
今回はWebhook→Slackの単純な例でしたが、n8n-skillsは以下の5つのパターンをカバーしています。
- Webhook処理
- HTTP API連携
- データベース操作
- AIエージェント連携
- スケジュール実行
前回の構築編と合わせて、n8nのセットアップからワークフロー構築まで、CLI/AIベースで完結できる環境が整いました。