
Swirl Ecosystem + IG-Stats MCP
A daily Claude pipeline for my coffee Instagram, plus the MCP server I wrote so I can think about reels from my phone. Costs me about $5 a month.
- Anthropic SDK (Opus + Sonnet + Haiku)
- Cloudflare Workers + Durable Objects
- @modelcontextprotocol/sdk
- agents/mcp
- GitHub Actions
- Instagram Graph API
- Notion API
- TypeScript
- Python
- Zod
- ffmpeg
Cold-started a coffee Instagram. 100 views a reel and no real idea what was working. I wanted a way to figure out what to try next without spending hours guessing. And once the pipeline was running, I kept getting reel ideas away from my desk. I wanted to talk through them with Claude right then, on my phone, with the actual numbers in front of me.
Two pieces. The pipeline is a daily GitHub Actions cron. Three times a week it pulls a strategic brief from past performance, drafts three voice variations of the next script, and runs a 15-frame visual analysis of the latest post. About $5 a month. It’s a drafting assistant, not an auto-poster.
The MCP server is a TypeScript Worker on Cloudflare with Durable Objects, so each Claude session keeps its state across the streamable-HTTP exchange. The tools wrap Instagram’s Graph API: list reels, pull insights, bulk-fetch in parallel, rank top reels by whichever metric I want. Multi-account routing is baked in, so I can switch from my coffee account (jellieglass) to my main one (julzevias) in the same conversation.
12 reels in. The scripts the pipeline drafts are starting points I deviate from — the part that actually compounds is the analysis underneath. Pattern reads, algorithm signal, strategic framing. And now when an idea hits, I can pull stats from either account right there instead of trying to remember a number from last week.
I designed both pieces, picked the Opus + Sonnet + Haiku model split, and called the host (Cloudflare Workers, after Fly.io wanted a payment method I wasn’t ready to add). I set the cost ceiling and review every output. Claude Code wrote most of the implementation under my direction. I don’t write Python day-to-day; my main stack is TypeScript.









