mcpField
N
n8n

n8n

github.com/89jobrien開発447 回インストール9 週間前に更新
リポジトリ

n8n について

JSON構造とREST APIを使ってn8nワークフローを作成・管理するスキルです。一般的なワークフローパターン、式、ノードタイプ、MCP公開を扱います。

主な機能

  1. 01ワークフロー定義の作成と更新
  2. 02REST APIによるワークフロー管理
  3. 03Webhook、分岐、バッチ処理パターン
  4. 04式とノードタイプの利用
  5. 05ワークフローをMCPツールとして公開

活用シーン

  1. 01Webhook起点の自動化の構築
  2. 02ワークフローデータの分岐やバッチ処理
  3. 03ワークフローとMCPクライアントの接続

MCP 対応

n8nは、`availableInMCP`を有効にしたワークフローを、組み込みのMCPサーバーエンドポイントからMCPツールとして公開できます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/89jobrien/steve --skill n8n

インストール後、Claude Code で/n8nを入力して読み込まれたか確認します。

同梱ファイルassets/example-asset.txtreferences/api-reference.md

詳細

n8n ワークフロー自動化スキル

このスキルを使うと、自動化タスク向けの n8n ワークフローを作成、管理できます。

前提条件

API アクセスが可能な n8n インスタンスが稼働していること:

N8N_HOST=localhost
N8N_PORT=5678
N8N_API_KEY=your-api-key

基本概念

ワークフローの構造

n8n のワークフローはすべて、次の構造を持つ JSON です。

{
  "name": "Workflow Name",
  "nodes": [],
  "connections": {},
  "settings": {
    "executionOrder": "v1"
  }
}
ノードの構造

各ノードには次の情報があります。

{
  "id": "unique-id",
  "name": "Display Name",
  "type": "n8n-nodes-base.nodetype",
  "typeVersion": 1,
  "position": [x, y],
  "parameters": {},
  "credentials": {}
}
接続の構造

接続は、ノード間のデータフローを定義します。

{
  "Source Node": {
    "main": [
      [{"node": "Target Node", "type": "main", "index": 0}]
    ]
  }
}

よく使われるワークフローパターン

1. Webhook でトリガーされるワークフロー

ワークフローの実行をトリガーする HTTP エンドポイントを作成します。

{
  "name": "Webhook Handler",
  "nodes": [
    {
      "id": "webhook",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2,
      "position": [250, 300],
      "webhookId": "my-webhook",
      "parameters": {
        "path": "my-endpoint",
        "httpMethod": "POST",
        "responseMode": "responseNode"
      }
    },
    {
      "id": "respond",
      "name": "Respond",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1.1,
      "position": [450, 300],
      "parameters": {
        "respondWith": "json",
        "responseBody": "={{ $json }}"
      }
    }
  ],
  "connections": {
    "Webhook": {
      "main": [[{"node": "Respond", "type": "main", "index": 0}]]
    }
  }
}

次の URL からアクセスできます:http://localhost:5678/webhook/my-endpoint

2. HTTP リクエストパターン

外部 API を呼び出します。

{
  "id": "http",
  "name": "HTTP Request",
  "type": "n8n-nodes-base.httpRequest",
  "typeVersion": 4.2,
  "position": [450, 300],
  "parameters": {
    "method": "POST",
    "url": "https://api.example.com/endpoint",
    "authentication": "predefinedCredentialType",
    "nodeCredentialType": "myApiCredential",
    "sendBody": true,
    "specifyBody": "json",
    "jsonBody": "={{ JSON.stringify($json) }}"
  },
  "credentials": {
    "myApiCredential": {"id": "cred-id", "name": "My Credential"}
  }
}
3. 条件分岐(IF ノード)

条件に基づいてデータを振り分けます。

