n8n MCP Server
Exposes n8n's REST API and local Ollama as MCP tools, allowing natural language instructions to create, execute, and monitor workflows from MCP clients like VS Code Copilot Chat.
README
n8n MCP Server
n8n の REST API とローカルの Ollama を、MCP (Model Context Protocol) ツールとして 公開する Python サーバーです。VS Code などの MCP クライアントから ワークフローの作成・実行・監視を自然言語で指示できます。
特徴
- n8n のワークフロー一覧取得、詳細取得、作成、削除、有効化、公開、手動実行
- 実行履歴の一覧取得と詳細取得
- 登録済み Credentials の一覧取得
- Ollama 経由でのローカル / クラウドモデルへの問い合わせ
- n8n と Ollama の稼働状態をまとめて確認するヘルスチェック
- すべての操作は非同期 (httpx.AsyncClient) で実装
必要環境
- macOS または Linux
- Python 3.10 以上
- 起動済みの n8n (デフォルト
http://127.0.0.1:5678) - 起動済みの Ollama (デフォルト
http://127.0.0.1:11434)
構築手順
1. リポジトリを取得
git clone <このリポジトリのURL> ~/.n8n-mcp-server
cd ~/.n8n-mcp-server
start.sh と stop.sh はホームディレクトリの ~/.n8n-mcp-server 配下を
前提にしているため、必ずこのパスに配置してください。
2. 仮想環境を作成して有効化
python -m venv venv
source venv/bin/activate
3. 依存パッケージをインストール
pip install -r requirements.txt
requirements.txt には以下が含まれます。
mcp[cli]>=1.0.0— MCP サーバーフレームワークhttpx>=0.27.0— 非同期 HTTP クライアントollama>=0.3.0— Ollama 公式 Python クライアント (任意)
4. n8n の API キーを発行
- n8n の Web UI (
http://127.0.0.1:5678) を開く - 左メニューの
Settings→APIを開く Create an API keyをクリックしてキーを生成- 生成されたキーを後述の環境変数
N8N_API_KEYに設定
5. 環境変数を設定
シェルの rc ファイル (~/.zshrc など) に追記します。
export N8N_HOST=127.0.0.1
export N8N_PORT=5678
export N8N_URL="http://${N8N_HOST}:${N8N_PORT}"
export N8N_USER_FOLDER="${HOME}/.n8n"
export MCP_SERVER_DIR="${HOME}/.n8n-mcp-server"
export N8N_BASIC_AUTH_ACTIVE=false
export N8N_USER_MANAGEMENT_DISABLED=true
OLLAMA_MODEL はクラウドモデル minimax-m3:cloud なども指定可能です。
反映するには source ~/.zshrc を実行してください。
起動と停止
起動
./start.sh
実行内容:
- ホームの
~/.n8n-mcp-serverに移動 venvを有効化python server.pyをバックグラウンド (nohup) で起動- ログを
logs/mcp.logに出力 - プロセス ID を
tmp/mcp.pidに保存
起動後、エラーがあった場合のログは tail -f logs/mcp.log で確認できます。
停止
./stop.sh
tmp/mcp.pid のプロセスに kill を送って停止し、PID ファイルを削除します。
VS Code からの接続
settings.json の mcp.servers に以下を追加します。
{
"mcp.servers": {
"n8n-mcp-server": {
"command": "python",
"args": ["~/.n8n-mcp-server/server.py"],
"env": {
"N8N_URL": "http://127.0.0.1:5678",
"N8N_API_KEY": "APIキー",
"OLLAMA_HOST": "http://127.0.0.1:11434",
"OLLAMA_MODEL": "llama3.1"
}
}
}
}
VS Code を再起動すると、Copilot Chat からツールとして呼び出せるようになります。
提供されるツール
すべて server.py の @mcp.tool() デコレータで定義されています。
ツール名と引数は MCP クライアント (VS Code Copilot Chat など) に表示されます。
システム状態確認
-
check_n8n_status n8n のヘルスチェック、登録済みワークフロー数、Ollama のモデル一覧、 API キーの設定有無を JSON で返します。 引数なし。
-
ask_ollama(prompt, model="") Ollama 経由でモデルに問い合わせます。
modelを空にすると環境変数OLLAMA_MODEL、既定はminimax-m3:cloudを使用します。ollama listで利用可能なモデル名を確認できます。
n8n ワークフロー操作
-
list_n8n_workflows() すべてのワークフローの一覧を JSON 文字列で返します。
-
get_n8n_workflow(workflow_id) 指定 ID のワークフロー詳細 (ノードや接続を含む) を取得します。
-
create_n8n_workflow(name, nodes_json, connections_json="{}") 新規ワークフローを作成します。
nodes_jsonはノード配列の JSON 文字列、connections_jsonは接続オブジェクトの JSON 文字列です。 成功時は作成されたワークフローの JSON を返します。 -
delete_n8n_workflow(workflow_id) 指定 ID のワークフローを削除します。
-
activate_n8n_workflow(workflow_id, active=True) ワークフローの有効 / 無効を切り替えます。公開済みバージョンが必要です。
-
publish_n8n_workflow(workflow_id) 現在の
versionIdをactiveVersionIdに設定し、active=trueで PATCH します。 API 制限により失敗することがあるため、UI での公開を推奨します。
実行 (Execution)
-
execute_workflow_now(workflow_id)
POST /api/v1/workflows/{id}/runで手動実行します。 -
get_n8n_executions(workflow_id="", limit=20) 実行履歴を新しい順に取得します。
workflow_idを空にすると全件対象です。 -
get_n8n_execution(execution_id, include_data=True) 特定の実行履歴の詳細を取得します。
includeDataで各ノードの入出力を含めるか指定します。
Credentials
- list_n8n_credentials()
登録済み Credentials の
id/name/typeを含む一覧を返します。
使用例
稼働状態を一括確認する
Copilot Chat で次のように呼び出します。
check_n8n_status を使って n8n と Ollama の状態を確認して
ワークフローの一覧と詳細を見る
list_n8n_workflows を実行して、ID が 123 のものを get_n8n_workflow で詳細を見せて
ワークフローを新規作成する
nodes_json には n8n のノード定義配列を JSON 文字列で渡します。
例として、毎日 9 時に HTTP リクエストを送るだけの最小ワークフロー:
create_n8n_workflow を次の内容で実行して:
name: "Daily Ping"
nodes_json: '[{
"parameters": {
"url": "https://example.com",
"method": "GET"
},
"id": "abc123",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 1,
"position": [240, 300]
}, {
"parameters": {
"rule": {"hour": 9}
},
"id": "def456",
"name": "Schedule",
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1,
"position": [460, 300]
}]'
connections_json: '{}'
成功すると作成されたワークフローの JSON が返るので、その ID を使って 手動実行や有効化を行います。
execute_workflow_now を ID 123 で実行
activate_n8n_workflow を ID 123 で active=true に
実行履歴を調査する
get_n8n_executions を workflow_id=123, limit=5 で取得して
失敗しているものがあれば get_n8n_execution で詳細を見せて
Ollama に問い合わせる
ask_ollama を使って「Python の非同期処理とは?」を教えて
モデル名を明示する場合は次のとおりです。
ask_ollama(prompt="俳句を一つ作って", model="llama3.1")
環境変数まとめ
N8N_URL— n8n のベース URL。省略時はhttp://127.0.0.1:5678N8N_API_KEY— n8n の API キー。未設定だと認証付き API は失敗しますOLLAMA_HOST— Ollama のベース URL。省略時はhttp://127.0.0.1:11434OLLAMA_MODEL—ask_ollamaで既定で使うモデル名。省略時はminimax-m3:cloud
トラブルシューティング
-
model 'xxx' not foundと返るollama listを実行し、表示されたモデル名をmodel引数に渡してください。 未インストールならollama pull <モデル名>で取得します。 -
n8n API が 401 / 403 を返す 環境変数
N8N_API_KEYが正しいか、n8n restart後にキーが無効化されていないか確認します。 -
接続エラー
connection errorが出るN8N_URLとOLLAMA_HOSTのホスト名・ポートで各サービスが起動しているか確認します。curl http://127.0.0.1:5678/healthzやcurl http://127.0.0.1:11434/api/tagsで疎通確認ができます。 -
起動はしたが VS Code でツールが出てこない
settings.jsonのmcp.servers設定を見直して、VS Code を再読み込みします。 サーバーが標準出力に JSON-RPC を流しているかtail -f logs/mcp.logで確認してください。
ファイル構成
server.py— MCP サーバーの本体。各ツールの実装requirements.txt— 依存パッケージ一覧start.sh— バックグラウンド起動スクリプトstop.sh— 停止スクリプトlogs/— 実行ログの出力先tmp/mcp.pid— 起動中のプロセス IDvenv/— Python 仮想環境
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.