inzpyre.me
Learn AIExamples

04 · n8n · MCPs · Self-hosted

Build automation with AI.

From workflow concept to a running cron job. We plan automations with Cowork, generate the n8n JSON with Claude Code via the n8n MCP, and host the whole thing for under ten euros a month on Hetzner.

We have no partnerships with n8n or Hetzner. We recommend what we use ourselves.

Setup

Before you automate — setup, in brief.

Claude Code is the anchor. An MCP and a hosting setup come on top. Details and every command live on the setup page.

  1. Step 01

    Claude Pro or Max plan

    An Anthropic account with an active subscription is the baseline. One plan is enough — Pro to start, Max once you need longer sessions or more token budget. Without an active subscription there's no Cowork and no Claude Code.

  2. Step 02

    Claude Desktop App (with Cowork)

    Cowork lives as a third tab inside the Claude Desktop App — no extra install needed. There you describe in conversation what you want to build, until the concept is clear.

  3. Step 03

    Install Claude Code (terminal + VS Code)

    Two setup paths: terminal (maximum flexibility) or VS Code (code, terminal and Claude in one window) — the output is the same. The command below installs the native client: no Node.js needed, updates run automatically in the background. Security tip: ideally work on a separate computer with no personal data on it. Claude Code gets full file access, so a clean separation matters.

  4. Step 04

    Connect MCPs for your automation tools

    It's not just your workflow tool that needs an MCP server — other services you use in automations bring their own MCPs too, like Higgsfield for video generation or ChatGPT/Image for image generation. As of May 2026: n8n has the official n8n MCP, which you enable in n8n under Settings → Instance-level MCP and connect with an access token. Make and Zapier don't have an official MCP — those you build manually in the editor and only use Claude Code for the logic planning. Snippet below is for n8n.

  5. Step 05

    Pick hosting (n8n only)

    If you use n8n, pick a cloud where you host yourself. Self-hosted is cheaper than managed cloud and gives you full control over data and workflows. With Make or Zapier you don't get the choice — those run cloud-managed only.

The roadmap

Automating with AI: three paths, one roadmap.

Three paths lead to an automated task. We go through them in this order: first the simple path with Cowork, where you'll also see where it hits its limits. Then the agent path directly in Claude Code. For the genuinely complex cases, n8n at the end.

Not sure which path fits? Claude helps you find the right one.

Build it yourself

Here's how you build your own automation.

You don't have to know yourself which of the three paths fits best. Describe the job once, Claude checks the complexity and tells you whether Cowork, Claude Code or n8n is the right choice, then builds it with you step by step.

text·Automation brief, for Cowork or Claude Code
I want to build the following automation: [briefly describe what should happen, how often, which sources/tools are involved].

Quickly check whether this is more of a scheduled task in Cowork, a Claude Code skill, or an n8n workflow, and tell me why. Then build it with me step by step.

The simple way

Automate with Cowork and scheduled tasks.

You don't need an n8n server for every automation. For recurring research and briefing jobs, Claude Cowork with a scheduled task is enough. You describe the job once, and Cowork handles it from then on.

What scheduled tasks are

A scheduled task is a job that Cowork runs on its own at a fixed time. Daily, weekly or at a set moment. Cowork starts, works through the job and leaves the result ready for you.

You set the task up once in dialogue, the same way you usually work with Cowork. From then on it runs without you. That's what makes it a small, honest automation for everyday use.

Real example

I wanted to stay up to date with AI. So I built the staying-informed part myself.

AI moves every day, and "I'll read it later" never gets read. So I automated reading it, since June. It started with a single Cowork task. These days the whole chain runs on my own Claude Code agents.

First draft · June 2026, with Cowork

Preview of the first page of the internal strategy briefing

I built this for myself first, as a Cowork scheduled task. An internal focus briefing that keeps me up to date and helps me make the right calls for inzpyre.me.

Sample edition from 2 June 2026

First version of the Instagram story in the old inzpyre.me design, sample from 2 June 2026

