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 仮想環境
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。