mcpField
N
n8n-nodes-mcp-client

n8n-nodes-mcp-client

github.com/nerding-ioフレームワーク・SDK3.0k43 週間前に更新

n8n-nodes-mcp-client について

n8n-nodes-mcp-client は、n8n のワークフローから MCP サーバーに接続するコミュニティノードです。リソースの取得、ツールの実行、プロンプトの利用ができ、n8n の AI エージェントのツールとしても使えます。

主な機能

  1. 01STDIO、HTTP Streamable、旧式の SSE トランスポートに対応
  2. 02MCP サーバーのツール一覧表示と実行
  3. 03リソースの一覧表示と読み取り
  4. 04プロンプトの一覧表示と取得
  5. 05n8n AI エージェントのツールとして利用可能
  6. 06MCP_ 接頭辞による環境変数の受け渡し

活用シーン

  1. 01n8n ワークフローから Brave Search などの MCP ツールを呼び出す
  2. 02AI エージェントで複数の MCP サーバーを併用する
  3. 03Docker 環境で MCP サーバーに API キーを渡す

MCP 対応

このノードは MCP クライアントで、STDIO、HTTP Streamable、非推奨の SSE で MCP サーバーに接続し、ツール・リソース・プロンプトの操作に対応します。

詳細

Verified on MseeP

n8n-nodes-mcp-client

重要な注意: Server-Sent Events (SSE) トランスポートは非推奨となり、新しい HTTP Streamable トランスポートに置き換えられました。SSE は従来のシステムとの互換性のために引き続き利用できますが、新規の実装にはすべて HTTP Streamable を推奨します。

これは、n8n のワークフローから Model Context Protocol (MCP) サーバーとやり取りできるようにする n8n コミュニティノードです。

MCP は、AI モデルが外部のツールやデータソースと標準化された方法でやり取りできるようにするプロトコルです。このノードを使うと、MCP サーバーへの接続、リソースへのアクセス、ツールの実行、プロンプトの利用ができます。

n8n は、フェアコードライセンスのワークフロー自動化プラットフォームです。

インストール 認証情報 環境変数 オペレーション ツールとして使う 互換性 リソース

はじめに

公式クイックスタート動画:

MCP Client Node Quickstart

コミュニティ動画

このノードの使い方を学ぶのに役立つ、以下の n8n コミュニティ動画を作成してくださった皆さんに感謝します。

ご紹介したい優れた動画がありましたら、ぜひお知らせください。リストに追加します。

MCP をさらに詳しく知りたい方へ

Model Context Protocol について詳しくは、私の YouTube シリーズ MCP Explained をご覧ください。

セキュリティ評価

MseeP.ai Security Assessment Badge

インストール

n8n コミュニティノードのドキュメントにあるインストールガイドに従ってください。

また、AI エージェントでのツールの利用に関する環境変数にも注意してください。MCP Client ノードを AI エージェントのツールとして使用する場合は、環境変数 N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE を true に設定することが必須です。

認証情報

MCP Client ノードは、MCP サーバーに接続するための 3 種類の認証情報をサポートしています。

コマンドラインベースのトランスポート (STDIO)

MCP Client STDIO Credentials

  • Command: MCP サーバーを起動するコマンド
  • Arguments: サーバーのコマンドに渡す任意の引数
  • Environment Variables: サーバーに渡す変数(NAME=VALUE 形式)
