“You can't cook until the ingredients are on the counter. Gather the keys first, or you'll stall halfway through wiring.”
1. An Anthropic API key (for the automated path)
Where: the Anthropic Console → API keys. What it's for: the n8n assembly calls Claude over the Messages API, which needs a key. Note: the interactive MCP assembly uses your Claude Desktop subscription instead and does not need an API key, so if you only ever run Chapter 3, you can skip this. The API docs now live at platform.claude.com (the old docs.anthropic.com URLs redirect there).
2. A Brave Search API key
Where: the Brave Search API dashboard (api-dashboard.search.brave.com). What it's for: the agent's web access. Why Brave: it has a usable free tier and a clean JSON API. The free "Free" plan is documented at 1 query per second and 2,000 queries per month, plenty for one morning brief. A card is required for identity verification but isn't charged on the free plan.
3. An n8n instance (for the automated path)
Where: n8n Cloud, or self-hosted. What it's for: the scheduler and orchestrator. The fastest local start is to run it with npx; for something that stays up, use Docker. The UI lives at http://localhost:5678.
# Quickest local trial, no install:
npx n8n
# UI at http://localhost:5678
# Stays up (recommended for a daily schedule):
docker run -it --rm --name n8n \
-p 5678:5678 \
-e GENERIC_TIMEZONE="America/Toronto" \
-e TZ="America/Toronto" \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8nSet the timezone now. A morning brief that fires at the wrong hour is the single most common mistake here: the Schedule Trigger uses the instance timezone, so `GENERIC_TIMEZONE` (or n8n Cloud's timezone setting) has to match where you wake up.
4. An Obsidian vault (or any folder)
Where: wherever your vault lives on disk, e.g. `/Users/you/ObsidianVault`. What it's for: the output target. Obsidian is just markdown files in a folder, which is why this works: writing `2026-05-25 Brief.md` into the vault folder makes it appear in Obsidian with no integration. Decide on a subfolder for briefs (e.g. `ObsidianVault/Briefings`) and note its absolute path: you'll hand that exact path to the agent and nothing else.
5. Node / npx (for the MCP servers)
What it's for: the Brave and Filesystem MCP servers run via `npx`, so you need a recent Node.js installed. Confirm with `node --version` and `npx --version`. That's the whole prerequisite for Chapter 3.
In one line each
- Anthropic API key (automated path only; the interactive MCP path uses your Claude Desktop subscription).
- Brave Search API key: free plan is 1 q/s and 2,000 queries/month; don't confuse it with the paid plan.
- n8n via npx for a trial or Docker to stay up, and set the timezone, or the brief fires at the wrong hour.
- An Obsidian vault is just a markdown folder; note the absolute path to your briefs subfolder. Node/npx is needed for the MCP servers.
Where to go next