← All sessionsHomeSearch
C7 EST | 14 Day AI Sprint·Day 12 | Office Hours + Advanced MCPs & workflow·4:48:00

Day 12: MCP Ultra-Hard Mode — Editing the Config Safely, Building Your Own MCP Server in n8n, Opal, Cross-LLM Memory, and an Early Look at Claude Cowork

Dileep Day mentor (Days 5, 8) - manual MCP config, custom MCP server via Gamma API + n8n, Opal, Super Memory, Claude Cowork and Claude Code demos · Harshad Office-hours mentor - free n8n templates (harshad.com/n8n as heard), scheduled/randomized triggers, Vapi vs Retell, agency client acquisition · Samriddhi Office-hours co-mentor - LMS and logistics questions · Uthappa Host - recap of 12 days, roadmap for the final 3 + bonus days, workbook briefing

The short version

  1. The MCP ladder completes: easy (web connectors), medium (Desktop + Node, ~30), hard (Smithery, ~3,000), ULTRA HARD - hand-editing claude_desktop_config.json to reach 'seventeen thousand four hundred thirty-three MCP servers and counting' on mcp.so, and the only route to a server you build yourself. Rule: 'never try to edit the MCP server yourself' - paste old config + new server block into an LLM and ask it to merge; vet servers by GitHub stars and forks (thousands good, tens risky).
  2. Build your own MCP server with no code: the only requirement is that 'the tool needs to have the API.' Feed the API docs to Claude, ask for the request in cURL, drop an MCP Server Trigger in n8n, add an HTTP Request tool via Import cURL, mark the runtime fields 'let the model define', Publish, paste the production URL into the Claude config, restart. Live: a Gamma slide-deck server generating a real 'WEF Davos 2026' presentation from a Claude chat. Workbook: the same recipe with a Gmail server.
  3. Opal (Google Labs) turns an English description into a node-based mini-app (Stock Analyzer, Trigonometry Tutor with Nano Banana Pro images) - behind a VPN, and 'not something that you can build for clients': n=1 internal POCs only.
  4. Memory lock-in is a strategy problem: ChatGPT's memory makes switching costly. Answer: a provider-agnostic memory layer via MCP - Super Memory or mem0 - for small discrete preferences (INFJ, vegetable biryani, Death Note -> new chat recommends Monster and Psycho-Pass). 'RAG is a database... I'm talking about usable, reusable memory.'
  5. Claude Cowork (a week old, Mac, Max plan): an agent over local folders - it asked clarifying questions, then organized a Downloads folder and summarized a podcast transcript. Claude Code replicated a Remotion tutorial from a URL with zero coding, but 'Claude Code is the last thing you should try' as a beginner.
  6. Office hour: Ollama models need no API key - paste the local URL into n8n; best RAG file formats are .md/.txt/.json; embed an n8n chatbot on a site via Webhook + Respond to Webhook; randomize scheduled triggers by having Claude add a random-delay node to the workflow JSON; n8n has an 'evaluations' feature for pre-production QA.

The concepts

01

Ultra hard mode: the config file, the LLM merge rule, and star/fork trust

One misplaced comma and Claude Desktop stops loading every server you own. So you never type in that file - you let a model merge it.

claude_desktop_config.json is a list of installed servers, each with a name and a run command in a syntax 'Node.js can understand' (npx). Reached via Settings > Developer > Edit Config. It is the gateway to mcp.so's 17,433 servers and to any server you build. The safety rule for non-developers: paste the current config and the new server's snippet into Perplexity/ChatGPT/Claude/Gemini, ask it to merge, paste the result back, save, restart Claude, test. Vetting: 'visit server' -> GitHub stars and forks - Firecrawl's 5,300 stars / 588 forks is trusted; 5-10 is a risk; some servers also need API keys from the tool's own site. Demo installed MCP Advisor, a server that recommends other servers.

Why it matters

Paul already lives in this file for Desktop Commander and friends; the merge-by-LLM rule is the one that prevents the outage.

Go deeper

In one line: Manual config editing = access to every MCP server incl. your own; merge configs with an LLM, never by hand; trust by stars/forks; restart after saving.

Four tiers: easy / medium (~30) / hard (Smithery ~3,000) / ultra hard (mcp.so 17,433+) (l3186070 0:35-0:37)

Settings > Developer > Edit Config opens claude_desktop_config.json (l3186070 0:46-0:47)

Never hand-edit; LLM merges old + new config (l3186070 0:58)

Vet by GitHub stars/forks via 'visit server' (l3186070 0:56)

