31 May 2025
I’ve always wanted my own assistant, like JARVIS from Iron Man. Every year we get closer to JARVIS being possible, but we’re not there yet. Let me show you a simple workflow to create your own agentic AI. What's “agentic”? It runs in a loop, running tools and calling APIs, until it solves the task you gave it.
MCPs suck (for now)
There’s a lot of hype on X about MCPs, aka Anthropic’s Model Context Protocol. MCPs are servers that provide tools for AI assistants. These tools let the AI take actions such as browsing the internet, controlling your computer, or communicating with apps (e.g. Asana, Slack, Stripe) and even other AIs.
You can use them in Claude Desktop, Raycast, VS Code, and many other clients. People have made thousands of MCPs. There’s only one problem though… they’re frustrating to use!
Using MCPs in Claude Desktop requires editing claude_desktop_config.json. Raycast does it better, providing a keyboard-first polished UI for adding MCP.
If the MCP server starts (big if, most of them are buggy) and if it wasn’t malware (nobody verifies the published packages), then when you try to use it Claude Desktop and Raycast will ask you to confirm every. single. tool. call. Ugh!
Introducing Claude Code
Claude Code is a CLI tool released by Anthropic earlier this year. It runs Claude Sonnet 4 in your terminal, it’s able to download web pages, and it can read your filesystem (with permission, of course).
At Molin AI we’ve adopted Claude Code and found that the more thorough our README, the more Claude helps us. The ROI on our 50k character README is pretty impressive! It can even automate the last mile of human processes, such as managing releases or debugging a customer’s website — see Claude Code does our releases now.
Set up your own Claude
Let’s get started.
First, you need to install Claude Code. These instructions are for macOS, ask your nearest LLM for the equivalent for your OS (more info in the Anthropic docs).
Now we can set up the project. We need a new folder and a single file — our instructions to Claude Code.
CLAUDE.md is the same as your typical README.md, but if you call it CLAUDE.md then Claude Code will read it and follow it automatically, without you mentioning it.
Now fire up your favourite text editor:
And paste in this basic template as a starting point:
Then start Claude Code and ask it to download your favourite podcast from YouTube:
And there you go! A self-contained, simple, human readable way to program and personalize Claude for your workflow — if it can be done from the command line, Claude can do it for you.
Make it better
Here are a few more things I’ve taught my Claude to do for me.
I use Things as my to-do list manager. Say I want to see the tasks I did yesterday. I know there’s a Python library that I can use, but I’m too lazy to figure out how. I’ll just tell Claude to read the docs for things.py, et voilà:
Note: Claude might need a few attempts before it gets the script right. Follow along for a fix.
Handling secrets
Say you want Claude to make authenticated curl requests for you, sending an API key. If it’s not super sensitive, you can just paste the API key in CLAUDE.md. More securely, export an env var in your dotfiles (e.g. ~/.zshrc).
Now Claude will use curl without “seeing” (i.e. leaking) your API key.
Self-healing and memory
Claude often messes up a command and tries a few times. Here’s a task that's challenging to get right the first time:
Note: Safari by default does not allow programmatic access. You need to enable Safari’s developer mode and Allow JavaScript:
Let’s try it:
5 attempts later, it was still stuck. Hmmm. I know a trick:
This magic word increases the thinking budget for the model. Claude created a to-do list and took a more systematic approach, and got me my tweets! However, this was slow. Can we learn from our mistakes?
Yes, we can! Just ask Claude to update CLAUDE.md for you. Self-evolving!
Using this for work work
Similarly, you can adopt Claude Code in your work repo. Teach Claude how your project works, what codebase guidelines to follow, how to automate your manual processes, and you’ll use it much more often.
Privacy
You are trusting Anthropic with your data.
Security
You should keep an eye on each command the LLM runs.
Costs
Well...
What’s next
I wish I could access this from my phone, but I don’t think there’s anything similar out there yet, unless you code your own agentic loop runner (Claude Code) or run a Linux VM (emulated).
Anthropic did an outstanding job with the terminal UX, but sometimes you want a real UI. That’s when I turn to ChatGPT or Raycast.
You can see my CLAUDE.md. It's constantly evolving as I connect more apps: Oura, Apple Music, Strava, MyFitnessPal, GitHub, Slack, and many others.