ahel is live on Product Hunt today. Upvote

BlinkBox

MCP serverDev tools

Open-source Zapier/n8n alternative as an MCP server: agents build, run and debug your workflows.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use BlinkBox

From the project's README

As published by blinkboxhq/Blinkbox in README.md.

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.


What it does

  • MCP server — the whole platform is exposed over the Model Context Protocol (Streamable HTTP). Your coding agent lists, creates, runs, activates and debugs workflows with tool calls — see Use it from Claude Code
  • Agent skill — a 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 guessing
  • Drag-and-drop canvas — everything the agent builds is a normal workflow you can open and edit visually
  • AI Agents — LLM nodes that reason over data and output structured results
  • Headless scraping — full Chromium pool, defeats anti-bot, renders JavaScript
  • Code sandbox — write JavaScript in an isolated V8 sandbox with memory limits
  • 250+ integrations — Gmail, Slack, Stripe, GitHub, Notion, Airtable, Shopify, and more
  • Encrypted credential vault — AES-256-GCM; secrets never leave the server decrypted

Use it from Claude Code, Cursor or ChatGPT (60 seconds)

  1. Sign up at blinkbox.netDashboard → MCP → create an API key.

  2. Add the server to your client:

    # Claude Code
    claude mcp add --transport http blinkbox https://mcp.blinkbox.net/mcp \
      --header "Authorization: Bearer <your key>"
    
    // Cursor / Claude Desktop / any client that takes a JSON config
    {
      "mcpServers": {
        "blinkbox": {
          "url": "https://mcp.blinkbox.net/mcp",
          "headers": { "Authorization": "Bearer <your key>" }
        }
      }
    }
    

    Clients that can't send headers can pass the key in the URL instead: https://mcp.blinkbox.net/mcp?key=<your key>.

  3. (Recommended) install the skill so the agent knows the node catalog and expression syntax:

    mkdir -p ~/.claude/skills/blinkbox && curl -fsSL \
      https://raw.githubusercontent.com/blinkboxhq/Blinkbox/main/.claude/skills/blinkbox/SKILL.md \
      -o ~/.claude/skills/blinkbox/SKILL.md
    
  4. 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.


Stack

LayerTech
FrontendReact 18 + Vite + Tailwind CSS + ReactFlow
BackendNode.js + Express + MongoDB Atlas + Redis
AIAnthropic Claude (primary) → Groq → Gemini (fallback)
ScrapingPuppeteer + Chromium
ExecutionCursor-based distributed engine, 4 worker cells
DeploymentRailway (nixpacks)

Local setup

Prerequisites

  • Node.js ≥ 22
  • MongoDB Atlas cluster (or local MongoDB)
  • Redis (local or Upstash)

1. Clone

git clone https://github.com/blinkboxhq/Blinkbox.git
cd Blinkbox
npm install

2. Configure environment

cp apps/backend/.env.example apps/backend/.env

Edit apps/backend/.env — at minimum you need:

MONGODB_URI=mongodb+srv://...
REDIS_URL=redis://localhost:6379
JWT_SECRET=your-32-char-secret
ENCRYPTION_KEY=your-exactly-32-char-key
ANTHROPIC_API_KEY=sk-ant-...          # enables the AI workflow builder behind create_automation

3. Run

# Terminal 1 — backend (port 3000)
cd apps/backend && npm run dev

# Terminal 2 — frontend (port 5174)
cd apps/frontend && npm run dev

Open http://localhost:5174.


Environment variables

Required

VariableDescription
MONGODB_URIMongoDB connection string
REDIS_URLRedis connection string
JWT_SECRET≥ 32 chars, any random string
ENCRYPTION_KEYExactly 32 chars — used for credential vault AES encryption

AI (at least one recommended)

VariableDescription
ANTHROPIC_API_KEYEnables the AI workflow builder (Claude) used by the create_automation MCP tool
GROQ_API_KEYFallback LLM (Llama 3.3 70B)
GOOGLE_AI_KEYFallback LLM (Gemini 2.0 Flash)

OAuth integrations (optional)

VariableDescription
GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRETGmail, Drive, Calendar OAuth
SLACK_CLIENT_ID / SLACK_CLIENT_SECRETSlack OAuth
GITHUB_CLIENT_ID / GITHUB_CLIENT_SECRETGitHub OAuth
MICROSOFT_CLIENT_ID / MICROSOFT_CLIENT_SECRETMicrosoft 365 OAuth
NOTION_CLIENT_ID / NOTION_CLIENT_SECRETNotion OAuth
AIRTABLE_CLIENT_ID / AIRTABLE_CLIENT_SECRETAirtable OAuth

Deployment

VariableDescription
BACKEND_PUBLIC_URLPublic-facing backend URL (e.g. https://api.blinkbox.net) — required for OAuth callbacks
FRONTEND_URLFrontend URL for CORS allowlist
PORTBackend port (default: 3000)

Architecture

┌─────────────────────────────────────────────────────┐
│                    Frontend (Vite)                  │
│  Dashboard · Workspace Canvas · MCP keys            │
└───────────────────────┬─────────────────────────────┘
                        │ REST API
┌───────────────────────▼─────────────────────────────┐
│                Backend (Express)                    │
│  Auth · Automations · Executions · Credentials      │
│  MCP server · AI builder · OAuth · Webhooks         │
└──────────┬──────────────────┬───────────────────────┘
           │                  │
    ┌──────▼──────┐    ┌──────▼──────┐
    │  MongoDB    │    │    Redis    │
    │  Atlas      │    │   Queues   │
    └─────────────┘    └──────┬──────┘
                              │
                    ┌─────────▼───────────┐
                    │  Execution Workers  │
                    │  (4 cursor cells)   │
                    │  Chromium pool      │
                    └─────────────────────┘

Execution engine

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.

Node system

Every integration is a node with two halves:

  • Frontend (nodeRegistry.js) — config panel, icon, label, category
  • Backend (nodes/) — stateless handler async (config, context) => result

The same backendType key connects both sides. 250+ nodes are registered.


AI workflow builder

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


Security

  • JWT auth on all API routes, workspace-scoped queries
  • AES-256-GCM credential encryption (key never stored in DB)
  • SSRF guard on all outbound HTTP requests
  • Code sandbox: isolated V8 with memory/time limits (isolated-vm)
  • Shell tool nodes gated behind ENABLE_SHELL_TOOLS=true (off by default)
  • OAuth state tokens (CSRF protection), postMessage to explicit origins only
  • Rate limiting on webhook triggers (Redis-backed, survives restarts)

Deployment on Railway

  1. Create a Railway project, add the repo
  2. Set all required env vars in Railway dashboard
  3. Set BACKEND_PUBLIC_URL to your Railway backend URL
  4. Register that URL as an OAuth redirect URI in Google Cloud Console (if using Gmail)

The nixpacks.toml in apps/backend/ installs Chromium and all native deps automatically.


License

MIT

Advanced
Delivery
blinkbox MCP server → your ahel gateway (mcp.ahel.ai) → every connected AI client.
Catalog kind
mcp-server
Gateway key
io-github-blinkboxhq-blinkbox
Source
github.com/blinkboxhq/Blinkbox
Hosted endpoint
https://mcp.blinkbox.net/mcp