در پایان این آموزش، یک دستیارِ هوش مصنوعی خواهی داشت که میتوانی به فارسیِ ساده به آن بگویی «یک ورکفلو بساز که هر صبح ایمیلهای مهم را خلاصه کند» و او واقعاً داخل n8n تو آن را بسازد و بررسی کند. برای این کار سه قطعه را کنار هم میگذاریم:
قبل از اینکه دست به کار شویم، بیایید چند اصطلاح را با یک تشبیه ساده جا بیندازیم. اگر همینها را بفهمی، بقیهٔ راه خیلی روان میشود.
https://www.docker.com/products/docker-desktop/ برو.# © Gravel — بررسی نصب داکر
docker --version
Docker version 27.x.x دیدی، داکر نصب و آماده است. اگر پیام «command not found» یا خطای اتصال دیدی، مطمئن شو برنامهٔ Docker Desktop باز و «در حال اجرا» باشد، بعد دوباره امتحان کن.
حالا با یک دستورِ ساده، n8n را داخل داکر اجرا میکنیم. این دستور ایمیج رسمی n8n را دانلود و یک کانتینر میسازد که روی درگاهِ۸ 5678 در دسترس است و اطلاعاتت را ذخیره نگه میدارد.
# © Gravel — اجرای n8n در داکر (ذخیرهٔ دائمی دادهها + روشنماندن خودکار)
docker run -d --restart unless-stopped \
--name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8n
-d یعنی در پسزمینه اجرا شود · --restart unless-stopped یعنی اگر کامپیوتر ریاستارت شد، خودش دوباره بالا بیاید · --name n8n یک اسم به کانتینر میدهد · -p 5678:5678 درگاه را باز میکند · -v n8n_data:... دادههایت (ورکفلوها و کلیدها) را برای همیشه نگه میدارد.
چند لحظه صبر کن؛ بار اول ایمیج دانلود میشود. بعد برای اطمینان از روشنبودن کانتینر:
docker ps
docker ps باید یک خط با نامِ n8n و درگاهِ 5678 ببینی. حالا مرورگر را باز کن و به نشانی http://localhost:5678 برو — باید صفحهٔ خوشآمدِ n8n بالا بیاید.
5678:5678 از 5679:5678 استفاده کن (آنوقت آدرست میشود http://localhost:5679 و در پیکربندی MCP هم باید عدد 5679 بگذاری).
http://localhost:5678، فرم ساخت حساب مالک (owner account) را میبینی.antigravity) و بسازش.n8n_api_ شروع میشود را همان لحظه کپی کن و جایی امن نگه دار.n8n_api_... در دستت داری، آمادهٔ اتصال هستی.
https://antigravity.google/downloadآنتیگراویتی سرورهای MCP را از یک فایل بهنام mcp_config.json میخواند. مسیر رسیدن به آن معمولاً اینطور است:
mcp_config.json باز شود.{ "mcpServers": { ... } }) جلوی رویت باز شد، درست آمدهای. اگر فایل خالی بود، اشکالی ندارد؛ در مرحلهٔ بعد محتوایش را میگذاریم.
حالا این قطعهٔ پیکربندی را داخل فایل mcp_config.json قرار میدهیم. این تنظیم به آنتیگراویتی میگوید سرورِ n8n-MCP را با داکر اجرا کند و آن را به n8n تو وصل کند:
// © Gravel — پیکربندی سرور n8n-MCP برای Google Antigravity
{
"mcpServers": {
"n8n-mcp": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "MCP_MODE=stdio",
"-e", "LOG_LEVEL=error",
"-e", "DISABLE_CONSOLE_OUTPUT=true",
"-e", "N8N_API_URL=http://host.docker.internal:5678",
"-e", "N8N_API_KEY=YOUR_N8N_API_KEY_HERE",
"ghcr.io/czlonkowski/n8n-mcp:latest"
]
}
}
}
YOUR_N8N_API_KEY_HERE را پاک کن و بهجایش کلیدِ n8n_api_...ای که در مرحلهٔ ۴ ساختی بچسبان (بین همان دو گیومه).host.docker.internal:5678 را به 5679 عوض کن.localhost بگذاری، کانتینر فکر میکند «خودش» است و اتصال شکست میخورد.
"mcpServers" چند سرور داشت، این تکه را جایگزینِ کل فایل نکن؛ فقط بلوکِ "n8n-mcp": { ... } را کنارِ بقیه، داخل همان آکولادِ "mcpServers"، اضافه کن و یادت نرود بین سرورها ویرگول بگذاری. یک ویرگولِ جاافتاده، کل JSON را خراب میکند.
n8n-mcp باید در فهرست ظاهر شود.ghcr.io/czlonkowski/n8n-mcp را دانلود میکند؛ کمی صبر لازم است.n8n-mcp در فهرستِ سرورهای نصبشده با وضعیتِ سالم دیده میشود، اتصال برقرار است. حالا وقتِ آزمایشِ واقعی است.
در پنلِ عاملِ آنتیگراویتی، این جمله را بنویس و بفرست:
لیست ورکفلوهای n8n من را نشان بده.
عامل باید از ابزارِ n8n-MCP استفاده کند و به n8n تو وصل شود. چون تازه n8n را ساختی، احتمالاً فهرست خالی است — و همین یعنی اتصال کار میکند. حالا یک قدم جلوتر برو و بگو:
یک ورکفلوی ساده در n8n بساز که وقتی یک وبهوک صدا زده شد، پیام «سلام از گراول» را برگرداند. بعد ساختش را اعتبارسنجی کن.
http://localhost:5678 بروی و ورکفلوی تازهساخته را در فهرستِ n8n ببینی — تبریک! عاملِ هوش مصنوعی حالا واقعاً به کارخانهٔ اتوماسیونِ تو دسترسی دارد.
| نشانه | علتِ محتمل | راهحل |
|---|---|---|
دستورهای docker کار نمیکنند یا خطای اتصال میدهند. |
برنامهٔ Docker Desktop باز/در حال اجرا نیست. | Docker Desktop را باز کن و منتظر بمان تا وضعیتش سبز شود، بعد دوباره امتحان کن. |
هنگام اجرای n8n خطای port is already allocated. |
درگاه 5678 اشغال است. | برنامهٔ اشغالکننده را ببند، یا درگاه را به 5679:5678 عوض کن و در پیکربندی MCP هم عدد را 5679 بگذار. |
| عامل میگوید نمیتواند به n8n وصل شود / connection refused. | آدرس اشتباه است یا کانتینرِ n8n روشن نیست. | مطمئن شو docker ps کانتینرِ n8n را نشان میدهد و در پیکربندی از host.docker.internal استفاده کردهای، نه localhost. |
روی لینوکس اتصال به host.docker.internal برقرار نمیشود. |
در لینوکس این نام بهصورت خودکار شناخته نمیشود. | در آرایهٔ args، بعد از "--rm" این دو را اضافه کن: "--add-host=host.docker.internal:host-gateway". |
| خطای احراز هویت / 401 Unauthorized. | کلید API اشتباه، ناقص یا منقضی است. | در n8n یک کلید تازه بساز، کامل کپی کن و دقیقاً بین گیومهها در N8N_API_KEY بگذار (بدون فاصلهٔ اضافه). |
n8n-mcp بعد از رفرش در فهرست ظاهر نمیشود. |
خطای نگارشِ JSON یا نیاز به راهاندازی مجدد. | گیومهها و ویرگولها را چک کن؛ فایل را ذخیره کن؛ آنتیگراویتی را کامل ببند و باز کن. |
| آنتیگراویتی خطا میدهد که فایل پیکربندی معتبر نیست. | یک ویرگول یا آکولادِ جاافتاده در JSON. | متن نمونهٔ این آموزش را دوباره با دقت بچسبان و فقط کلید را عوض کن؛ یک کاراکترِ اضافه کل فایل را خراب میکند. |
| در ورود به آنتیگراویتی گیر میکنی. | محدودیت دسترسیِ منطقهای یا مشکل اینترنت. | اتصال اینترنتت را بررسی کن. همانطور که در ابتدای صفحه گفته شد، دسترسی از بعضی مناطق ممکن است محدود باشد. |
۱ کانتینر (Container): بستهای مستقل شامل نرمافزار و همهٔ نیازهایش که همهجا یکجور اجرا میشود.
۲ نُود (Node): هر جعبهٔ کاری در n8n؛ مثلاً «دریافت ایمیل» یا «ارسال پیام».
۳ کلید API: رشتهٔ رمزی که به یک برنامه اجازه میدهد از طرف تو با برنامهٔ دیگر کار کند.
۴ MCP (Model Context Protocol): استانداردی که هوش مصنوعی را به ابزارها و دادههای بیرونی وصل میکند.
۵ عامل (Agent): یک هوش مصنوعی که خودش برنامهریزی و اجرا میکند، نه فقط پاسخدادن.
۶ WSL 2: لایهای در ویندوز که اجازه میدهد ابزارهای مبتنی بر لینوکس (مثل داکر) اجرا شوند.
۷ ترمینال (Terminal): پنجرهٔ متنی برای اجرای دستور. در ویندوز «PowerShell» یا «Terminal»، در مک «Terminal».
۸ درگاه (Port): شمارهٔ «درِ» یک برنامه روی کامپیوتر؛ n8n روی درِ 5678 صدا زده میشود.
۹ JSON: یک قالبِ متنیِ ساختارمند برای تنظیمات که با { } و گیومه نوشته میشود.
داکر و n8n را از صفر بالا بیاوری، برایش کلید API بسازی، و یک IDE هوش مصنوعی (Google Antigravity) را از طریق n8n-MCP به آن وصل کنی — تا با زبان ساده برایت ورکفلو بسازد و بیازماید.
حالا که عاملت به n8n وصل است، دو مسیرِ خوب پیشِ رو داری: