← Back to writing
April 14, 2026
Claude CodeMCPAI EngineeringWorkflow

How I Use Claude Code + MCP to 10x My Engineering Workflow

If you’re a developer who hasn’t set up MCP with Claude Code yet, you’re leaving a lot on the table. I’ve been running this setup daily for months — across client work at Roche, side projects like supplementchecker.co, and everything in between. Here’s exactly how it works and what’s actually worth your time.

What MCP Actually Is

MCP stands for Model Context Protocol. Anthropic announced it in late 2024 and it’s now the standard way to connect AI models to external tools, databases, and services.

The best analogy I’ve seen: USB-C for AI. One standard plug, works with everything. Before MCP, every AI tool had its own proprietary plugin format. MCP standardizes the connection layer so you build once and plug into any compatible client — Claude Code, Cursor, VS Code, whatever.

Here’s what actually happens under the hood: Claude Code acts as an MCP client. When you start a session, it connects to whatever MCP servers you’ve configured, calls tools/list to discover what each server can do, and those tools become available for the rest of your conversation — same as built-in tools like file editing or bash execution.

The protocol runs over JSON-RPC. Local servers use stdio (spawned as child processes). Remote servers use HTTP. Simple architecture, huge practical impact. For the full technical spec: modelcontextprotocol.io.

What I care about: it’s how I work every single day.

My Daily MCP Setup

I’ve iterated on this over months. Currently running six MCPs, each earning its place.

Todoist MCP

Task management directly from Claude Code. I can add tasks, check my project backlogs, complete items — without breaking flow to open another tab. When I’m deep in a coding session and realize I need to track a follow-up, I just tell Claude to add it. Todoist MCP handles it.

The filter system is solid. find-tasks with a filter param lets me pull exactly what I need — tasks due today, tasks in a specific project, overdue items. It’s the kind of thing that sounds trivial until you’ve had it for a month and then try to work without it.

Exa MCP

Web search and research from inside Claude Code. Exa’s search returns clean, structured content that Claude can actually reason over — not just raw HTML. When I’m building something new and need to quickly research an API, check a competitor, or pull current documentation, I don’t switch contexts. I just ask.

DataForSEO MCP

I run several SEO-heavy side projects. DataForSEO gives me SERP data, keyword ideas, search volume, and competitor analysis all from inside Claude Code. Building a new page? I pull keyword data before writing a single word. Checking what’s ranking? One tool call.

Combined with Exa for research, this is a complete content intelligence setup. No tab switching. No copy-pasting data between tools.

Spotify MCP

Yes, really. I control Spotify from Claude Code. Skip tracks, adjust volume, search for playlists — without cmd-tabbing out of my terminal. Sounds like a toy feature. In practice it’s one less friction point during deep work, and friction compounds.

Obsidian CLI

My Obsidian vault is where I keep notes, journal entries, research, and processed thinking. The Obsidian CLI gives Claude Code read access to all of it. Daily notes, backlinks, search across the vault — available in any session.

This means Claude has actual context about my projects, my thinking, what I’ve researched before. It’s not starting cold every time. A CLAUDE.md file in each project directory gives project-specific context, and the Obsidian CLI gives life context.

Whoop CLI

Health data queries from the terminal. Recovery scores, sleep stats, strain — available when I need them for my morning briefing workflow or whenever I want to check in. I built this CLI myself as a side project. It’s a good example of how MCP doesn’t have to mean third-party servers — custom CLIs work perfectly.

How It All Connects

The magic isn’t any single MCP. It’s all of them running simultaneously, available in the same session. I can ask Claude to check my Todoist backlog, search for relevant documentation via Exa, pull keyword data from DataForSEO before writing content, and read my Obsidian notes on a topic I researched last week — all in one conversation.

Configuration lives in ~/.claude.json for user-level servers and .mcp.json at the project root for team-shared ones. The claude mcp add CLI command handles setup, or edit the JSON directly for complex configs with multiple params (which I recommend — the wizard gets annoying fast).

How I Use It for AI Engineering Work

Client Work

At Roche, I used Claude Code + MCP as my daily development workflow — not as an experiment, but as my actual working environment. The MCP layer meant I could pull documentation, check internal tooling, and manage tasks without context-switching. I also ran six workshops teaching the team to use Cursor and Claude Code effectively, including how to set up MCP for their specific stack.

The common reaction from engineers who hadn’t used it: “I didn’t realize it could actually do that.” Most people have seen the AI code assistant demo. Fewer have seen a fully connected MCP setup where the model can actually reach your tools.

Side Projects

Pretty much every site I’ve built recently — supplementchecker.co, niejedzie.pl, several SEO directories — came together with Claude Code as the primary development environment. Not a copilot. The main driver.

For SEO projects specifically: DataForSEO MCP means keyword research happens inside the same session where I’m writing page content and pushing code. That’s a real time compression.

This Blog Post

I built this post with Claude Code + MCP. Exa for researching the current MCP ecosystem. DataForSEO for checking what’s ranking for “claude code mcp” and finding related keywords. The research, outline, and draft all happened in one connected session. That’s not a gimmick — it’s the actual workflow.

What Actually Works vs. What’s Overhyped

Works Great

Research + writing. Exa MCP plus good prompting is genuinely faster than any other research workflow I’ve tried. Clean content, searchable, no noise.

Task management integration. Todoist MCP has changed how I track things during sessions. The friction of “I should add this to my backlog later” is gone.

Code generation at scale. For building out SEO content sites — hundreds of programmatic pages, templated structures, data pipelines — Claude Code is fast and doesn’t lose context across a large codebase when you have good CLAUDE.md files.

Overhyped

Fully autonomous agents. The “just let it run” demos look great. Reality: autonomous agents still need human checkpoints, especially for anything touching production. The sweet spot is human-in-the-loop — you steer, Claude does the heavy lifting.

Set-it-and-forget-it workflows. MCP tools are only as good as your prompts and your CLAUDE.md context. Garbage in, garbage out. The tooling doesn’t compensate for vague instructions.

Claude Code vs. Cursor

I use both. Cursor wins for in-editor experience when I’m doing fine-grained code edits across many files with heavy autocomplete. Claude Code wins for sessions where I need to think, research, and build holistically — where I want the model to understand the project, not just the file open in front of me. They’re different tools. The MCP ecosystem currently leans heavier toward Claude Code, which is where I spend more time.

Tips for Setting Up Your Own MCP Workflow

Start with 2–3 MCPs, not 20. The context window cost is real — every MCP server loads its tool definitions upfront. More servers isn’t always better. Add servers when you have a specific use case, not because they exist.

Todoist or Linear + web search is the killer combo. If you’re only going to run two MCPs, these are the ones. Task management keeps you organized within sessions. Web search means you’re not constantly breaking context to look things up. Everything else is additive.

Write good CLAUDE.md files. This is undersold. A CLAUDE.md at your project root is your AI’s memory — project context, architecture decisions, conventions, what’s done and what’s not. Without it, Claude starts cold every session. With it, it has the context an experienced teammate would have. Invest time here. It compounds.

Use skills/slash commands for repeated workflows. Claude Code supports custom slash commands via .claude/skills/. If you have a workflow you run every morning (check tasks, check health data, review priorities), build a skill for it. I have /start-day that pulls Whoop data, Todoist tasks, calendar, and surfaces a daily brief. One command, everything I need.

Edit the JSON config directly. ~/.claude.json is the config file. For complex MCP setups with environment variables and multiple args, edit it directly instead of wrestling with the CLI wizard. Much faster.

Scope your servers correctly. User scope (~/.claude.json) for personal MCPs like Spotify and Whoop. Project scope (.mcp.json at repo root) for team-shared ones like GitHub or a shared database. Local scope for experiments you don’t want to inflict on teammates.

If you're working on something like this, I help engineering teams ship AI that survives Legal review.

Book a free call