The Cowork task rendered the first story version automatically, still in the old design. I posted it by hand.

Retro · good, but at the limit

Good overview, but everything manual: tweaking the Cowork setup myself, posting the story by hand, updating the website by hand. So I switched from Cowork to Claude Code. The whole chain now runs on my own agents, not a dialog I have to nudge along.

Cowork with scheduled tasks is strong for research, briefings and simple recurring jobs. As soon as an automation has to connect many tools, run reliably around the clock or process large amounts of data, the n8n route further down is the more robust choice.

Today · fully automated with Claude Code

Agentic OS cockpit in Obsidian showing the daily AI news feed

A research agent collects the most important AI news every morning and filters out duplicates. The updates land in the Agentic OS cockpit, split into general news and Claude Code setup optimizations. From there I adopt optimizations with one click, have a carousel built, or post the top news straight as an Instagram story.

One example output, one click away

Instagram story with the most important AI news, rendered in the inzpyre brand look

Instagram story

One click in the cockpit, then the story with the top stories renders and posts itself to Instagram automatically, in the brand look, 1080 by 1920, sources printed small.

How the task runs today

Only the scanning runs automatically, as an overnight cadence job. Everything after that I trigger myself in the Agentic OS cockpit, with one click, whenever I need it.

  1. 1

    Scan sources from the last 24 hours, filter by relevance, merge duplicates.

  2. 2

    Provide all relevant updates directly in the Agentic OS cockpit, split into general news and Claude Code setup optimizations.

  3. 3

    Adopt optimizations straight into my own setup with one click.

  4. 4

    Create and auto-post an Instagram story with the top news with one click, optionally build a carousel for especially relevant news with one click.

  5. 5

    Refresh the website with the coolest setup optimizations with one click.

Takeaway:

Claude Code runs fully automated, but the machine it runs on needs power and internet at the moment the automation fires, otherwise the cadence job never starts. My real automations run on launchd-triggered Claude Code sessions, which needs a machine that's actually on, not a closed laptop. That's why I recommend an always-on setup, a Mac Mini for example, instead of a laptop that's closed or off.

The agent way

Build automation right inside Claude Code.

Want to build an automation directly with Claude Code? Here's how you go through it step by step. Plugins, skills, subagents and hooks make Claude Code more than a coding helper. A lot of automations you would otherwise set up in a separate tool, you build straight inside the agent. No server, no click editor, one conversation.

What you build with.

Skills

A SKILL.md describes a recurring task. Claude loads it on its own when it fits, or you call it with a slash command.

Plugins

A plugin bundles skills, subagents, hooks and MCP servers into one package. Installed once, available in every project.

Subagents

A separate agent with its own job and its own context. Good for offloading research or checks without filling up your main chat.

Hooks

A hook runs a script on a fixed event, such as after every file edit. That is how you enforce linting, checks or notifications automatically.

Claude Code or n8n?

When is Claude Code enough, and when do you need n8n? Both build automations, but they are made for different jobs. The honest rule of thumb:

Claude Code is enough when

  • the task understands context, writes content or changes code
  • you start it on demand or as a scheduled task in the cloud
  • you want to iterate fast and prefer working in a conversation

n8n is better when

  • a workflow waits around the clock for webhooks or events
  • you need ready-made connections to many SaaS services
  • the steps should run deterministically, without a model deciding

Often you need both. Claude Code plans and writes, n8n keeps the long-running jobs alive. In practice though, Claude Code or Cowork alone is enough for most tasks today, n8n only pays off for the genuinely complex cases. Just ask with the generic prompt further up to see what fits your automation.

Turn a workflow into a skill.

