Construction, Not Recovery
What I built instead of getting better.
Essay 04, Construction, Not Recovery
Jun 2026 MCP · Stack · Workflow ~1,000 words

The MCPs That Earned Their Keep

I've connected over a hundred MCPs. Three ran last month. The other ninety-seven showed me what it takes for one to become a daily driver.

The number in my bio is 244. That's the claude-code-plugins-plus catalog, a GitHub repository of Claude Code plugins I built for distribution. It's a product I ship. It says nothing about what I run.

The number currently connected and authorized in claude.ai is somewhere over a hundred. Connected means I approved the OAuth handshake at some point and haven't revoked it. The list doesn't get shorter when I stop using something. There's no churn signal.

100+
MCPs connected
~30
Mastered, active
3
Called, last 30 days

Catalogued Is Not Called

A tool archaeology I ran in April 2026 verified every platform in the stack and landed on roughly thirty tools mastered and active at any time. Thirty, against a hundred connected and 244 in the catalog. That number came from counting what I reached for without thinking, not what I'd technically authorized.

The gap between connected and mastered is the gap between "I can access this" and "I reach for it when the task comes up." A hundred-plus MCPs are connected because connecting is cheap. Find a relevant server, click authorize, it goes in the list. That's thirty seconds and a decision I haven't revisited.

A daily driver sits in the path of a task that keeps coming back.

The April archaeology also surfaced the pattern that explains the thirty-to-three gap: most of the connected tools have a use case, but not a recurring use case. Supabase is in the active stack. I work in it weekly. But I reach it via dashboard and direct API, the MCP surface hasn't found a task that needs it yet.

Three Got Called

In the last thirty days, three MCPs were called in production sessions and produced something real. The rest produced OAuth records.

What ran, last 30 days
Base44
create_entities · query_entities · update_entity_schema · list_entity_schemas · custom domain setup
Make
hooks_create · organizations_list · scenarios_list · (scenarios_create blocked by scope, fixed in session)
HubSpot
search_crm_objects · get_organization_details

Base44 first. Every session involving a production app went through this MCP. SparkAcademy, Involuer, the AI Setup Audit tool, Velo, create entities, query records, update schemas, manage custom domains. Four or more sessions in the window, multiple calls per session. This is the app layer. No other MCP in the connected list touches more of the actual product.

Make second. One week old. Two live webhooks created in the first session: the lead capture automation for audit.abstrekkt.com and the newsletter trigger for this series. The Make MCP had a scope issue during setup, scenarios_create came back "No approval received." It said why and where to fix it. Fixed in ten minutes. One week in and it already has two artifacts pointing to its endpoints.

HubSpot third. One session. Called search_crm_objects, got back real data, four contacts, three deals. Did what it was called for. One session doesn't make a daily driver. It worked on the first call, which is a lower bar than the other two met.

The One That Was Supposed to Run the Stack

n8n MCP.

This was the expected automation control plane. Sixty-five workflows in the instance. The MCP was supposed to mean: list what's running, check execution counts, build new scenarios from a conversation. That was the plan going in.

The control plane for my automation layer was the one piece I couldn't see into.

Throughout every session in the thirty-day window, n8n MCP returned CONNECTION_ISSUE. Not an auth error with a specific fix. CONNECTION_ISSUE. No scenarios_create. No scenarios_get. No connections_list. The MCP designed to introspect and manage the automation layer couldn't be introspected itself.

The migration audit that led to moving from n8n to Make, sixty-five workflows parsed, nine kept, thirty-eight archived, was executed via a Python script against exported JSON files.

n8n is capable automation software. This is about its MCP connector during one window. That line gets hard to hold when the only way I reach a tool is through a control surface that doesn't work. Part of why I moved to Make is that its MCP worked and n8n's didn't.

What Earns the Status

The pattern across the three that ran: each is in the direct path of a high-frequency task.

Base44 sits in the path of every production app session. There's no session involving a client-facing app that doesn't need entity operations. When the task happens every time you open Claude, the MCP calls happen automatically. Make sits in the path of the active automation work, live webhooks for current client pipelines. HubSpot sits in the path of the sales cycle.

The ninety-seven-plus connected but never called MCPs aren't bad tools. Most of them probably work fine. What they don't have is a high-frequency task they sit in the path of. The alignment between tool and recurring task is what generates calls. Without that alignment, the OAuth record just sits there, looking like a capability.

Connecting a tool doesn't make it a daily driver. Being reached for does: when the task comes up, not once, and not because nothing else was available. Three times a week. Automatically. Before you've thought about it.

A hundred-plus connected, three ran. That gap is the load test.

Claims

[SOURCED] 244 = claude-code-plugins-plus GitHub catalog, tool-archaeology-apr2026-FINAL.md; confirmed as a product built for distribution, not personal active MCP count.

[SOURCED] "~30 mastered and active at any time", tool-archaeology-apr2026-comprehensive.md + tool-ecosystem-map.jsx + PROJECT_STATE.md; all three documents consistent on this figure from April 2026 audit.

[SOURCED] Base44 MCP called in 4+ sessions in the 30-day window, verified from recent chat summaries: SparkAcademy session (create/query entities), Business plan audit (full 7-app schema audit), Invelo audit (update_entity_schema, list_entity_schemas), EmailtoHo (custom domain setup).

[SOURCED] Make MCP: two live webhooks created, FF Audit Lead Capture and this series' newsletter trigger, verified from Content creation pipelines session. scenarios_create scope issue and fix documented in same session.

[SOURCED] HubSpot MCP: one session, search_crm_objects and get_organization_details called, real CRM data returned, verified from Content creation pipelines session.

[SOURCED] n8n MCP CONNECTION_ISSUE throughout, documented explicitly in Content creation pipelines session tool knowledge notes; scenarios_create, scenarios_get, connections_list all failed.

[GENERATED] "100+ MCPs currently connected", from the MCP list visible in this session's system prompt; reflects authorized connections at a point in time, not a stable or audited figure. Treat as approximate.

[GENERATED] "Daily driver status is about path-of-task alignment", synthesized from observed pattern across the three that ran; not an external framework or published model.

[GENERATED] HubSpot framed as "earned keep", one session is a low bar. The essay acknowledges this distinction explicitly. The honest claim is "worked on first call," not "daily driver."

Gaps

• The April 2026 ~30 mastered figure is two months old. The n8n-to-Make migration and other stack changes since then mean the current active count may differ. Directionally right, not re-audited for this essay.

• "3 called in production" comes from 20 recent chat summaries. Some MCP calls may not be captured in session summaries, the actual count could be slightly higher. I don't have instrumented MCP call logs.

• The 97+ dark MCPs include tools used actively in the stack via non-MCP surfaces. Supabase and Vercel are used daily via dashboard and direct API. "Not called via MCP" is not the same as "not in the stack." The essay draws this distinction; the gap section makes it explicit.

• n8n's CONNECTION_ISSUE may be a fixable token scope problem rather than a structural failure. The essay doesn't diagnose the root cause, it documents the observable state during the window.

• The claude-code-plugins-plus 244 catalog deserves its own essay. This essay clarifies what it's not; what it actually is, a distribution catalog of community Claude Code plugins, is a separate story.