MCP Server + n8n について
MCP Server + n8n は、教育や実験向けに n8n と小規模な Python 製 MCP サーバーを組み合わせます。Docker で動作し、n8n の AI エージェントから MCP Client ノード経由で ping や echo などのツールを利用できます。
主な機能
- 01Docker Compose による n8n と MCP の構成
- 02n8n でのビジュアルなワークフロー設定
- 03ping と echo を備えた Python サーバー
- 04n8n とサーバーディレクトリの永続化
- 05MCP サーバーコードの編集
活用シーン
- 01n8n のワークフローで MCP ツールを試す
- 02AI エージェントとサーバーの接続をテスト
- 03Python サーバーを変更して機能を追加
MCP 対応
Python 製 MCP サーバーは SSE エンドポイント経由で ping と echo のツールを公開します。n8n は MCP Client Tool ノードで接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Server + n8n
目次
- プロジェクトについて
- 前提条件
- インストール
- n8n の設定
- AI Agent を使ったワークフローの作成
- ツールのテスト
- ディレクトリ構成と永続化
- MCP Server の変更
- セキュリティ上の考慮事項
- ドキュメント
- 参考資料
プロジェクトについて
このアプリケーションは、自動化ツール n8n と MCP Server プロトコルを組み合わせ、実験用の環境を構築します。このソリューションでは Docker を使用してインストールと設定を簡単にし、n8n のビジュアルインターフェースから MCP Server の機能を簡単にテストできます。
主なコンポーネント:
- n8n:ビジュアルインターフェースを備えた自動化プラットフォーム
- MCP Server:AI エージェント向けにツールを提供するサーバー
このプロジェクトは、教育と実験を目的として作成されました。
前提条件
このアプリケーションを使用するには、以下が必要です。
- Docker と Docker Compose がコンピューターにインストールされていること
- Windows:Docker Desktop と Git
- Linux:doker.io、docker-compose、docker-buildx
インストール
Windows の場合
- このリポジトリの ZIP ファイルをダウンロードして展開するか、Git を使用してクローンします。
git clone https://github.com/curseai/mcp-server-n8n.git - コマンドプロンプトまたは PowerShell を開き、プロジェクトフォルダーに移動します。
cd mcp-server-n8n - Docker コンテナを起動します。
docker-compose up -d - Docker コンテナを停止します。
docker-compose down
注記 - Windows で Docker Desktop のインストールに問題がある場合は、Linux ディストリビューションを使用した WSL を利用してください。
Linux の場合
- リポジトリをダウンロードまたはクローンします。
git clone https://github.com/curseai/mcp-server-n8n.git - プロジェクトフォルダーに移動します。
cd mcp-server-n8n - Docker コンテナを起動します。
docker-compose up -d - Docker コンテナを停止します。
docker-compose down
注記: アプリケーションを終了すると、コンテナは削除されます。ただし、データは永続化ディレクトリに保持されます。
mcp_serverには MCP Server の実行を担う Python ファイルが含まれ、ディレクトリn8n_dataには n8n アプリケーションのデータが含まれています。そのため、アプリケーションを再び起動すると、前回の実行で保存されたデータを使ってコンテナが再作成されます。
インストールが完了すると、コンテナが起動したことを示すメッセージが表示されます。 アプリケーションは http://localhost:5678 で利用できます。
n8n の設定
n8n に初めてアクセスする
-
ブラウザーを開き、http://localhost:5678 にアクセスします。
-
アカウント作成フォームが表示された n8n のウェルカム画面が表示されます。
-
登録フォームに入力します。
- メールアドレス:メールアドレスを入力します
- 名前:名前を入力します
- パスワード:安全なパスワードを入力します
- パスワードの確認:パスワードをもう一度入力します
-
「Next」をクリックしてアカウントを作成します。
- 次のフォームはアンケートのみなので、「Get Started」をクリックしてスキップできます。
- 次の画面では、ライセンスキーを取得できます。取得しない場合は、「skip」をクリックしてください。
- 登録後、n8n のメインページにリダイレクトされます。
AI Agent を使ったワークフローの作成
新しいワークフローの作成
- n8n のホーム画面で、右上隅にある「Create Workflow」ボタンをクリックします。
- ワークフローエディターに移動します。グリッドのある空白の画面が表示されます。
- 左上隅の「My workflow」をクリックして、ワークフローに名前を付けます。例:「Teste MCP Server」
AI Agent の追加
- 「Add first step」をクリックして、ワークフローの作成を開始します。
- 左側のパネルに検索バー「Search nodes...」が表示されます。
- 検索バーに「AI Agent」と入力します。
- 検索結果から「AI Agent」ノードを見つけます。
- 「AI Agent」ノードをクリックして、画面の中央にドラッグします。
- 続いて「AI Agent」の設定パネルが表示されます。MCP Server のテストでは、パラメーターを変更せずにそのままにしておけます。次に、画面左上隅の「<- Back to canvas」をクリックして、このパネルを閉じます。
- AI Agent に LLM モデルを追加するには、「+ Chat Model」をクリックします
- サイドタブでモデルを選択します。検索バー「Search nodes...」で使用する LLM モデルを検索します
- 使用する LLM モデル(例:「OpenAI」または「Anthropic」)を選択します
- モデルを選択すると、「Credential to connect with」フィールドに「Select Credential」と表示されます
- 「Select Credential」をクリックし、続けて「Create new credential」をクリックして、認証情報の設定画面を開きます
- 認証情報の画面には、次の項目が表示されます:
- API Key:API キーを入力するフィールド
注:API Key を取得するには、次の手順に従います:
- OpenAI の場合:platform.openai.com にアクセスしてアカウントを作成し、API Key を生成します
- Anthropic の場合:console.anthropic.com にアクセスしてアカウントを作成し、API Key を生成します
-
対応するフィールドに API Key を入力します
-
「Save」をクリックして、認証情報を保存します
-
AI Agent の設定に戻ると、モデルのパラメーターを調整するための追加フィールドが表示されます:
- Model:使用するモデル(「gpt-4o-mini」や「claude-3.7-Sonnet」など)を選択します
-
好みに応じて、これらのパラメーターを設定します
-
画面左上の「<- Back to canvas」をクリックして、ワークフローに戻ります
メモリの設定
- AI Agent にメモリを追加するには、「+ Memory」をクリックします
- サイドバーで「Simple Memory」ノードをクリックします
- 「Context Window Length」フィールドで、コンテキストウィンドウのサイズを設定します(推奨値:20)
- 画面左上の「<- Back to canvas」をクリックして、ワークフローに戻ります
MCP クライアントの設定
- AI Agent に MCP クライアントを追加するには、「+ Tools」をクリックします
- サイドバーの検索バー「Search nodes...」で「MCP Client Tool」を検索し、利用可能なツールの一覧から選択します
- MCP クライアントに次のパラメーターを設定します:
- SSE Endpoint:
http://mcp_server:8000/sseと正確に入力します - Authentication:ローカルの隔離された環境で実行しているため、「Authentication」フィールドは「None」のままにできます。
注意 このアプリケーションは実験と学習を目的としています。本番環境で使用する場合は、何らかの認証方式を使用してください。
- SSE Endpoint:
- Tools:フィールドをクリックし、「All」を選択して利用可能なすべてのツールを使用します
ヒント:MCP サーバーとの接続を確認するには、「All」の代わりに「Selected」を選択できます。利用可能なツールの一覧が表示されます。一覧が表示されれば、接続は正常に機能しています。
- すべてのパラメーターを設定したら、画面左上の「<- Back to canvas」をクリックして、ワークフローに戻ります
- ワークフローに戻ったら、右上の「Save」をクリックして、ワークフローに行った設定を保存します。
ツールのテスト
AI Agent の設定後、MCP Server のツールをテストできます。
- AI Agent の設定パネルで、ページの一番下までスクロールします。
- 設定パネルの下部にある「Open Chat」ボタンをクリックします。
- AI チャットのようなチャットウィンドウが開きます。
- チャット下部のテキストフィールドで、次のコマンドを試してください。
pingと入力して Enter キーを押すと、エージェントは「pong」と応答します。acho euと入力して Enter キーを押すと、エージェントは「acho eu I love you!」と応答します。
これらのコマンドは、MCP Server が提供するツールを実行します。これにより、n8n と MCP Server の接続が正しく機能していることを確認できます。
ディレクトリ構成と永続化
アプリケーションを初めて実行すると、プロジェクトフォルダーに重要なディレクトリが 2 つ作成されます。
n8n_data ディレクトリ
このディレクトリには、次のような n8n のすべてのデータが保存されます。
- 作成したワークフロー
- 設定した認証情報
- アプリケーションの設定
n8n_data ディレクトリは、コンテナを再起動した後も設定とワークフローを保持するために必要です。
mcp_server ディレクトリ
このディレクトリには、次のような MCP Server のファイルが含まれています。
- Python 仮想環境(
.venvフォルダー) - MCP サーバーのコードを含む
server.pyファイル
server.py ファイルを開くには、プロジェクトフォルダーに移動して mcp_server ディレクトリを開きます。このファイルはディレクトリのルートにあります。
Windows の場合:
explorer mcp_server
Linux の場合:
ls -la mcp_server
このファイルには、MCP Server が提供するツール(現在は ping と echo)を定義する Python コードが含まれています。
MCP Server の変更
server.py ファイルを変更して、MCP Server の新しい機能をテスト、実装できます。
server.py ファイルの編集
- プロジェクトフォルダー内の
mcp_serverディレクトリに移動します。 - 任意のテキストエディター(Notepad、VSCode など)で
server.pyファイルを開きます。 - このファイルには、MCP サーバーを定義する Python コードが含まれています。以下のコードでは、n8n で使用するツールの定義を確認できます。
from mcp.server.fastmcp import FastMCP mcp = FastMCP('ping_server') @mcp.tool(name='ping') def ping() -> str: """ A simple ping tool that returns a message. """ return 'pong' @mcp.tool(name='echo') def echo(message: str) -> str: """ An echo tool that returns the message sent to it. """ return f"{message} I love you!" if __name__ == '__main__': mcp.run(transport='sse')
tools に加えて、resources と prompt も追加できます。詳しくは、MCP Server の公式ドキュメントを参照してください。
変更の適用
server.py ファイルを変更した後、n8n の MCP Client が変更を認識できるように、コンテナを再起動する必要があります。
-
ターミナルまたはコマンドプロンプトを開きます。
-
プロジェクトフォルダーに移動します。
-
次のコマンドを実行します。
docker-compose restart -
両方のコンテナが再起動するまで待ちます。
-
n8n に戻り、新しいツールをテストします。
セキュリティに関する考慮事項
このアプリケーションは実験と学習を目的として開発されているため、次の点に注意してください。
- MCP Server には認証手順が実装されていません。
- 隔離されたテスト環境でのみ使用することをお勧めします。
- 適切なセキュリティ対策を実装せずに、本番環境で使用しないでください。
ドキュメント
Model Context Protocol の詳細については、次を参照してください。
参考資料
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細については、LICENSE ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。