The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Blinkbox listing page.
Open-source automation platform (Zapier / Make / n8n alternative) with a native MCP server — connect Claude Code, Cursor or ChatGPT and let the agent build, run and debug your workflows.
Free hosted tier at blinkbox.net (no card) · self-host with Node 22 + MongoDB + Redis · MIT.
SKILL.md that teaches the agent node fields, expression syntax and execution rules, so a working flow takes ~4 tool calls instead of ~12 of guessingSign up at blinkbox.net → Dashboard → MCP → create an API key.
Add the server to your client:
Clients that can't send headers can pass the key in the URL instead: https://mcp.blinkbox.net/mcp?key=<your key>.
(Recommended) install the skill so the agent knows the node catalog and expression syntax:
Ask for what you want:
"Every morning at 8, find dentists in Berlin on OpenStreetMap that list a website, email and phone, dedupe against my Google Sheet and append the new ones."
The agent calls create_automation, runs it with run_automation, reads get_execution_logs when something fails, and activate_automation when it's green. OAuth apps (Google, Slack, Notion…) are connected once by you in the dashboard — the agent never sees your tokens.
Tools: list_automations · get_automation · create_automation · run_automation · activate_automation · deactivate_automation · rename_automation · delete_automation · list_executions · get_execution · get_execution_logs · list_nodes · get_node · list_node_actions · list_credentials · create_credential · blinkbox_api_get · blinkbox_api
Self-hosting? The same server is at <your backend>/api/mcp — create keys in your own dashboard.
| Layer | Tech |
|---|---|
| Frontend | React 18 + Vite + Tailwind CSS + ReactFlow |
| Backend | Node.js + Express + MongoDB Atlas + Redis |
| AI | Anthropic Claude (primary) → Groq → Gemini (fallback) |
| Scraping | Puppeteer + Chromium |
| Execution | Cursor-based distributed engine, 4 worker cells |
| Deployment | Railway (nixpacks) |
Edit apps/backend/.env — at minimum you need:
Open http://localhost:5174.
| Variable | Description |
|---|---|
MONGODB_URI | MongoDB connection string |
REDIS_URL | Redis connection string |
JWT_SECRET | ≥ 32 chars, any random string |
ENCRYPTION_KEY | Exactly 32 chars — used for credential vault AES encryption |
| Variable | Description |
|---|---|
ANTHROPIC_API_KEY | Enables the AI workflow builder (Claude) used by the create_automation MCP tool |
GROQ_API_KEY | Fallback LLM (Llama 3.3 70B) |
GOOGLE_AI_KEY | Fallback LLM (Gemini 2.0 Flash) |
| Variable | Description |
|---|---|
GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET | Gmail, Drive, Calendar OAuth |
SLACK_CLIENT_ID / SLACK_CLIENT_SECRET | Slack OAuth |
GITHUB_CLIENT_ID / GITHUB_CLIENT_SECRET | GitHub OAuth |
MICROSOFT_CLIENT_ID / MICROSOFT_CLIENT_SECRET | Microsoft 365 OAuth |
NOTION_CLIENT_ID / NOTION_CLIENT_SECRET | Notion OAuth |
AIRTABLE_CLIENT_ID / AIRTABLE_CLIENT_SECRET | Airtable OAuth |
| Variable | Description |
|---|---|
BACKEND_PUBLIC_URL | Public-facing backend URL (e.g. https://api.blinkbox.net) — required for OAuth callbacks |
FRONTEND_URL | Frontend URL for CORS allowlist |
PORT | Backend port (default: 3000) |
Workflows run as cursor-based state machines. Each execution is a MongoDB document with a cursor array. Workers claim cursors atomically via arrayFilters, run the node handler, advance the cursor, and release. Redis queues decouple trigger fan-out from execution. A resumer process recovers crashed executions every 5 seconds.
Every integration is a node with two halves:
nodeRegistry.js) — config panel, icon, label, categorynodes/) — stateless handler async (config, context) => resultThe same backendType key connects both sides. 250+ nodes are registered.
create_automation (the MCP tool) hands your description to a server-side builder:
"When a new Stripe payment comes in, look up the customer in HubSpot, and send a Slack alert to #revenue"
The builder calls Claude with the node knowledge base and forced tool use, and returns a fully configured, canvas-correct workflow — real field values, variable chaining ({{trigger.data.from}}), node positions — as a draft you can run, inspect and activate from the agent or the UI.
Provider fallback chain: Anthropic → Groq → Gemini
isolated-vm)ENABLE_SHELL_TOOLS=true (off by default)BACKEND_PUBLIC_URL to your Railway backend URLThe nixpacks.toml in apps/backend/ installs Chromium and all native deps automatically.
MIT