An example: a recurring competitor check you would otherwise click together in n8n. In Claude Code it is three steps.

  1. Step 01

    Describe the task as a skill

    Create a file at .claude/skills/<name>/SKILL.md in your project. The top says when Claude uses the skill, below it the steps.

    prompt·Prompt to Claude Code
    Create a skill at .claude/skills/competitor-check/SKILL.md.
    
    It should:
    1) fetch a competitor's website,
    2) pull out prices and new features,
    3) save the result as a short note in docs/research/.
    
    Write the description so you pick the skill yourself whenever I ask about a competitor.
  2. Step 02

    Trigger it on an event

    If a step should run automatically, attach it to a hook in settings.json. Here a lint run after every file edit.

    json·.claude/settings.json
    {
      "hooks": {
        "PostToolUse": [
          {
            "matcher": "Edit|Write",
            "hooks": [
              { "type": "command", "command": "npm run lint --silent || true" }
            ]
          }
        ]
      }
    }
  3. Step 03

    Schedule it to repeat

    If the workflow should run at fixed times, create a scheduled task. It runs in the cloud, even when your machine is off.

    text·Create a scheduled task
    /schedule every Monday 9:00: run the competitor-check skill for our three main competitors and save the notes to docs/research/.

At its core, an automation with Claude Code is just a skill that starts automatically. You can set that up directly via the prompt above — or store the skill in your Agentic OS and start and manage it from there. More on the Agentic OS

Four principles for human-agent teams.

Anthropic published a guide on how its own teams work with agents. Four principles from it pay off in any setup, even if your team is just you:

Write everything down

Whatever isn't written down and accessible doesn't exist for your agent. Goals, decisions and context belong in docs and in your CLAUDE.md, written with agents as the primary readers.

Clear role, right tools

Every agent gets a clearly defined job and exactly the tools for it. At Anthropic, the data-analysis agent gets database access, the QA agent gets browser testing.

One big goal, in writing

Hand the agent the ambitious goal and let it find the path. In the guide, “make onboarding more helpful” led an agent to rework the error messages on its own.

Separate doer and verifier

The agent doing the work never grades it. A second agent checks the result and actively hunts for mistakes before you see it. More autonomy only comes after proven reliability.

To set this up yourself: this prompt configures your project along the four principles.

prompt·Prompt for Claude Code
Set up my project following Anthropic's guide “Building effective human-agent teams”:

1. WRITE EVERYTHING DOWN: Review my CLAUDE.md and add the context a new agent needs: project goal, architecture, conventions, no-gos.

2. CLEAR ROLES + TOOLS: Create fitting subagents for my project under .claude/agents/ (e.g. reviewer, tester, researcher). Give each one a clear role and only the tools it needs.

3. BIG GOAL: Ask me for the big goal behind this project and write it prominently into the CLAUDE.md. From now on, proactively suggest paths that serve it.

4. VERIFICATION: Create a verifier agent that double-checks finished work and actively tries to find mistakes before I see them. Important tasks only count as done once it has checked them.

Show me at the end what you created and why.
Read Anthropic's guide

The n8n path

Build automation with n8n.

Scheduled tasks in Cowork are good for smaller, recurring jobs. As soon as an automation connects several tools or has to run around the clock, you build it as a proper workflow.

How the generation flow runs after that

Three steps from briefing to a running workflow.

  1. 1

    Plan the workflow

    You plan the workflow itself with Cowork. The briefing walks through trigger, data sources, transformations and output in dialogue — you don't have to structure it beforehand. Less is more.

    Copy the prompt below into Cowork, answer the questions. At the end, a markdown file falls out that you hand to Claude Code — and it builds the n8n JSON from it.

    text·workflow-briefing.md
    I want to plan an n8n workflow. Please ask me four blocks of questions, one after another:
    
    1) Trigger — what starts the workflow?
    2) Data sources — which tools does n8n have to read?
    3) Transformations — what happens between trigger and output?
    4) Output — what happens at the end?
    
    Per block, always ask only one question at a time and wait for my answer.
    If I get vague, ask for concrete examples.
    
    At the end, create a markdown file "workflow-briefing.md" with:
    - workflow name
    - trigger (type + configuration)
    - data sources (with auth method)
    - transformation logic (step by step)
    - output (with example payload)
    - known edge cases
    
  2. 2

    Hand the markdown to Claude Code

    Claude Code reads the briefing and builds the n8n nodes directly in your instance — trigger, AI calls, filters, output. You don't have to drag boxes around any more.

  3. 3

    Add credentials

    For each tool in the workflow (Gmail, Notion, Stripe, …) you add an OAuth token or API key in n8n. The workflow only runs live after that.

