Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Convert Make and Zapier automations into n8n workflows, with a report of what to check.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
MIGRATE_OUTPUT_DIR, N8N_URL, N8N_API_KEYค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"migrate-to-n8n": {
"command": "npx",
"args": [
"-y",
"migrate-to-n8n",
"serve"
],
"env": {
"MIGRATE_OUTPUT_DIR": "ใส่ค่าของคุณ",
"N8N_URL": "ใส่ค่าของคุณ",
"N8N_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add migrate-to-n8n --env MIGRATE_OUTPUT_DIR='ใส่ค่าของคุณ' --env N8N_URL='ใส่ค่าของคุณ' --env N8N_API_KEY='ใส่ค่าของคุณ' -- npx -y migrate-to-n8n serveเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"migrate-to-n8n": {
"command": "npx",
"args": [
"-y",
"migrate-to-n8n",
"serve"
],
"env": {
"MIGRATE_OUTPUT_DIR": "ใส่ค่าของคุณ",
"N8N_URL": "ใส่ค่าของคุณ",
"N8N_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"migrate-to-n8n": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"migrate-to-n8n",
"serve"
],
"env": {
"MIGRATE_OUTPUT_DIR": "ใส่ค่าของคุณ",
"N8N_URL": "ใส่ค่าของคุณ",
"N8N_API_KEY": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
MIGRATE_OUTPUT_DIR envN8N_URL envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub kotiniiqq ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: N8N_API_KEY
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.2.0) เข้า registry 15 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, ChargingNear.me
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
U.S. EV charging stations: nearest, on a route, city and state stats, highway gaps and NEVI status.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Move your Make scenarios and Zapier zaps to n8n. Give it the export, get an n8n workflow you can import, plus a report on every step: what converted, what you should check, and how to finish the rest.
It works as an MCP server (ask Claude, Cursor, VS Code or any MCP client to "convert this to n8n") and as a plain command-line tool. Free and open source. Your scenarios stay on your computer.
Every step of your scenario ends up in one of three states, and the report lists them all:
| What it means | Example | |
|---|---|---|
| ✅ converted | Runs after import. You only reconnect credentials. | Webhook, HTTP request, router, iterator, Gmail send |
| ⚠️ review | Converted, with one named thing to check. | A formula with no exact n8n twin, a sheet written by column letter |
| 🛠 manual | No safe automatic equivalent. The step sits in place, disabled, with a sticky note that says what to do. | A private Make app: you get a Code node that already collects its inputs |
Nothing gets dropped. Manual steps keep the workflow connected, so it imports and runs while you finish them. This is the demo scenario after conversion, opened in n8n 2.44: the private CRM app has no n8n node, so its step waits disabled, with a note on what to do.
Formulas carry over too: {{formatDate(1.date; "DD.MM.YYYY")}} becomes {{ DateTime.fromISO(String($('Webhook').item.json.body.date)).toFormat('dd.LL.yyyy') }}.
Measured on 2026-10-22 on the public Make blueprints and Zapier exports found on GitHub:
| Source | Workflows | Steps | ✅ Converted | ⚠️ To review | 🛠 Manual | Broken outputs | Time (median) |
|---|---|---|---|---|---|---|---|
| Make | 1,432 | 10,129 | 42.7% | 40.5% | 16.7% | 0 | 0.7 ms |
| Zapier | 148 | 910 | 7% | 63.7% | 29.2% | 0 | 0.3 ms |
"Broken outputs" counts workflows that n8n would reject. The test suite also imports a sample of these workflows into real n8n 2.44 and 1.123, and runs some of them through their webhooks to compare the answers with Make. Many public Zapier exports come without step settings or code, which keeps the Zapier numbers lower.
You need Node.js 22 or newer.
npx migrate-to-n8n convert my-scenario.blueprint.json
The workflow and the report go to Documents/migrate-to-n8n. Import the .n8n.json file in n8n: Workflows → Import from File.
No export at hand? Try the demo scenario: download it and run the same command on it.
list_zaps (or migrate-to-n8n list-zaps ).Claude Desktop: download migrate-to-n8n.mcpb and open it. Claude Desktop installs it in one click. The settings are optional: an output folder, and your n8n address and API key if you want uploads.
Claude Code:
claude mcp add migrate-to-n8n -- npx -y migrate-to-n8n serve
Cursor, VS Code, Windsurf and other clients: add this to the client's MCP config (.cursor/mcp.json, .vscode/mcp.json, …):
{
"mcpServers": { "migrate-to-n8n": { "command": "npx", "args": ["-y", "migrate-to-n8n", "serve"], "env": { "N8N_URL": "", "N8N_API_KEY": "" } } } }
VS Code uses "servers" instead of "mcpServers".
Attach the file in the chat (or give its path) and ask:
Convert this Make scenario to n8n and help me finish what doesn't convert.
The assistant gets the report and walks you through every step marked ⚠️ or 🛠.
Import the .n8n.json file (Workflows → Import from File), pick your credentials in the nodes the report lists, point webhook senders to the new URL, run it once with test data, then activate it.
With N8N_URL and N8N_API_KEY set (n8n → Settings → n8n API), the assistant can upload the workflow for you. It creates a new, inactive workflow named "… (migrated)" and never touches existing ones.
| Tool | What it does |
|---|---|
convert_make | Make blueprint → n8n workflow file + report |
convert_zapier | Zapier export → one workflow file + report per zap |
list_zaps | The zaps in a Zapier export: title, steps, apps, on/off |
suggest_replacement | How one module or step is handled, and what to use instead |
supported_modules | Search what converts automatically |
check_n8n_workflow | Problems left in a workflow file: broken links, disabled steps, placeholders, credentials |
upload_to_n8n | Create the workflow in your n8n, inactive (only when N8N_URL and N8N_API_KEY are set) |
Flow control converts in full on both sides: routers and paths (every matching route runs, as in Make and Zapier), filters with AND/OR groups, iterators and aggregators, error handlers, schedules, variables, webhooks and responses, HTTP requests, JSON, Formatter, Code, Delay, Storage. About 50 Make formula functions, Make date formats, operators and 25 Zapier Formatter transforms translate to n8n expressions.
Make : 135 modules and steps convert automatically
| Module / step | Becomes in n8n |
|---|---|
*:makeApiCall | HTTP Request (the app's API) |
airtable:ActionCreateRecord | Airtable: Create |
airtable:ActionGetRecord | Airtable: Get |
airtable:ActionSearchRecords | Airtable: Search |
airtable:ActionUpdateRecords | Airtable: Update |
airtable:TriggerWatchRecords | Airtable Trigger |
anthropic-claude:createAMessage | Anthropic: Message a Model |
anthropic-claude:simpleTextPrompt | Anthropic: Message a Model |
apify:fetchDatasetItems | HTTP Request (Apify API) |
apify:finishedActorRuns | Webhook (Apify) |
apify:runActor | HTTP Request (Apify API) |
apify:runActorNew | HTTP Request (Apify API) |
builtin:BasicAggregator | Aggregate |
builtin:BasicFeeder | Split Out |
builtin:BasicFilter | No Operation |
builtin:BasicIterator | Split Out |
builtin:BasicRepeater | Code (repeat) |
builtin:BasicRouter | No Operation (fan-out) |
code:ExecuteCode | Code |
csv:ParseCSV | Code (parse CSV) + Split Out |
datastore:AddRecord | Data Table: Insert Row |
datastore:DeleteRecord | Data Table: Delete Rows |
datastore:ExistRecord | Data Table: If Row Exists |
datastore:GetRecord | Data Table: Get Rows |
datastore:SearchRecord | Data Table: Get Rows |
datastore:UpdateRecord | Data Table: Update / Upsert |
discord:createMessage | Discord: Send Message |
dropbox:createShareLink | HTTP Request (Dropbox API) |
dropbox:uploadLargeFile | Dropbox: Upload |
email:ActionSendEmail | Send Email (SMTP) |
email:TriggerNewEmail | Email Trigger (IMAP) |
facebook-pages:CreatePost | Facebook Graph API: Page Post |
facebook-pages:CreatePostWithPhotos | Facebook Graph API: Page Photo Post |
gateway:CustomWebHook | Webhook |
gateway:WebhookRespond | Respond to Webhook |
gemini-ai:createACompletionGeminiPro | Google Gemini: Message a Model |
gmail:ActionSendEmail | Gmail: Send |
gmail:sendAnEmail | Gmail: Send |
gmail:TriggerNewEmail | Gmail Trigger |
google-calendar:createAnEvent | Google Calendar: Create Event |
google-calendar:deleteAnEvent | Google Calendar: Delete Event |
google-calendar:searchEvents | Google Calendar: Get Many Events |
google-docs:createADocument | Google Docs: Create |
google-docs:createADocumentFromTemplate | Google Drive: Copy (template) |
google-docs:getADocument | Google Docs: Get |
google-drive:createAFolder | Google Drive: Create Folder |
google-drive:getAFile | Google Drive: Download |
google-drive:moveAFileIntoAFolder | Google Drive: Move |
google-drive:searchForFilesFolders | Google Drive: Search |
google-drive:shareAFileFolder | Google Drive: Share |
google-drive:uploadAFile | Google Drive: Upload |
google-drive:watchFilesInAFolder | Google Drive Trigger |
google-email:ActionCreateDraft | Gmail: Create Draft |
google-email:ActionSendEmail | Gmail: Send |
google-email:createADraft | Gmail: Create Draft |
google-email:sendAnEmail | Gmail: Send |
google-email:TriggerNewEmail | Gmail Trigger |
google-email:TriggerWatchEmails | Gmail Trigger |
google-email:triggerWatchNewEmails | Gmail Trigger |
google-sheets:addRow | Google Sheets: Append Row |
| `perplexity-ai:createAC
ตัดมาแค่ช่วงต้น อ่านต่อใน repo