The default Claude Code setup lets you edit files, run terminal commands, and search code. That is already powerful.
But the moment you connect Claude Code to external tools through MCP, everything changes. Claude stops being a code editor and starts being an agent that can read your orders, send emails, check your ad spend, and update your database - all in a single session.
Here is exactly how MCP works, how to set it up, and the three connections that changed how I run my business.
What Is MCP?
MCP stands for Model Context Protocol. It is an open standard that lets Claude Code communicate with external services through a local server.
The architecture is simple:
Claude Code <-> MCP Server <-> External Service (Shopify, Gmail, etc.)
You run an MCP server locally. Claude Code connects to it. The server handles authentication and API calls to whatever service you configure. Claude never touches your credentials directly.
Every tool the MCP server exposes shows up in Claude's toolbox automatically. If your Shopify MCP server has a get-orders tool, Claude can call get-orders the same way it would read a file.
Setting Up Your First MCP Server
MCP configuration lives in claude_desktop_config.json on Mac/Windows or the equivalent on Linux.
On Windows:
%APPDATA%\Claude\claude_desktop_config.json
On Mac:
~/Library/Application Support/Claude/claude_desktop_config.json
The structure:
{
"mcpServers": {
"my-server": {
"command": "node",
"args": ["/path/to/server.js"],
"env": {
"API_KEY": "your-key-here"
}
}
}
}
Restart Claude Desktop after any config change. New servers appear as available tools immediately.
If you want a working MCP config for Shopify and Gmail to start from, it's in the free template pack below.
[Download the MCP starter config pack - free]
The Three Connections Worth Setting Up First
1. Shopify MCP
Once connected, Claude can pull your orders, check inventory, and read customer data without you copying anything.
A session looks like this:
Me: What were my top 5 products by revenue this week?
Claude: [calls get-orders, filters by date, groups by product]
Here are your top 5 products this week:
1. Product A - 23 orders - $1,840
2. Product B - 17 orders - $1,360
...
No dashboard switching. No export/import. Claude pulls the data and works with it directly.
The Shopify MCP server I use is a straightforward REST wrapper. You give it your store domain and access token. It exposes tools for orders, products, customers, and inventory.
What I actually do with it:
- Weekly revenue breakdowns by product category
- Finding customers who bought X but not Y (for email targeting)
- Checking whether a discount code was actually used
- Pulling order data for supplier negotiations
The Shopify MCP does read operations cleanly. Write operations (creating products, updating prices) require a token with write scopes, which you can set up but should handle carefully in automated contexts.
2. Gmail / IMAP MCP
Email is where most business information lives and almost nobody has it integrated with their AI tools.
With an IMAP MCP server connected, Claude can:
- Search your inbox for specific senders or subjects
- Read the full content of emails including attachments
- Check whether someone replied to a message you sent
- Find invoices or receipts by amount or vendor
The practical use case that matters most: invoice processing.
Me: Find all invoices from last month and summarize them by vendor
Claude: [searches IMAP for invoices, reads each one, extracts amounts]
Found 14 invoices from March:
- Vendor A: $340 (3 invoices)
- Vendor B: $1,200 (1 invoice)
...
Total: $4,820
This used to take 45 minutes of clicking through Gmail tabs. Now it takes 30 seconds.
Important security note: your IMAP credentials are stored locally in the config file. Do not commit that file to a public repository. Add claude_desktop_config.json to your .gitignore.
3. Meta Ads MCP
This one surprised me the most.
With Meta Ads connected, Claude can pull campaign performance, ad set metrics, and creative data. You ask in plain English and get structured data back.
Me: Which ad sets spent more than $50 yesterday but had a ROAS below 1.5?
Claude: [calls get-adsets, filters by spend and ROAS]
3 ad sets match:
1. Ad Set A - $78 spend - 1.2 ROAS
2. Ad Set B - $91 spend - 1.1 ROAS
3. Ad Set C - $53 spend - 1.4 ROAS
Recommendation: pause or reduce budget on Ad Set B (highest spend, lowest ROAS).
The Meta Ads MCP is read-optimized for safety. Write operations (pausing, adjusting budgets) go through a separate script that requires explicit confirmation before any change executes.
The rule: reads happen automatically. Writes always require a --confirm flag or explicit approval step.
The Compound Effect
The real value of MCP is not any single connection. It is what happens when two connections work together.
Example session: Claude pulls ad spend from Meta, cross-references with order volume from Shopify, spots the correlation between one specific ad creative and a spike in returns, and recommends pausing that creative.
That analysis used to require three separate tools, two exports, a spreadsheet, and 90 minutes. Now it is one session.
Another example: Claude searches Gmail for supplier invoices, compares them against Shopify COGS fields, flags discrepancies, and drafts an email to the supplier with the specific line items in question.
Three external systems, one coherent workflow, no manual data transfer.
Three connections and you have a live link between your operations, your revenue, and your communications. Here is where to go deeper.
What to Watch Out For
Token scope creep. Only grant the permissions each MCP server actually needs. If you are only doing read operations on Shopify, use a read-only token. Write access is a separate token that you only add when you need it.
Config file security. Your MCP config holds API keys. Treat it like a .env file. Never commit it. Never share it.
Context window cost. If an MCP tool returns 10,000 rows of order data, all of it enters Claude's context. Scope your tool calls. Ask for specific date ranges and limits instead of "all orders."
Server restarts. MCP servers run locally. If you restart your machine, you need to restart Claude Desktop to reconnect. Some setups automate this with a login item or startup script.
Setting Up MCP in Practice
Find or build an MCP server for your service. Many exist on GitHub already for common tools (Shopify, Gmail, GitHub, Notion, Slack, Stripe).
Add the server config to
claude_desktop_config.jsonwith the correct command and credentials.Restart Claude Desktop.
Test with a simple read query to confirm the connection.
Build a session workflow around what it enables.
The setup for each server typically takes under an hour. The Shopify and Gmail servers are both under 200 lines of code if you want to understand what they do before running them.
Where to Go From Here
MCP plus hooks is the full Claude Code setup. Hooks automate what happens locally during a session. MCP connects Claude to live external data.
Together, they turn Claude Code from a smart text editor into an agent that operates across your entire business stack.
Start with one connection - whichever service holds the most information you currently have to manually extract. Set it up, run a few sessions with it, and see what becomes possible before adding the next one.
Want the MCP config templates? I put together working configurations for Shopify, Gmail IMAP, and a generic REST wrapper that works for most APIs. Free below.
[Get the MCP config starter pack]