Why you stop clicking.

With the n8n MCP connected, you don't build workflows by clicking any more. You describe them. Claude Code reads the existing n8n state, plans the JSON, imports it into your instance, and hands you back the workflow link.

Workflow as prose

You describe in one sentence what should happen — Claude Code generates the n8n JSON. Instead of dragging 40 nodes around, you speak the workflow.

Iterable in code

Workflows live as JSON in Git. Diff, branch, review. Instead of a click editor you get version control like real code.

Test data generated

Claude Code also writes example payloads for the trigger webhooks for every workflow. You test directly, without needing live data.

Docs included

For every workflow Claude Code drops a README.md in the repo — trigger, steps, edge cases. When you come back three months later, you still know what's running.

Example: Claude Code generates the social-media-reels automation

You hand Claude Code the workflow briefing from the planning phase and say:

text·Claude Code prompt
Read social-media-reels-workflow.md and build an n8n workflow from it.
The workflow takes a one-pager input (headline, body, image assets, hashtags)
and automatically generates a reel video for Instagram, TikTok, and LinkedIn.

[Alex delivers: detailed workflow steps — trigger, AI calls for script
and voiceover, asset generation via Remotion or video API, posting targets
with auth setup, logging, and error handling.]

Import the workflow directly into our n8n instance via MCP.
Also write a README.md with a trigger payload example and edge cases.

Claude Code reads your briefing, generates the JSON, calls the n8n MCP, imports the workflow, hands you back the n8n editor link. You check visually, click „Activate“. Done.

Hetzner self-hosted

n8n on Hetzner — five euros a month, full data control.

Once you automate regularly, self-hosted pays off. A Hetzner CX22 (2 vCPU, 4 GB RAM, 40 GB SSD) is enough for n8n + Postgres + Caddy as a reverse proxy. Frankfurt or Falkenstein, EU region, GDPR-compliant.

Cost comparison

VariantPriceExecutionsNote
n8n Cloud Starterapprox. €24/month2,500 executionsComfortable, but costs scale fast once workflows go to production.
n8n Cloud Proapprox. €60/month10,000 executionsWorth it if you don't want your own infrastructure and stay below the Pro cap.
Self-hosted (Hetzner CX22)around €5/monthUnlimited (until resource cap)Server know-how required. EU region, full data control, no lock-in. Our pick from the first production workflow on.

Minimal Docker Compose stack

n8n runs as a Docker container next to Postgres and Caddy. Caddy handles HTTPS automatically via Let's Encrypt — you don't have to configure any certificates.

yaml·docker-compose.yml
services:
  postgres:
    image: postgres:16
    restart: unless-stopped
    environment:
      POSTGRES_USER: n8n
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
      POSTGRES_DB: n8n
    volumes:
      - postgres_data:/var/lib/postgresql/data

  n8n:
    image: n8nio/n8n:latest
    restart: unless-stopped
    environment:
      DB_TYPE: postgresdb
      DB_POSTGRESDB_HOST: postgres
      DB_POSTGRESDB_DATABASE: n8n
      DB_POSTGRESDB_USER: n8n
      DB_POSTGRESDB_PASSWORD: ${POSTGRES_PASSWORD}
      N8N_HOST: ${N8N_HOST}
      N8N_PROTOCOL: https
      WEBHOOK_URL: https://${N8N_HOST}/
      GENERIC_TIMEZONE: Europe/Berlin
    depends_on:
      - postgres
    volumes:
      - n8n_data:/home/node/.n8n

  caddy:
    image: caddy:2-alpine
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - caddy_data:/data
      - caddy_config:/config