HTTP Streamable トランスポート(推奨)
  • HTTP Streamable URL: ストリーミングレスポンスに対応した HTTP エンドポイント(例: http://localhost:3001/stream)
  • Additional Headers: リクエストとともに送信する任意のヘッダー(形式: name:value、1 行につき 1 つ)

HTTP Streamable は、すべての新規連携に推奨される最新の方式で、SSE と比べて効率と柔軟性に優れています。

例: HTTP Streamable でローカルの MCP サーバーを使用する

この例では、HTTP Streamable を使用して、ローカルで実行中の MCP サーバーに接続する方法を示します。

  1. HTTP Streamable をサポートするローカルの MCP サーバーを起動します:

    npx @modelcontextprotocol/server-example-streamable
    
  2. MCP Client の認証情報を設定します:

    • ノードの設定で Connection Type に HTTP Streamable を選択します
    • MCP Client (HTTP Streamable) API タイプの新しい認証情報を作成します
    • HTTP Streamable URL に http://localhost:3001/stream を設定します
    • 認証に必要なヘッダーがあれば追加します
  3. MCP Client ノードを使用してワークフローを作成します:

    • MCP Client ノードを追加します
    • Connection Type を HTTP Streamable に設定します
    • HTTP Streamable の認証情報を選択します
    • ワークフローを実行して結果を確認します
Server-Sent Events (SSE) トランスポート(非推奨、レガシー用途向けに引き続き利用可能)
  • SSE URL: SSE エンドポイントの URL(デフォルト: http://localhost:3001/sse)
  • Messages Post Endpoint: SSE URL と異なる場合に、メッセージを送信するためのカスタムエンドポイント(任意)
  • Additional Headers: リクエストとともに送信するヘッダー(任意)(形式: name:value、1 行に 1 つ)

非推奨: SSE は非推奨であり、今後アップデートは行われませんが、レガシーとの互換性のために引き続き利用できます。新規プロジェクトでは HTTP Streamable を使用してください。

例: SSE(レガシー)でローカルの MCP サーバーを使用する

この例では、Server-Sent Events (SSE) を使用して、ローカルで実行中の MCP サーバーに接続する方法を示します。

  1. SSE をサポートするローカルの MCP サーバーを起動します:

    npx @modelcontextprotocol/server-example-sse
    
  2. MCP Client の認証情報を設定します:

    • ノードの設定で Connection Type に Server-Sent Events (SSE) を選択します
    • MCP Client (SSE) API タイプの新しい認証情報を作成します
    • SSE URL に http://localhost:3001/sse を設定します
    • 認証に必要なヘッダーがあれば追加します
  3. MCP Client ノードを使用してワークフローを作成します:

    • MCP Client ノードを追加します
    • Connection Type を Server-Sent Events (SSE) に設定します
    • SSE の認証情報を選択します
    • ワークフローを実行して結果を確認します

注意: 新規プロジェクトでは、HTTP Streamable を強く推奨します。

環境変数

MCP Client ノードでは、コマンドラインベースのトランスポートを使用する MCP サーバーに対して、2 つの方法で環境変数を渡すことができます。

1. 認証情報の UI を使用する

認証情報の設定で、環境変数を直接追加できます。

認証情報内の環境変数

この方法は、個人での利用やテストに便利です。値は n8n の認証情報として安全に保存されます。

2. Docker の環境変数を使用する

Docker でデプロイしている場合は、環境変数の名前に MCP_ を付けることで、MCP サーバーに直接渡すことができます。

version: '3'

services:
  n8n:
    image: n8nio/n8n
    environment:
      - MCP_BRAVE_API_KEY=your-api-key-here
      - MCP_OPENAI_API_KEY=your-openai-key-here
      - MCP_CUSTOM_SETTING=some-value
    # other configuration...

これらの環境変数は、MCP サーバーの実行時に自動的に渡されます。

例: Brave Search MCP サーバーを使用する

この例では、Brave Search MCP サーバーのセットアップと使用方法を示します。

  1. Brave Search MCP サーバーをインストールします:

    npm install -g @modelcontextprotocol/server-brave-search
    
  2. MCP Client の認証情報を設定します:

    • Command: npx
    • Arguments: -y @modelcontextprotocol/server-brave-search
    • Environment Variables: BRAVE_API_KEY=your-api-key 変数を追加します(スペース、カンマ、または改行区切り)
  3. MCP Client ノードを使用するワークフローを作成します:

    • MCP Client ノードを追加します
    • 「List Tools」操作を選択して、利用可能な検索ツールを確認します
    • もう 1 つ MCP Client ノードを追加します
    • 「Execute Tool」操作を選択します
    • 「brave_search」ツールを選択します
    • Parameters に {"query": "latest AI news"} を設定します

Brave Search の例

ノードは検索を実行し、結果を出力として返します。

例: AI エージェントを使ったマルチサーバー構成

この例では、本番環境で複数の MCP サーバーをセットアップし、AI エージェントと組み合わせて使用する方法を示します。

  1. docker-compose.yml ファイルを設定します。
version: '3'

services:
  n8n:
    image: n8nio/n8n
    environment:
      # MCP server environment variables
      - MCP_BRAVE_API_KEY=your-brave-api-key
      - MCP_OPENAI_API_KEY=your-openai-key
      - MCP_SERPER_API_KEY=your-serper-key
      - MCP_WEATHER_API_KEY=your-weather-api-key

      # Enable community nodes as tools
      - N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
    ports:
      - "5678:5678"
    volumes:
      - ~/.n8n:/home/node/.n8n
  1. n8n で複数の MCP Client 認証情報を作成します。

    Brave Search 認証情報:

    • コマンド: npx
    • 引数: -y @modelcontextprotocol/server-brave-search

    OpenAI Tools 認証情報:

    • コマンド: npx
    • 引数: -y @modelcontextprotocol/server-openai

    Web Search 認証情報:

    • コマンド: npx
    • 引数: -y @modelcontextprotocol/server-serper

    Weather API 認証情報:

    • コマンド: npx
    • 引数: -y @modelcontextprotocol/server-weather
  2. AI エージェントのワークフローを作成します。

    • AI Agent ノードを追加します
    • MCP Client をツールとして有効にします
    • 異なる認証情報を使って、複数の MCP Client ノードを設定します
    • 複数のデータソースを利用するプロンプトを作成します

マルチサーバー構成

AI エージェントのプロンプト例:

I need you to help me plan a trip. First, search for popular destinations in {destination_country}.
Then, check the current weather in the top 3 cities.
Finally, find some recent news about travel restrictions for these places.

この構成により、AI エージェントは複数のサーバーにまたがる MCP ツールを利用でき、いずれも Docker デプロイメントで設定した環境変数を使用します。

オペレーション

MCP Client ノードは以下のオペレーションをサポートしています。

MCP Client のオペレーション

  • Execute Tool - パラメータを指定して特定のツールを実行します
  • Get Prompt - 特定のプロンプトテンプレートを取得します
  • List Prompts - 利用可能なプロンプトの一覧を取得します
  • List Resources - MCP サーバーから利用可能なリソースの一覧を取得します
  • List Tools - 利用可能なツールの一覧を取得します
  • Read Resource - URI を指定して特定のリソースを読み取ります
例: List Tools オペレーション

List Tools の例

List Tools オペレーションは、MCP サーバーで利用可能なすべてのツールを、名前、説明、パラメータスキーマとともに返します。

例: Execute Tool オペレーション

Execute Tool の例

Execute Tool オペレーションでは、パラメータを指定して特定のツールを実行できます。ドロップダウンメニューから、実行したいツールを必ず選択してください。

ツールとしての利用

このノードは、n8n の AI エージェントでツールとして利用できます。コミュニティノードをツールとして有効にするには、環境変数 N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE を true に設定する必要があります。

環境変数の設定

bash/zsh シェルを使用している場合:

export N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
n8n start

Docker を使用している場合: docker-compose.yml ファイルに以下を追加します。

environment:
  - N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true

デスクトップアプリを使用している場合: n8n ディレクトリに .env ファイルを作成します。

N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true

Mac/Linux で恒久的に設定したい場合: ~/.zshrc または ~/.bash_profile に以下を追加します。

export N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true

AI エージェントのワークフロー実行結果の例:

AI エージェントの例

この環境変数を設定して n8n を再起動すると、MCP Client ノードが AI Agent ノードでツールとして利用できるようになります。

互換性

  • n8n バージョン 1.0.0 以降が必要です
  • MCP Protocol バージョン 1.0.0 以降と互換性があります
  • MCP サーバーへの接続には、STDIO と SSE の両方のトランスポートをサポートしています
  • SSE トランスポートを使用するには、MCP Server-Sent Events 仕様を実装したサーバーが必要です

リソース

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。