Source: wiki synthesis: printing-press-cli-factory, meta-ads-cli, voice-agents-elevenlabs-claude-code, railway-remote-mcp, ant-cli, shopify-review-scraper, higgsfield-mcp-ad-campaigns-tutorial, GoHighLevel MCP integration, n8n-vs-claude-code, n8n-voice-agents

Across six topic folders, the wiki’s 2026 ingests keep landing on the same architectural choice: when you need an agent to do something to a SaaS product, point it at the vendor’s surface directly — a vendor CLI, a vendor MCP server, or a connector Claude builds against the API — instead of threading the work through general-purpose automation middleware (n8n / Zapier / Make / Apify). No single article argues the thesis; it emerges across nine of them. This page collects that recurring choice into one decision rule, and marks where the middleware is still the right answer.

Key Takeaways

  • It’s one shift seen from two sides. Demand side: operators drop n8n/Zapier the moment a direct call exists — “too many pieces” (ElevenLabs → Cal.com). Supply side: vendors now ship CLIs and MCP servers designed for agent invocation (Meta, Railway, Anthropic’s [[claude-ai/ant-cli|ant]], GoHighLevel). The two reinforce each other — the supply side is what makes the demand-side bypass possible. ^[inferred — synthesis across the cluster]
  • Token economics are the load-bearing argument. Printing Press measures it: an MCP server burns ~35× more tokens than a CLI for the same task, and task reliability drops 100% → 72% going CLI → MCP; TinyFish independently reports ~87% token reduction + 2× completion moving agent-native-CLI. Every middleware hop is a layer the model pays for on each call.
  • The strongest verbatim case is GoHighLevel: “No middleware. Direct connection from Claude Code to GHL. No Zapier, no Make, no n8n relay.” — the cleanest articulation of the demand-side rule.
  • A self-hosted variant covers the no-API case. When the vendor exposes no usable API (Shopify has no product-review API), a thin tool you own (Node + Playwright, POST /api/scrape) beats a paid middleware actor — “zero marginal cost, you own the data flow.”
  • Middleware is not dead — it moved down the stack. n8n still wins for deterministic, scheduled, multi-branch, multi-vendor, observability-heavy, or non-coder-owned automations (n8n-vs-claude-code): “n8n is not dead; it has become the foundation, and Claude Code is the new top of the stack.”

The pattern — three vendor-direct surfaces (+ one variant)

SurfaceWhat it isInstances
Vendor CLIThe vendor ships a command surface built for agents + CI/CD; the agent shells out — no per-team wrappermeta ads … (meta-ads-cli); Anthropic’s ant for the Platform API (ant-cli); the generated Go CLIs from Printing Press
Vendor MCPThe vendor ships an MCP server; Claude connects straight to product data/actionsRailway Remote MCP; Higgsfield MCP; GoHighLevel MCP
Agent-built connectorNo native surface, so you have Claude read the API docs and build a custom MCP/connector”Ask Claude to build a GSC MCP” (Cowork Live Artifacts) ^[partial fit — the same dashboard still uses Apify for one scraping job]
Self-hosted-direct (variant)No usable API at all → a tiny scraper/tool you run and ownShopify review scraper (replaces a paid Apify actor)

Honest scoping: the cluster splits along two axes. Some instances are explicitly anti-middleware (GHL, ElevenLabs, the self-hosted scraper). Others — Meta CLI, ant, Railway MCP — are agent-native vendor tooling that fits the pattern’s spirit (official direct surface, no wrapper tax) without framing against n8n by name. The connection is that both axes are the same shift: vendors ship agent-native surfaces, so the middleware layer becomes optional. ^[inferred]

Why vendor-direct wins (when it does)

  • Fewer hops = lower latency + fewer breakage points. Each middleware node is a failure point and a round-trip (voice-agents-elevenlabs-claude-code).
  • Token cost. Middleware/MCP layers inflate the context the model pays for on every call; CLI is the cheapest surface — “APIs are built for code, MCP is built for tools, CLIs are built for agents” (printing-press-cli-factory).
  • No wrapper tax. Without a vendor surface, every team rewrites the same auth + pagination + output glue; a shipped CLI/MCP deletes that work (meta-ads-cli, railway-remote-mcp).
  • Ownership + zero marginal cost for the self-hosted variant — no actor-minute billing, no vendor between you and the data (shopify-review-scraper).

When middleware still wins (keep n8n)

From n8n-vs-claude-code — choose or keep orchestration middleware when any of these hold:

  1. The 10-minute rule — a handful of nodes already does the job.
  2. Deterministic + scheduled/repeatable — cron triggers, native webhooks, “if new row in Sheet → send Slack.”
  3. A non-coder owns it long-term — the visual canvas stays legible to ops and runs on a $10/mo VPS forever.
  4. You need 400+ pre-built integrations now — and don’t want to build each direct tool.
  5. Observability is a requirement — n8n’s execution log shows every node’s input/output per run; a code agent must build that layer separately (Trigger.dev / Sentry / custom).
  6. It already runs — don’t migrate working automations for purity’s sake.

n8n-voice-agents is the canonical instance where orchestration earns its place: an async-polling, multi-branch, structured-output voice pipeline (Vapi POST /call → polling loop → voicemail/validity branches → structured write to Google Sheets) — a state machine the orchestration layer holds together.

The decision rule

Walk it top-down; stop at the first match: ^[inferred — composes Printing Press’s CLI > API > MCP tree with the n8n conditions above]

  1. Deterministic, scheduled, multi-vendor, non-coder-owned, or already running in n8n? → keep the middleware.
  2. Does the vendor ship a CLI? → use the CLI (most agent-native, lowest token cost).
  3. Does the vendor ship an MCP, or a clean REST API? → use the vendor MCP, or generate a CLI from the spec with Printing Press, else call the API directly.
  4. No usable API at all? → a self-hosted thin tool you own, or have Claude build the connector.

Try It

  • Next time a tutorial proposes Vendor → n8n → Vendor, check the vendor’s docs for a CLI or MCP first — the direct path is often a single tool definition.
  • For a vendor with only a REST API, point Printing Press at the spec (or a HAR file) to mint an agent-native CLI + Claude Code skill in one pass.
  • Keep a deterministic, observable n8n automation if you already have one — put Claude Code on top as the orchestration brain, per the “n8n is the foundation” framing, rather than ripping it out.

Open Questions

  • The headline efficiency figures (MCP ~35× a CLI; 100% → 72% reliability; TinyFish 87% / 2×) are creator- and vendor-reported, not independently benchmarked across a vendor set. Treat as directional. ^[flagged]
  • The pattern is documented mostly on operator/developer tutorials; no controlled study yet measures direct-vs-middleware reliability or cost at scale.