volumes:
  postgres_data:
  n8n_data:
  caddy_data:
  caddy_config:

Let Claude Code roll out the setup on the server. Add SSH key, clone the repo, [docker compose up -d]. A backup cron is part of it — Claude writes the script along with it.

If you don't know how all of this works, just ask Claude Code: it knows the stack, walks you through step by step and corrects you when you mistype. You don't have to remember any of it — you only have to describe what should run at the end.

Example automations

Three automations that ran this morning.

No n8n, no Telegram approval. These three skills run directly in Claude Code, on request or on a schedule. Two build an Instagram carousel, one cuts a reel. Build the brief for it with the generic prompt further up, swapping in your own brand and content.

Example 1 · Instagram carousel, inzpyre.me

What the skill does

Website content becomes a finished carousel

The input is an article, the daily AI briefing, or a short note. Claude writes the slide copy in our corporate design, a renderer turns each slide into a 1080×1350 image.

  • Input: an article, the ai-daily briefing, or a content seed
  • Claude writes hook, key points and CTA for each slide
  • Playwright renders every slide from the HTML template as an image
  • The finished set lands in the output folder for approval
The result

Cover and closing slide of a real carousel

Carousel cover slide: “How I build automated carousels with Claude”
Closing slide of the carousel with a call-to-action to follow @inzpyre.me

Example 2 · Instagram carousel, TSTE

What the skill does

A city ranking carousel, researched automatically

TSTE is our culinary discovery app. Give it a city and a question — say, “the 5 best ramen spots” — and the skill researches places with real reviews and renders the set in one of three design directions.

  • Input: a city plus a ranking question
  • Research filters on a minimum rating and real reviews, no chains
  • Claude writes the slide copy in the chosen design direction
  • Playwright renders the finished image set
The result

Three slides from a real ranking carousel

Carousel cover slide: “The 5 best ramen spots in the city”, TSTE ranking for Berlin
Second carousel slide: top-3 list of ramen spots with rating and short description
Third carousel slide: ranks 4 and 5 of the ramen spots, Nippon Noodle Neukölln and Shio Bar Mitte, with rating and short description

Example 3 · Instagram reel, TSTE

What the skill does

From script to finished 9:16 reel

For the same topic, a second skill builds a 20 to 30 second reel: script, AI-generated b-roll, voiceover and text overlays, cut together into a video with ffmpeg.

  • Claude writes the hook and script for the topic
  • Higgsfield generates the b-roll and speaks the voiceover
  • Playwright renders the text overlays as individual frames
  • ffmpeg cuts b-roll, voiceover and overlays into the finished MP4
The result

An automatically built ranking reel

Learning lever

Two years ago, each of these three examples was a full day's work: research, cut the image, set the text, export. Today you write one sentence, Claude Code handles research, copy and rendering. Once the first skill stands, you copy the pattern for the next one in the same time.

Agentic OS

Your own agentic OS.

An agentic OS is your own operating system built on Claude Code. A system that thinks along: a long-term memory, a cockpit, your tools, your agents. All in one place.

The four building blocks.

Second brain

A folder where your knowledge lives and grows. Claude writes along, researches and links the notes.

Cockpit

A surface on top of the vault: an overview, your skills, an embedded terminal.

Connect tools

MCP servers attach external services, from Supabase to GitHub to your calendar.

Custom agents

Your own agents for your recurring tasks, each with a clear job.

What you need

  • a Claude subscription (Pro or Max)
  • the current version: claude update
  • logged in with your Claude.ai account, not via an API key

Build the second brain.