Recipe: pick server -> copy config -> check trust -> merge -> paste -> save -> restart -> test (l3186070 1:01)

▶ Watch this taught:

02

Build your own MCP server in n8n from any API (the Gamma deck demo)

how-to

'My tool has no MCP server yet.' If it has an API, it does now - in about fifteen minutes and zero code.

Requirement: public API documentation. Steps: open the docs (Gamma's developer page - use its 'Ask AI' / 'copy markdown' / Claude shortcut), ask Claude for the request in cURL for the task ('generate a PPT with input text, preserve text mode'). In n8n: new workflow, MCP Server Trigger node as entry point; add an HTTP Request node as a tool and Import cURL (headers and params fill in); for anything the AI should decide at runtime choose 'let the model define'; rename the tool descriptively ('Create PPT'); Publish; copy the production URL; paste it into the server command line of the Claude config (replacing the placeholder); restart Claude Desktop - the tool appears in the connector list. Live: Claude drafted a 'WEF Davos 2026 AI discussions' outline and called the new tool; the deck appeared in Gamma. Generalizes to CRMs and anything else with docs (a 'Hagen'/HighLevel-type CRM is named). The workbook repeats the recipe with a free Gmail server; breakout fixes: disable VPN, re-auth Gmail, reboot Claude Desktop.

Do it in this order
Why it matters

This is how Paul can expose any client system (or his own n8n workflows) to Claude as a tool without waiting for a vendor.

Your own MCP server with no code (Day 12): API docs -> n8n -> Claude API DOCS e.g. Gamma LLM writes cURL for your task n8n MCP Server Trigger + HTTP Request tool Import cURL "let the model define" PUBLISH copy production URL claude_desktop_config.json (Settings > Developer > Edit Config) paste the URL as the server command - let an LLM merge the JSON - restart Claude Only requirement: the tool has an API workbook: Gmail server Vet third-party servers by GitHub stars/forks (thousands good, tens risky); never hand-edit the config Same recipe exposes any n8n workflow to Lovable via its n8n connector (Day 13)
Day 12's no-code MCP server: API docs become a cURL, the cURL becomes an n8n HTTP Request tool behind an MCP Server Trigger, and the published URL becomes a Claude connector.
Go deeper

In one line: API docs -> LLM writes cURL -> n8n MCP Server Trigger + HTTP Request tool (Import cURL, model-defined fields) -> Publish -> production URL in Claude config -> restart.

Only hard requirement: the tool exposes an API (l3186070 1:03, 1:25)

Full recipe from docs to Claude connector (l3186070 1:17-1:19)

Live Gamma deck generated from a Claude prompt (l3186070 1:04-1:22)

Generalizes to CRMs and other API-documented tools (l3186070 1:19-1:24)

Workbook: same pattern with Gmail; fixes - VPN off, re-auth, restart (l3186070 2:12-2:15, 3:47-3:48)

▶ Watch this taught:

03

Opal: describe a mini-app, get a node graph - for yourself only

It built a stock analyzer and a trigonometry tutor from two paragraphs. It will not let you give either to a client.

Google Labs' Opal turns a plain-English description into a visual multi-step AI workflow (inputs -> prompt template -> research/extraction -> scoring -> output). Geo-restricted: Urban VPN, NordVPN or similar set to US/Europe/UK/India. Best practice: draft an elaborate prompt in ChatGPT/Claude/Gemini with web search on, then paste into 'create new.' Demo 1: Stock Analyzer - symbol, exchange, horizon, risk tolerance, currency, sector benchmark -> fundamental-health, valuation and profitability scores -> buy/hold/sell with citations. Demo 2: a Trigonometry Tutor for a 7-10 year old with a Nano Banana Pro image and an auto-generated concept video. Limit stated plainly: 'it is not something that you can build for clients' - not deployable outside Opal, 'n equal to 1' POC tooling; Claude can replicate the same logic as a shareable artifact.

Why it matters

A fast way to prototype a workflow's logic before committing it to n8n - and a reminder to check deployability before falling in love with a tool.

Go deeper

In one line: Opal = Google Labs experimental no-code app builder; English -> node workflow; VPN-gated; internal POCs only, no external deployment.

Description -> visual multi-step workflow (l3186070 0:15-0:16)

Geo-restricted; VPN to US/Europe/UK/India (l3186070 0:17)

Draft the prompt in an LLM with web search first (l3186070 0:18-0:20)

Stock Analyzer and Trigonometry Tutor demos (l3186070 0:24-0:34)

Not deployable to clients; n=1 POCs (l3186070 0:29-0:32)

▶ Watch this taught:

04

Memory lock-in and the provider-agnostic fix: Super Memory, mem0, Pieces

Every fact ChatGPT remembers about you is a reason not to leave ChatGPT. Own the memory, and the models become interchangeable.

Framing: vendor memory creates switching costs (the aisle-seat example - an agent booking flights should know your preference wherever it runs). Fix: a third-party memory layer connected to each LLM via MCP; named for their security guarantees - Super Memory and mem0. Demo: sign in with Google, generate an API key, add the Super Memory MCP server to the Claude config, tell Claude to store facts (name, INFJ, favourite food vegetable biryani, anime tastes incl. Death Note). New chat, no context: 'recommend anime' -> Monster and Psycho-Pass, reasoned from the stored preference. Boundaries: small discrete facts, not bulk documents - 'RAG is a database... I'm talking about usable, reusable memory... a very personal database.' Pieces goes further: an OS-level layer recording every action and coding session locally, 'your own private Internet', 16 GB RAM minimum - it crashed his machine, so no demo.

Why it matters

This is the memory half of the second-brain architecture Harshit sketched for Paul in Catalyst OH XII.

Go deeper

In one line: Provider-agnostic memory (Super Memory, mem0) via MCP stores small personal facts usable across LLMs; distinct from RAG; Pieces = local OS-level memory.

Vendor memory = lock-in; third-party memory via MCP is the escape (l3186070 1:26-1:31)

Super Memory and mem0 named for security guarantees (l3186070 1:31)

Demo: store facts -> new chat recalls and reasons (Monster, Psycho-Pass) (l3186070 1:32-1:39)

Facts, not documents; not RAG (l3186070 1:30-1:31)

Pieces: local OS-level memory, 16 GB RAM, crashed during testing (l3186070 1:41-1:42)

▶ Watch this taught:

05

Claude Cowork over local folders, and Claude Code as tutorial-replicator

It asked whether to delete the installers before touching a single file. That question is the whole difference between an agent and a script.

Cowork: a tab beside chat in Claude Desktop, Mac-only research preview on the Max plan at recording, 'almost just like a week back.' It connects to local folders, shows step-by-step progress, and lets you start a second task while the first runs. Demo 1: a cluttered Downloads folder - Cowork asked clarifying questions (organize by type? delete DMG installers? dedupe?), got 'delete installers, don't dedupe, just organize', built folders, moved files; verified in Finder. Demo 2: summarized a Lenny's Podcast transcript (Dan Shipper) into structured points. If the tab is missing, the rollout has not reached you. Claude Code: he saw a tweet about Remotion, gave Claude Code the tutorial URL, and got a working programmatic video with zero coding - taught as an 'experimental mindset', with the caveat 'Claude Code is the last thing you should try' until fundamentals are solid.

Why it matters

Paul runs this KB from Cowork on Windows - this is the first sighting of the product in the course archive, a week after launch.

Go deeper

In one line: Cowork = folder-aware agent in Claude Desktop with clarifying questions and visible steps; Claude Code = hand it a tutorial URL and let it build; beginners last.

Cowork: Mac-only, Max plan, research preview, ~1 week old (l3186070 1:43-1:44, 1:48)

Local folders, visible steps, parallel tasks (l3186070 1:45-1:46)

Downloads cleanup with clarifying questions; podcast transcript summary (l3186070 1:44-1:49)

Claude Code replicated a Remotion tutorial from a URL, zero coding (l3186070 1:50-1:52)

'Claude Code is the last thing you should try' as a beginner (l3186070 1:54)

▶ Watch this taught:

06

Last office hour distilled: Ollama without keys, RAG file formats, website chatbots, randomized triggers, evals

A local model needs no API key - because there is no company between you and it. Paste the localhost URL into the node and go.

Local: for confidential legal review (300 pages, no internet) run open models via Ollama on a dedicated box - even a Mac mini M4; Ollama serves a local URL you paste into the n8n node, no key ('Jupiter OSS' = gpt-oss, 120B option); models can live on an external disk. RAG inputs: .md, .txt, .json beat PDFs (OCR). Website chatbot from n8n: Webhook trigger + Respond to Webhook, shown with a Lovable front end. Scheduling: make a workflow run on a randomized, non-spammy cadence by pasting its JSON into Claude and asking for a Schedule trigger plus a random-delay node, then re-import. n8n 'evaluations' = QA tests for expressions and edge cases before production. Voice: Vapi for complex voice-only agents, Retell for simpler voice + chat. Video from epics for kids: Claude script -> Sora 2 / Veo 3 / Kling via fal.ai. Cold-email logos: 16x16, JPG, kilobytes. LinkedIn: HeyReach, Relevance AI. Gmail MCP 'lazy' with Sonnet 4.5 - nudge with dates and subjects. Multiple RSS feeds: a configuration node listing URLs so the reader runs per feed. Free templates: harshad.com/n8n (as heard). Client acquisition: network, portfolio content, cold outreach, ads.

Why it matters

Closes the loop on several threads (Msty/Ollama since Day 1, website chatbots since Day 4) with the concrete settings.

Go deeper

In one line: Ollama local URL into n8n (no key); .md/.txt/.json for RAG; Webhook + Respond to Webhook for site chatbots; LLM-edited JSON for randomized schedules; n8n evaluations for QA; Vapi complex / Retell simple.

Ollama + local server (Mac mini M4 OK); local URL, no API key (l3319331 0:12-0:15)

RAG formats: .md, .txt, .json over PDF (l3319331 0:23-0:25)

Website chatbot: Webhook trigger + Respond to Webhook; Lovable front end (l3319331 0:22-0:25)

Randomized scheduling: Claude edits the workflow JSON to add delay (l3319331 0:30-0:33)

n8n evaluations = pre-production QA (l3319331 0:40)

Vapi complex voice-only; Retell simpler, voice + chat (l3319331 0:33-0:34)

Cold-email logo 16x16 JPG in KBs; HeyReach / Relevance AI for LinkedIn (l3319331 0:13, 0:22)

Gmail MCP + Sonnet 4.5 'lazy' - add explicit dates/subjects (l3319331 0:41-0:43)

▶ Watch this taught:

Every concept, three clicks deep

The same concepts as a quick reference: the closed row is the glance, open is the study card, and every timestamp jumps into the recording.

01Ultra hard mode: the config file, the LLM merge rule, and star/fork trustManual config editing = access to every MCP server incl.

Manual config editing = access to every MCP server incl. your own; merge configs with an LLM, never by hand; trust by stars/forks; restart after saving.

Four tiers: easy / medium (~30) / hard (Smithery ~3,000) / ultra hard (mcp.so 17,433+) (l3186070 0:35-0:37)

Settings > Developer > Edit Config opens claude_desktop_config.json (l3186070 0:46-0:47)

Never hand-edit; LLM merges old + new config (l3186070 0:58)

Vet by GitHub stars/forks via 'visit server' (l3186070 0:56)

Recipe: pick server -> copy config -> check trust -> merge -> paste -> save -> restart -> test (l3186070 1:01)

02Build your own MCP server in n8n from any API (the Gamma deck demo)API docs -> LLM writes cURL -> n8n MCP Server Trigger + HTTP Request tool (Import cURL, model-defined field…

API docs -> LLM writes cURL -> n8n MCP Server Trigger + HTTP Request tool (Import cURL, model-defined fields) -> Publish -> production URL in Claude config -> restart.

Only hard requirement: the tool exposes an API (l3186070 1:03, 1:25)

Full recipe from docs to Claude connector (l3186070 1:17-1:19)

Live Gamma deck generated from a Claude prompt (l3186070 1:04-1:22)

Generalizes to CRMs and other API-documented tools (l3186070 1:19-1:24)

Workbook: same pattern with Gmail; fixes - VPN off, re-auth, restart (l3186070 2:12-2:15, 3:47-3:48)

03Opal: describe a mini-app, get a node graph - for yourself onlyOpal = Google Labs experimental no-code app builder;

Opal = Google Labs experimental no-code app builder; English -> node workflow; VPN-gated; internal POCs only, no external deployment.

Description -> visual multi-step workflow (l3186070 0:15-0:16)

Geo-restricted; VPN to US/Europe/UK/India (l3186070 0:17)

Draft the prompt in an LLM with web search first (l3186070 0:18-0:20)

Stock Analyzer and Trigonometry Tutor demos (l3186070 0:24-0:34)

Not deployable to clients; n=1 POCs (l3186070 0:29-0:32)

04Memory lock-in and the provider-agnostic fix: Super Memory, mem0, PiecesProvider-agnostic memory (Super Memory, mem0) via MCP stores small personal facts usable across LLMs;

Provider-agnostic memory (Super Memory, mem0) via MCP stores small personal facts usable across LLMs; distinct from RAG; Pieces = local OS-level memory.

Vendor memory = lock-in; third-party memory via MCP is the escape (l3186070 1:26-1:31)

Super Memory and mem0 named for security guarantees (l3186070 1:31)

Demo: store facts -> new chat recalls and reasons (Monster, Psycho-Pass) (l3186070 1:32-1:39)

Facts, not documents; not RAG (l3186070 1:30-1:31)

Pieces: local OS-level memory, 16 GB RAM, crashed during testing (l3186070 1:41-1:42)

05Claude Cowork over local folders, and Claude Code as tutorial-replicatorCowork = folder-aware agent in Claude Desktop with clarifying questions and visible steps;

Cowork = folder-aware agent in Claude Desktop with clarifying questions and visible steps; Claude Code = hand it a tutorial URL and let it build; beginners last.

Cowork: Mac-only, Max plan, research preview, ~1 week old (l3186070 1:43-1:44, 1:48)

Local folders, visible steps, parallel tasks (l3186070 1:45-1:46)

Downloads cleanup with clarifying questions; podcast transcript summary (l3186070 1:44-1:49)

Claude Code replicated a Remotion tutorial from a URL, zero coding (l3186070 1:50-1:52)

'Claude Code is the last thing you should try' as a beginner (l3186070 1:54)

06Last office hour distilled: Ollama without keys, RAG file formats, website chatbots, randomized triggers, evalsOllama local URL into n8n (no key);

Ollama local URL into n8n (no key); .md/.txt/.json for RAG; Webhook + Respond to Webhook for site chatbots; LLM-edited JSON for randomized schedules; n8n evaluations for QA; Vapi complex / Retell simple.

Ollama + local server (Mac mini M4 OK); local URL, no API key (l3319331 0:12-0:15)

RAG formats: .md, .txt, .json over PDF (l3319331 0:23-0:25)

Website chatbot: Webhook trigger + Respond to Webhook; Lovable front end (l3319331 0:22-0:25)

Randomized scheduling: Claude edits the workflow JSON to add delay (l3319331 0:30-0:33)

n8n evaluations = pre-production QA (l3319331 0:40)

Vapi complex voice-only; Retell simpler, voice + chat (l3319331 0:33-0:34)

Cold-email logo 16x16 JPG in KBs; HeyReach / Relevance AI for LinkedIn (l3319331 0:13, 0:22)

Gmail MCP + Sonnet 4.5 'lazy' - add explicit dates/subjects (l3319331 0:41-0:43)

Tools referenced

ToolCoverageMomentContext
Claude DesktopdemonstratedDeveloper > Edit Config; custom connector via production URL; Cowork tab
mcp.sodemonstrated17,433-server directory; MCP Advisor install; stars/forks check
n8ndemonstratedMCP Server Trigger + HTTP Request tool = custom MCP server
GammademonstratedAPI used for the custom deck-generation MCP server
Google OpaldemonstratedStock Analyzer and Trigonometry Tutor mini-apps
Super MemorydemonstratedCross-LLM memory via MCP
Claude CoworkdemonstratedDownloads cleanup; transcript summary
Claude CodedemonstratedRemotion tutorial replicated
RemotiondemonstratedProgrammatic video built by Claude Code
LovabledemonstratedChatbot front end on an n8n webhook
OllamaexplainedLocal URL into n8n; no API key
VapiexplainedComplex voice-only agents
Retell AIexplainedSimpler integration; voice + chat
Nano Banana PromentionedImages inside Opal outputs
Mem0mentionedAlternative memory layer
PiecesmentionedOS-level local memory; 16 GB; crashed
FirecrawlmentionedStars/forks trust example (5,300 / 588)
SmitherymentionedHard mode reference
HeyReachmentionedLinkedIn automation
Relevance AImentionedLinkedIn agent alternative
fal.aimentionedAPI access to Sora 2 / Veo 3 / Kling
SunomentionedMusic platform idea; v4 voice cloning

Action items

    Resources mentioned

    Resources
    • docDay 12 workbook - Gmail MCP server on n8n -> Claude Desktop
    • docFinal-week roadmap (as announced)
    • docOffice Hour 8 question log (~45 items)

    Extraction notes

    This page was built from an auto-generated transcript, which garbles product and people's names. Those were corrected silently in everything above and logged here for transparency. The warnings flag claims that were true on the recording day but change fast.

    Transcript corrections applied

    The transcript saysThe trainer actually means
    Jupiter OSSgpt-oss
    HarishHeyReach
    HagenGoHighLevel / HighLevel (CRM example) - uncertain
    Pomely / Pomellyunresolved Google brand-asset tool
    Browserq / Prosecunresolved VPN name (ProtonVPN?)
    Guerra (robotics + n8n)unresolved company name
    Utapa / Sudhapa / Ashishthe host - name unverified

    True on recording day — verify before relying