n8n MCP Server について
n8n MCP Server は、AI アシスタントが自然言語で n8n のワークフローと実行を管理できるようにする MCP サーバーです。n8n を利用しており、n8n API を通じてアシスタントから自動化処理を操作したいユーザーを対象としています。
主な機能
- 01ワークフローの一覧取得、作成、更新、削除
- 02ワークフローのアクティブ化と非アクティブ化
- 03実行の開始、一覧取得、詳細取得、停止
- 04Webhook によるワークフローの起動
- 05ワークフローと実行のリソース公開
活用シーン
- 01AI アシスタントによる n8n ワークフローの確認と管理
- 02自然言語の依頼からのワークフロー実行
- 03特定ワークフローの実行履歴の確認
MCP 対応
MCP クライアントに対して workflow_list や execution_run などのツール、および n8n:// のリソースを公開する MCP サーバーです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
n8n MCP Server
AI アシスタントが自然言語を通じて n8n ワークフローとやり取りできるようにする、Model Context Protocol(MCP)サーバーです。
概要
このプロジェクトは、人気のワークフロー自動化ツールである n8n と AI アシスタントがシームレスにやり取りできるようにする、Model Context Protocol(MCP)サーバーを提供します。AI アシスタントが自然言語のコマンドを使用して、n8n のワークフローや実行をプログラムから管理・制御できるようにする橋渡し役として機能します。
インストール
前提条件
- Node.js 20 以降
- API アクセスが有効になっている n8n インスタンス
npm からインストール
npm install -g @leonardsellem/n8n-mcp-server
ソースからインストール
# Clone the repository
git clone https://github.com/leonardsellem/n8n-mcp-server.git
cd n8n-mcp-server
# Install dependencies
npm install
# Build the project
npm run build
# Optional: Install globally
npm install -g .
Docker でのインストール
Docker を使用してサーバーを実行することもできます。
# Pull the image
docker pull leonardsellem/n8n-mcp-server
# Run the container with your n8n API configuration
docker run -e N8N_API_URL=http://your-n8n:5678/api/v1 \
-e N8N_API_KEY=your_n8n_api_key \
-e N8N_WEBHOOK_USERNAME=username \
-e N8N_WEBHOOK_PASSWORD=password \
leonardsellem/n8n-mcp-server
サーバーの更新
サーバーの更新方法は、最初にどの方法でインストールしたかによって異なります。
1. npm でグローバルにインストールした場合
npm install -g @leonardsellem/n8n-mcp-server を使用してサーバーをインストールした場合:
- ターミナルまたはコマンドプロンプトを開きます。
- 最新バージョンを取得するため、次のコマンドを実行します。
npm install -g @leonardsellem/n8n-mcp-server@latest - サーバーが現在実行中の場合(バックグラウンドプロセスやサービスとして実行している場合など)、変更を反映するには再起動が必要です。
2. ソースからインストールした場合
リポジトリをクローンしてソースからインストールした場合:
- ターミナルまたはコマンドプロンプトを開きます。
- プロジェクトをクローンしたディレクトリに移動します。
cd path/to/n8n-mcp-server - 保持したいコードへのローカル変更がある場合は、変更を一時退避することを検討してください(任意)。
git stashgit stash popを使用すると、後で変更を適用できます。 - リポジトリから最新の変更を取得します(
mainブランチを使用している場合)。
別のブランチを使用している場合は、git pull origin mainmainをブランチ名に置き換えてください。 - 変更された依存関係をインストールまたは更新します。
npm install - 最新の更新内容を反映するため、プロジェクトを再ビルドします。
npm run build - このソースフォルダーから
npm install -g .を使用してグローバルにインストールしていた場合は、グローバルリンクを更新するために、このコマンドを再度実行してください。npm install -g . - サーバーを再起動します。
- AI アシスタントの MCP 設定で
node build/index.jsのようなコマンドを使ってサーバーを直接実行している場合は、パスが引き続き正しいことを確認してください。npm install -g .を実行してからコマンドにn8n-mcp-serverを指定すると、パスを一貫して保てます。
- AI アシスタントの MCP 設定で
3. Docker を使用している場合
Docker を使用してサーバーを実行している場合:
- Docker Hub から最新のイメージを取得します。
docker pull leonardsellem/n8n-mcp-server:latest - 古いコンテナを停止して削除します。コンテナ名または ID が必要です(
docker psで確認できます)。docker stop <your_container_name_or_id> docker rm <your_container_name_or_id> - 更新したイメージで新しいコンテナを起動します。必要な環境変数をすべて含め、以前使用したものと同じ
docker runコマンドを使用してください(コマンド例については「Docker でのインストール」セクションを参照してください)。例:docker run -e N8N_API_URL=http://your-n8n:5678/api/v1 \ -e N8N_API_KEY=your_n8n_api_key \ -e N8N_WEBHOOK_USERNAME=username \ -e N8N_WEBHOOK_PASSWORD=password \ leonardsellem/n8n-mcp-server:latest:latestまたは実行するバージョンのタグを指定してください。
設定
サーバーを実行するディレクトリに、.env.exampleをテンプレートとして.envファイルを作成します。
cp .env.example .env
以下の環境変数を設定します。
| 変数 | 説明 | 例 |
|---|---|---|
N8N_API_URL | /api/v1を含むn8n APIの完全なURL | http://localhost:5678/api/v1 |
N8N_API_KEY | n8nの認証に使用するAPIキー | n8n_api_... |
N8N_WEBHOOK_USERNAME | Webhook認証用のユーザー名(Webhookを使用する場合) | username |
N8N_WEBHOOK_PASSWORD | Webhook認証用のパスワード | password |
DEBUG | デバッグログを有効にします(任意) | trueまたはfalse |
n8n APIキーの生成
- ブラウザーでn8nインスタンスを開きます
- Settings > API > API Keysに移動します
- 適切な権限を持つ新しいAPIキーを作成します
- キーを
.envファイルにコピーします
使用方法
サーバーの実行
インストールディレクトリから実行します。
n8n-mcp-server
または、グローバルにインストールされている場合:
n8n-mcp-server
AI アシスタントとの統合
サーバーをビルドした後(npm run build)、AI アシスタント(Claude拡張機能を使用するVS CodeやClaude Desktopアプリなど)がサーバーを実行できるように設定する必要があります。通常、JSON設定ファイルを編集します。
設定例(VS Codeのsettings.jsonまたはClaude Desktopのclaude_desktop_config.jsonなど):
{
"mcpServers": {
// Give your server a unique name
"n8n-local": {
// Use 'node' to execute the built JavaScript file
"command": "node",
// Provide the *absolute path* to the built index.js file
"args": [
"/path/to/your/cloned/n8n-mcp-server/build/index.js"
// On Windows, use double backslashes:
// "C:\\path\\to\\your\\cloned\\n8n-mcp-server\\build\\index.js"
],
// Environment variables needed by the server
"env": {
"N8N_API_URL": "http://your-n8n-instance:5678/api/v1", // Replace with your n8n URL
"N8N_API_KEY": "YOUR_N8N_API_KEY", // Replace with your key
// Add webhook credentials only if you plan to use webhook tools
// "N8N_WEBHOOK_USERNAME": "your_webhook_user",
// "N8N_WEBHOOK_PASSWORD": "your_webhook_password"
},
// Ensure the server is enabled
"disabled": false,
// Default autoApprove settings
"autoApprove": []
}
// ... other servers might be configured here
}
}
重要なポイント:
/path/to/your/cloned/n8n-mcp-server/を、リポジトリをクローンしてビルドした実際の絶対パスに置き換えてください。- お使いのオペレーティングシステムに合ったパス区切り文字を使用してください(macOS/Linuxではスラッシュ
/、Windowsでは二重バックスラッシュ\\)。 - 正しい
N8N_API_URL(/api/v1を含む)とN8N_API_KEYを指定してください。 - アシスタントが
build/index.jsファイルを実行する前に、サーバーをビルドする必要があります(npm run build)。
利用可能なツール
サーバーでは以下のツールを利用できます。
Webhookの使用
このMCPサーバーでは、n8n Webhookを通じたワークフローの実行をサポートしています。この機能を使用するには:
- n8nでWebhookをトリガーとするワークフローを作成します。
- Webhookノードで基本認証を設定します。
- ワークフロー名だけを渡して、
run_webhookツールを実行します。
例:
const result = await useRunWebhook({
workflowName: "hello-world", // Will call <n8n-url>/webhook/hello-world
data: {
prompt: "Hello from AI assistant!"
}
});
Webhook認証は、N8N_WEBHOOK_USERNAMEおよびN8N_WEBHOOK_PASSWORD環境変数を使用して自動的に処理されます。
ワークフロー管理
workflow_list:すべてのワークフローを一覧表示しますworkflow_get:指定したワークフローの詳細を取得しますworkflow_create:新しいワークフローを作成しますworkflow_update:既存のワークフローを更新しますworkflow_delete:ワークフローを削除しますworkflow_activate:ワークフローを有効化しますworkflow_deactivate:ワークフローを無効化します
実行管理
execution_run:APIを通じてワークフローを実行しますrun_webhook:Webhookを通じてワークフローを実行しますexecution_get:指定した実行の詳細を取得しますexecution_list:ワークフローの実行を一覧表示しますexecution_stop:実行中の実行を停止します
リソース
サーバーでは以下のリソースを利用できます。
n8n://workflows/list:すべてのワークフローの一覧n8n://workflow/{id}:指定したワークフローの詳細n8n://executions/{workflowId}:ワークフローの実行一覧n8n://execution/{id}:指定した実行の詳細
ロードマップ
n8n MCP Serverはコミュニティ主導のプロジェクトです。今後の方向性は、皆様からのフィードバックや貢献によって形作られます。
現在、ロードマップは柔軟で、継続的に開発が進められています。ユーザーのニーズやアイデアに基づいてサーバーを進化させていきたいと考えています。
このツールの未来を形作る取り組みに、ぜひご参加ください。
- 機能の提案: 新しいツールやリソース、改善のアイデアはありますか?
- 優先事項の検討: 次に何に注力すべきか、意見をお寄せください。
ご意見や機能リクエスト、アイデアは、GitHub IssuesページでIssueを作成してお知らせください。AI アシスタントのための強力なツールを一緒に作りましょう!
開発
ビルド
npm run build
開発モードでの実行
npm run dev
テスト
npm test
リント
npm run lint
コントリビューション
コミュニティからの貢献を歓迎します。n8n MCP Server の改善に、皆さんがどのように協力してくださるのか楽しみにしています!バグの修正、新機能の提案、ドキュメントの改善など、どのようなご協力も大切です。
バグの報告
バグを見つけた場合は、GitHub Issues ページで issue を作成して報告してください。
バグを報告する際は、以下の情報を含めてください。
- 明確で分かりやすいタイトル。
- バグを再現する手順を含む、問題の詳細な説明。
- 使用環境に関する情報(例:Node.js のバージョン、n8n MCP Server のバージョン、オペレーティングシステム)。
- 関連するエラーメッセージやスクリーンショット。
改善案の提案
サーバーをより良くする方法を常に探しています。改善案や新機能のアイデアがある場合は、GitHub Issues ページで issue を作成してください。
以下の情報を記載してください。
- 提案内容を明確に示すタイトル。
- 提案する改善案の詳細と、それが有益である理由。
- 想定されるユースケースや例。
プルリクエストの送信
コードで貢献する場合は、以下の手順に従ってください。
- リポジトリをフォークする: n8n-mcp-server repositoryを自分のアカウントにフォークします。
- ブランチを作成する: 変更内容を作業するための新しいブランチをフォーク内に作成します(例:
git checkout -b feature/your-feature-nameまたはbugfix/issue-number)。 - 変更を加える: 機能の実装またはバグの修正を行います。
- コードが既存のコーディングスタイルに準拠していることを確認してください。(フォーマットには Prettier を使用しており、
npm run lintで実行できます)。 - 可能であれば、変更内容のテストを追加してください。
npm testでテストを実行できます。
- コードが既存のコーディングスタイルに準拠していることを確認してください。(フォーマットには Prettier を使用しており、
- 変更をコミットする: 明確で簡潔なコミットメッセージを記述します。
- フォークにプッシュする: 変更をフォークしたリポジトリにプッシュします。
- プルリクエスト(PR)を作成する: 公式の
n8n-mcp-serverリポジトリのmainブランチに PR を送信します。- 変更内容を説明し、関連する issue があれば参照する、明確なタイトルと説明を記載してください。
PR はできるだけ早く確認し、フィードバックをお送りします。ご協力ありがとうございます!
ライセンス
🚀 チームに参加しませんか:共同メンテナー募集!
このプロジェクトは、AI 愛好家や開発者に積極的に利用されている、活気あるコミュニティ主導のツールです。現在は、熟練したエンジニアではないものの、AI とワークフロー自動化をつなぐことに情熱を注ぐ個人が、パートタイムでメンテナンスしています。このプロジェクトを成長させ、長期的な健全性を保ち、増え続けるユーザーベースに対応するため、意欲ある共同メンテナーを募集しています!
貢献するメリット
- 学び、成長する: TypeScript、Node.js、API 統合、AI ツール開発などのスキルを磨けます。
- 協力する: 意欲あるほかの開発者や AI ユーザーと一緒に取り組めます。
- 影響を与える: このプロジェクトの未来を直接形作り、AI コミュニティに役立つツールの開発に貢献できます。
- オープンソース: オープンソースプロジェクトへの貢献経験を得られます。
できること
さまざまな形での貢献を歓迎します!大きな力になれる分野をいくつかご紹介します。
- バグ修正: バグの発見と修正にご協力ください。安定性の向上につながります。
- 機能開発: ユーザーのニーズや皆さんのアイデアをもとに、新しいツールや機能を実装してください。
- ドキュメント: ガイド、サンプル、API リファレンスを改善し、プロジェクトをより利用しやすくしてください。
- テスト: テストスイート(ユニットテスト、統合テスト)を強化し、コードの品質と信頼性を確保してください。
- CI/CD: 開発およびデプロイのパイプラインの効率化にご協力ください。
- コードレビュー: プルリクエストにフィードバックを提供し、コード標準の維持にご協力ください。
- コミュニティサポート: ユーザーからの質問に対応し、ディスカッションの管理をお手伝いください。
ぜひご参加ください!
AI とワークフロー自動化の交差点に関心があり、やりがいのあるオープンソースの機会をお探しでしたら、ぜひご連絡ください!
貢献を始めませんか?
- GitHub Issues ページで既存のタスクを確認したり、新しいアイデアを提案したり、共同メンテナーへの就任に関心があることを伝えたりしてください。
- 「Co-maintainer Application」というタイトルでイシューを作成して正式に応募することも、既存のイシューへの貢献を始めることもできます。
- また、ご質問があれば、現在のメンテナーにお気軽にお問い合わせください。
AI を活用したワークフロー自動化の未来を一緒に築きましょう!🙌
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。