The first building block, step by step. An Obsidian vault as your knowledge store, with Claude writing along.

  1. Step 01

    Install Obsidian

    Obsidian is a free note app that stores your notes as plain markdown files in a folder. That folder becomes your vault.

    Download Obsidian
  2. Step 02

    Create the vault and start Claude

    Create an empty folder and open it in Obsidian via “Open folder as vault”, not via “Create new vault”. Then start Claude Code in the same folder.

    bash·Terminal
    mkdir ~/second-brain
    cd ~/second-brain
    claude
  3. Step 03

    Set up structure and rules

    In the first prompt you build the skeleton: a CLAUDE.md that makes Claude the keeper of the vault, plus the folder structure.

    prompt·Prompt 1
    We are turning this folder into a second brain.
    
    Create a CLAUDE.md that describes you as the keeper of this vault. Structure: raw/ for raw notes, wiki/ for linked articles, index.md as the entry point, log.md for changes.
    
    Define three operations: Capture (file a new note), Look up (answer a question from your knowledge), Tidy up (keep structure and links clean). Keep the CLAUDE.md under 200 lines.
  4. Step 04

    Build up and link the knowledge

    Now you expand the vault. One subagent per topic, plus cross-links between related notes.

    prompt·Prompt 2
    Expand the vault. Take the topics in raw/, research each one with a subagent, write an article per topic into wiki/ and add [[wikilinks]] between related notes. At the end, update index.md and log.md.
  5. Step 05

    Point auto memory at the vault

    Auto memory is on by default from Claude Code 2.1.59: Claude remembers what matters on its own. Otherwise those notes land under ~/.claude/projects/. One line in settings.json puts them in your vault, so you read them in Obsidian too.

    json·.claude/settings.json
    {
      "autoMemoryDirectory": "~/second-brain/claude-memory"
    }
  6. Step 06

    Sync across multiple computers

    To keep your brain identical on every computer and in the cloud, put the vault folder in a private Git repo. Clone it once on every other machine. Pull the latest state before you work, push it back when you are done. Because the auto memory sits inside the vault, it travels too. If you want it without a terminal, use Obsidian Sync (paid, no setup).

    bash·Terminal (one-time setup)
    cd ~/second-brain
    git init && git add . && git commit -m "second brain"
    # create a private repo on GitHub, then connect it:
    git remote add origin git@github.com:YOUR-NAME/second-brain.git
    git push -u origin main
    # other machine: git clone ... ; then git pull (start) / git push (end)

A quick word on safety

You edit settings.json yourself, and the setting only takes effect after you confirm the folder as trusted. Everything runs locally on your machine. This page runs nothing. After that, restart Claude once so the setting applies.

The next stages: your own agents.

Once the second brain stands, you build agents on top. Three stages we run ourselves:

01

Scheduled agents

Fixed routines as scheduled tasks: the competitor check on Monday, the weekly review on Friday. The agent runs in the cloud and files its result in your vault. How to create such a task is covered above in the agent-path section.

02

On-demand agents

Tasks you start on request: “Research topic X and write the note to wiki/.” Every agent has a clear assignment and a fixed place to file things, so nothing ends up nowhere.

03

Content agents

The top stage: a pipeline from research to script to finished assets like carousels and reels. For scheduling, connect Metricool or Buffer via their official MCP servers. Your agent drafts the posts and puts them in the publishing queue, publishing happens through the tool.

The cockpit.

Block 2

The vault is your storage, the cockpit is your surface on top of it. A plugin in Obsidian that gives you the overview: your skills as tiles, the status of your agents, an embedded terminal where Claude runs directly. That way you run your system from one place.

A ready-made cockpit plugin installs quickly. Ours is live - screenshots and the download are further down.

Live

Our own agentic OS.

An agentic OS is the command center for your AI agents: one place for skills, automation status and direct access, instead of scattered terminals and dashboards.

Our own agentic OS is live: a cockpit plugin for Obsidian with an embedded terminal, a skills overview, and automation status. Free to download - the full story and setup steps are in the repository.

The cockpit overview with automation status

I build the whole workflow step by step in the newsletter. If you want something like this yourself: sign up.

Subscribe to the newsletter

On to the next station

Examples

Our own apps. With story, trick and tech stack.

Take a look
More to read: you'll also find posts on specific AI topics in our repository.