{
  "id": "if",
  "name": "IF",
  "type": "n8n-nodes-base.if",
  "typeVersion": 2,
  "position": [450, 300],
  "parameters": {
    "conditions": {
      "options": {
        "caseSensitive": true,
        "leftValue": "",
        "typeValidation": "strict"
      },
      "conditions": [
        {
          "leftValue": "={{ $json.status }}",
          "rightValue": "success",
          "operator": {
            "type": "string",
            "operation": "equals"
          }
        }
      ],
      "combinator": "and"
    }
  }
}
4. アイテムのループ処理(SplitInBatches)

アイテムをバッチ単位で処理します。

{
  "id": "batch",
  "name": "Loop Over Items",
  "type": "n8n-nodes-base.splitInBatches",
  "typeVersion": 3,
  "position": [450, 300],
  "parameters": {
    "batchSize": 10,
    "options": {}
  }
}

n8n REST API

ワークフローの一覧表示
curl -s "http://localhost:5678/api/v1/workflows" \
  -H "X-N8N-API-KEY: $N8N_API_KEY"
ワークフローの取得
curl -s "http://localhost:5678/api/v1/workflows/{id}" \
  -H "X-N8N-API-KEY: $N8N_API_KEY"
ワークフローの作成
curl -s -X POST "http://localhost:5678/api/v1/workflows" \
  -H "X-N8N-API-KEY: $N8N_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "New Workflow", "nodes": [...], "connections": {...}}'
ワークフローの更新
curl -s -X PUT "http://localhost:5678/api/v1/workflows/{id}" \
  -H "X-N8N-API-KEY: $N8N_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Updated", "nodes": [...], "connections": {...}}'
有効化/無効化
curl -s -X POST "http://localhost:5678/api/v1/workflows/{id}/activate" \
  -H "X-N8N-API-KEY: $N8N_API_KEY"

curl -s -X POST "http://localhost:5678/api/v1/workflows/{id}/deactivate" \
  -H "X-N8N-API-KEY: $N8N_API_KEY"
実行履歴の取得
curl -s "http://localhost:5678/api/v1/executions?workflowId={id}&limit=10&includeData=true" \
  -H "X-N8N-API-KEY: $N8N_API_KEY"

式の構文

n8n では、動的な値に式を使用します。

構文説明
={{ $json.field }}現在のアイテムのフィールドにアクセス
={{ $json.body.param }}ネストされたフィールドにアクセス
={{ $('Node Name').item.json.field }}特定のノードの出力にアクセス
={{ $input.first().json }}最初の入力アイテム
={{ $input.all() }}すべての入力アイテム
={{ JSON.stringify($json) }}JSON 文字列に変換

よく使われるノードタイプ

ノードタイプ用途
Webhookn8n-nodes-base.webhookHTTP トリガー
HTTP Requestn8n-nodes-base.httpRequestAPI 呼び出し
Respond to Webhookn8n-nodes-base.respondToWebhookHTTP レスポンスを返す
IFn8n-nodes-base.if条件分岐
Switchn8n-nodes-base.switch複数の分岐
Setn8n-nodes-base.setデータの変換
Coden8n-nodes-base.codeカスタム JavaScript
Split In Batchesn8n-nodes-base.splitInBatchesループ処理
Mergen8n-nodes-base.merge分岐の結合

MCP 連携

n8n は、組み込みの MCP サーバーを介してワークフローを MCP ツールとして公開できます。

  1. ワークフローの設定で MCP を有効にします:"availableInMCP": true
  2. MCP エンドポイントにアクセスします:http://localhost:5678/mcp-server/http
  3. Claude Code との連携には supergateway を使用します

ヒント

  1. Webhook のレスポンス:Respond ノードで制御するには、responseMode: "responseNode" を使用します
  2. 認証情報:API キーは n8n の認証情報に保存し、ID で参照します
  3. エラー処理:失敗の通知用に Error Trigger ノードを追加します
  4. テスト:開発中は /webhook-test/ パスを使用します
  5. ADF 形式:Jira/Confluence では、リッチテキストに Atlassian Document Format が必要です

コメント