Skip to content

MCP: Connecting AI to Everything

MCP stands for Model Context Protocol. It’s an open standard that lets Claude connect to external software — your email, your calendar, your browser, your files, and anything else that implements it.

The clearest analogy: it’s USB-C for AI. USB-C is a single connector standard that works for power, display output, data transfer, and more. MCP is the same idea for AI connections — one standard interface, unlimited device types on the other end.

Before MCP, AI tools needed custom, one-off integrations for every service. Now, any developer can build an MCP server once and Claude can talk to it immediately.

Claude Code <──MCP──> MCP Server <──API──> External Service
(runs locally) (Gmail, Notion, etc.)

That’s it. Three pieces:

  1. Claude Code — sends requests and receives results
  2. MCP Server — a small background process that runs on your machine, handles auth, and translates between Claude and the service
  3. External Service — Gmail, Google Calendar, Notion, whatever you’re connecting to

The MCP server handles the messy stuff: OAuth tokens, API rate limits, data formatting. Claude just sees clean tools it can call.

ServerWhat it connectsWhat Claude can do
GmailGoogle MailRead emails, search inbox, draft and send replies
Google CalendarGoogle CalendarList events, check free time, create and update events
FirecrawlAny websiteScrape pages, crawl sites, extract structured data
NotionNotion workspaceSearch pages, create and update content
DiscordDiscord serversRead channels, send messages
FilesystemYour local filesRead, write, list, and organize files
SQLiteLocal databasesRun queries, inspect schema, insert data
Brave SearchWeb searchSearch the web with source filtering

MCP servers are configured in ~/.claude/settings.json. Here’s a walkthrough using Gmail as the example.

Most MCP servers are published as npm packages. The Gmail server is @gptscript-ai/gmail-mcp (or a similar community package — search “Gmail MCP server” for current options).

Open ~/.claude/settings.json and add an entry under mcpServers:

{
"mcpServers": {
"gmail": {
"command": "npx",
"args": ["-y", "@gptscript-ai/gmail-mcp"],
"env": {
"GMAIL_CLIENT_ID": "your-client-id",
"GMAIL_CLIENT_SECRET": "your-client-secret"
}
}
}
}

For Gmail, you’ll need OAuth credentials from Google Cloud Console:

  1. Go to console.cloud.google.com
  2. Create a project (or use an existing one)
  3. Enable the Gmail API
  4. Create OAuth 2.0 credentials (Desktop app type)
  5. Download the client ID and secret

Start Claude Code and the MCP server will prompt you to complete the OAuth flow. You’ll open a browser link, approve access, and Claude will be connected.

What emails do I have from this week?

If the server is working, Claude will read your inbox and summarize what’s there.

!!! tip “Most MCP servers follow this same pattern” Find the package, add to settings.json, get credentials for that service, authenticate once. The steps are nearly identical regardless of which service you’re connecting.

The ecosystem is growing fast. Good places to look:

  • mcp.so — community directory of MCP servers
  • Smithery — curated MCP server marketplace
  • Awesome MCP Servers — GitHub list maintained by the community
  • Anthropic’s official docs — reference implementations and verified servers

Connecting Claude to your services means Claude can act on your behalf. A few things to keep in mind:

!!! warning “Understand what you’re granting” When you authorize an MCP server, it can typically read and sometimes write to that service. Review what permissions each server requests. A calendar server probably only needs to read and create events — if it’s asking for access to your entire Google account, that’s a red flag.

Your credentials stay local. MCP servers run on your machine. Your API keys and OAuth tokens don’t leave your computer — they go from your settings file to the MCP server process to the external service directly. Claude the model never sees your raw credentials.

Data passes through the MCP server. When Claude reads your email, the email content travels from Gmail → MCP server → Claude. That data is processed by Anthropic’s API. If you have emails you’d never share externally, think carefully about connecting your work email vs. a personal account.

Review what tools each server exposes. A well-built MCP server exposes narrow tools (read_email, search_email, draft_reply). Be cautious with servers that expose very broad permissions (do_anything_with_account).

!!! info “The principle of least privilege” Connect services with the minimum access they need. If you only want Claude to read your calendar, don’t grant it write access. Most MCP servers let you configure scope.