MCP with Claude: Basics, Quick Tutorial, and Top 10 MCP Servers

MCP Claude, MCP Server, MCP Tools, MCP Use Cases, MCP Use Cases, Model Context Protocol (MCP)

What is Claude MCP?

Claude MCP refers to Claude’s support for the Model Context Protocol (MCP), an open standard originally created by Anthropic that lets AI models, including Claude, securely interact with local data, external tools, and databases, such as GitHub, Google Drive, or Slack. It functions as a connector, or bridge, for components like Claude Desktop, Claude Code, or the Claude API, enabling capabilities like reading files, querying databases, and executing code.
MCP defines a common interface and communication framework, often compared to a USB-C port for AI, so Claude can access real time information, execute actions through APIs, retrieve files, and interact with applications without a custom connector for each system.
MCP uses a client server architecture in which the AI host (Claude Desktop, Claude Code, or an application calling the Claude API) communicates with MCP servers that expose resources, tools, and workflows in a structured way, enabling dynamic, context aware behavior across platforms.
In December 2025, Anthropic donated MCP to the Agentic AI Foundation, a directed fund under the Linux Foundation, co-founded alongside Block and OpenAI with support from Google, Microsoft, AWS, Cloudflare, and Bloomberg. The move keeps MCP’s governance open and vendor neutral as adoption has grown well beyond Claude, to include ChatGPT, Gemini, Microsoft Copilot, and Visual Studio Code, among others. That’s worth knowing because it means MCP is no longer a Claude-only or even an Anthropic-only standard: a server you connect to Claude today will generally work the same way with other MCP-compatible clients.

Why Model Context Protocol Matters for Claude-based Systems

Model Context Protocol is especially important for systems built on Claude because it expands Claude beyond an isolated text generator into an integrated agent that can perform real world tasks. With MCP, Claude can access up to date data and tools inside enterprise systems, productivity apps, databases, and desktop environments, making its responses more accurate and relevant to the user’s context.

MCP reduces the development burden of writing custom connectors for each tool, accelerates integration with third party services, and enables a richer, interactive experience, such as drafting Slack messages or updating project management platforms directly within a Claude session. In broader terms, adopting MCP fosters an interoperable ecosystem where AI assistants aren’t siloed but can act on behalf of users across diverse applications, a key capability for advanced AI agents and enterprise-grade workflows.

Use Cases of Claude with MCP Integration

Workflow Automation and Productivity Improvements

UUsing MCP, Claude can interact with calendars, email systems, task managers, and document editors through standardized interfaces. For example, a user can ask Claude to summarize unread emails, schedule meetings based on availability across participants, or auto-generate weekly reports from data in spreadsheets and project trackers.

Because MCP allows Claude to act as an intermediary between systems like Google Workspace, Microsoft 365, and enterprise CRMs, it reduces friction in cross-application workflows. This enables users to orchestrate complex tasks, such as drafting follow-up messages based on CRM activity or updating tasks based on meeting notes, without switching between tools or writing glue code.

Real-Time External Data Access for Context and Analysis

MCP allows Claude to query APIs, pull in structured data, and fetch live updates from external services as part of its reasoning process. This means Claude can incorporate current stock prices, weather conditions, or system health metrics directly into its responses without pretraining on that data.

In enterprise use cases, Claude can retrieve real time metrics from business dashboards, perform on demand database queries, or generate summaries of logs and alerts. This bridges the gap between static model knowledge and dynamic environments, allowing Claude to generate contextually accurate outputs grounded in the most recent information available.

Development and Coding Workflows via Claude Code

With MCP integrations, Claude Code can connect to code repositories, build tools, issue trackers, and development environments to assist with real world programming tasks. It can search codebases, suggest pull request changes, or generate boilerplate code based on current project structures and standards.

Claude can also interact with CI/CD pipelines to trigger builds, run tests, or analyze failures through natural language prompts. This turns it into a developer co-pilot that doesn’t just suggest code, but operates within the developer’s actual toolchain, improving automation, consistency, and developer velocity.

Claude MCP Servers vs. the Claude API: Two Ways to Connect

Most of this guide covers connecting MCP servers to Claude Code and Claude Desktop, since that’s how most people use Claude MCP day to day. But if you’re building your own application on the Claude API, there’s a second, separate way to bring MCP into Claude: the MCP connector, available directly in the Messages API.
Instead of running your own MCP client, you list one or more remote MCP servers in the mcp_servers array of your API request, along with an mcp_toolset entry per server that controls which tools are enabled, denylisted, or deferred from loading:

client = anthropic.Anthropic()

response = client.beta.messages.create(
    model="claude-opus-5-5",
    max_tokens=1000,
    messages=[{"role": "user", "content": "What tools do you have available?"}],
    mcp_servers=[
        {
            "type": "url",
            "url": "https://example-server.modelcontextprotocol.io/sse",
            "name": "example-mcp",
            "authorization_token": "YOUR_TOKEN",
        }
    ],
    tools=[{"type": "mcp_toolset", "mcp_server_name": "example-mcp"}],
    betas=["mcp-client-2025-11-20"],
)

A few things worth knowing about this route:

  • The server must be publicly reachable over HTTP, using either Streamable HTTP or the older SSE transport. Local stdio servers can’t be connected this way; that’s a Claude Code and Claude Desktop feature only.
  • You can allowlist or denylist individual tools per server through the mcp_toolset configuration, rather than exposing every tool a server offers.
  • OAuth authenticated servers work through an authorization_token field; you handle obtaining and refreshing that token yourself, or via the MCP inspector for testing.
  • This is a distinct beta feature from Claude Code’s claude mcp add, with its own versioned beta header, currently mcp-client-2025-11-20.

If you just want Claude to use MCP tools interactively while you work, the rest of this guide, covering Claude Code and Claude Desktop, is what you want. If you’re integrating MCP into a product you’re building on the Claude API, the MCP connector is the piece to read up on next.

Quick Tutorial: Connecting Claude Code to Tools via MCP

Installing MCP Servers

To connect Claude Code to external tools using the Model Context Protocol (MCP), you must configure MCP servers. These servers act as bridges between Claude and third party APIs or services. The three most common transport types are below. Claude Code also supports remote WebSocket servers, which are configured with claude mcp add-json rather than the –transport flag.

1. Remote HTTP Servers

This is the recommended and most widely supported option, especially for cloud based services. You can add an HTTP server with the following command:

claude mcp add --transport http <name> <url>

For example, to connect to Notion:

claude mcp add --transport http notion https://mcp.notion.com/mcp

You can also include authentication headers:

claude mcp add --transport http secure-api https://api.example.com/mcp \

  --header "Authorization: Bearer your-token"

2. Remote SSE Servers

This transport is deprecated and should only be used when HTTP is not available. On recent versions of Claude Code, claude mcp add –transport http switches to SSE automatically when a server doesn’t accept HTTP. To connect over SSE directly, use the following syntax:

claude mcp add --transport sse <name> <url>

Example:

claude mcp add --transport sse asana https://mcp.asana.com/sse

3. Local stdio Servers

These run locally and are useful for direct system access or running custom scripts. Use a double hyphen (–) to separate configuration flags from the command:

claude mcp add --transport stdio <name> -- <command> [args...]

Example:

claude mcp add --transport stdio --env AIRTABLE_API_KEY=YOUR_KEY airtable \`

  -- npx -y airtable-mcp-server

On Windows (non-WSL), you must use cmd /c to execute commands like npx:

claude mcp add --transport stdio my-server -- cmd /c npx -y @some/package

Additional options:

  • Use --header for authentication
  • Use --env to set environment variables
  • Use MCP_TIMEOUT to configure startup timeout
  • Use MAX_MCP_OUTPUT_TOKENS to increase output token limits

Claude Code MCP List Command

Once you’ve added a server, use claude mcp list to see every server and its connection status at a glance:
claude mcp list

notion  –  ✔ Connected

secure-api – ✔ Connected

airtable  – ✘ Failed to connect

The status column tells you what to check next:

STATUS MEANING
⊘ Disabled for this project The server is turned off for this project. Re-enable it from the /mcp panel.
! Needs authentication Reachable, but needs a browser sign-in or a token passed with --header.
✘ Failed to connect The server didn’t respond. Check the URL, and for local servers, run the underlying command directly to see the raw error.
⏸ Pending approval A project-scoped server you haven’t approved yet; run claude to approve it.

Other commands for managing servers:

claude mcp get # Get server details

claude mcp remove # Remove server

Claude Code also supports dynamic tool updates via list_changed notifications, allowing servers to push tool changes without a manual reconnect.

MCP Installation Scopes

When you add an MCP server, you must choose its scope. The scope determines who can access the server and in which contexts. There are three scopes:

1. Local Scope (Default)

Servers are stored in ~/.claude.json and are private to your user within the current project. These are useful for personal testing or tools that include sensitive credentials.

Example:

claude mcp add --transport http stripe https://mcp.stripe.com

Or explicitly:

claude mcp add --transport http stripe --scope local https://mcp.stripe.com

2. Project Scope

Servers are defined in .mcp.json at the root of the project and are meant to be shared across the team. These configs can be committed to version control. Claude Code will prompt for confirmation before using shared servers from this file.

Example:

claude mcp add --transport http paypal --scope project https://mcp.paypal.com/mcp

3. User Scope

User-scoped servers are also stored in ~/.claude.json but are accessible across all projects on your system. Use this for tools you frequently access.

Example:

claude mcp add --transport http hubspot --scope user https://mcp.hubspot.com/anthropic

Scope Precedence

 If servers share the same name across scopes, Claude prioritizes them in the following order:

  1. Local
  2. Project
  3. User

Environment Variable Expansion

 .mcp.json files support environment variable interpolation, allowing flexible and secure configurations across environments.

Example:

{
  "mcpServers": {
    "api-server": {
      "type": "http",
      "url": "${API_BASE_URL:-https://api.example.com}/mcp",
      "headers": {
        "Authorization": "Bearer ${API_KEY}"
      }
    }
  }
}

If a referenced variable isn’t set and has no default, Claude Code still loads the configuration but shows a missing-variable warning in claude mcp list and uses the unexpanded ${VAR} text, so the server will usually fail to connect or authenticate. Set the variable or add a ${VAR:-default} fallback.

Managing and Troubleshooting Claude MCP Connections

A few things worth knowing beyond the basic add and connect flow:

Migrating from Claude Desktop. If you already have servers configured in Claude Desktop’s claude_desktop_config.json and want them in Claude Code too, run claude mcp add-from-claude-desktop on macOS or WSL to import them, rather than re-adding each one by hand.

Removing unused servers. By default, Claude Code uses tool search, so only each server’s tool names and instructions load at session start rather than every full tool definition. Unused servers still add connections and clutter, so remove the ones you’re not actively using with claude mcp remove <name>.

Common failure points, in order of how often they come up:

  • Wrong project directory. Local-scoped servers are tied to the project where you added them. If /mcp shows no servers configured, confirm you’re in the same directory (or git repository root) where you ran claude mcp add.
  • Missing the — separator. For stdio servers, everything after — is the command Claude Code runs. Leaving it out is one of the most common setup mistakes; claude mcp get <name> shows the command Claude Code will actually run, so you can compare it to what you intended.
  • Timeout on first run. A stdio server’s first run can be slow while npx downloads the package. Increase the startup timeout with the MCP_TIMEOUT environment variable, for example MCP_TIMEOUT=60000 claude for 60 seconds.
  • Missing environment variables. If a server connects but shows no tools, it’s often missing a required API key. Pass it with –env KEY=value on claude mcp add, or check the server’s documentation for which variables it needs.

Claude.ai and Claude Desktop MCP Connectors

Claude Code isn’t the only Claude surface that speaks MCP. Connectors you add at claude.ai/customize/connectors in the Claude.ai web app load automatically in Claude Code when you sign in with the same account, so a server you connect once in your browser doesn’t need to be re-added on the command line. On Team and Enterprise plans, only admins can add connectors. Claude Desktop has its own Connectors UI for adding external tools without touching a config file directly, and its servers can be imported into Claude Code with the add-from-claude-desktop command covered above. For organizations, Managed MCP settings let administrators control which servers are approved for use in Claude Code across an entire team, rather than leaving server approval to each individual user.

Notable Claude MCP Servers

Claude can be extended with a range of Model Context Protocol (MCP) servers, each unlocking capabilities that let it interact with tools, APIs, and data. Below is a breakdown of key MCP servers and what they enable Claude to do. Where an official, first party server exists, we’ve noted that; otherwise these are actively maintained community servers.

1. GitHub MCP Server (Official)

GitHub’s own MCP server integrates Claude with GitHub’s API, enabling it to perform source control and DevOps tasks across repositories and teams.

Key capabilities:

  • Read and analyze pull requests and issues: Claude can surface open issues by label, summarize PRs, or identify merge conflicts.
  • Trigger CI/CD workflows: Start GitHub Actions runs, check status, or analyze failed jobs directly through prompts.
  • Search repositories for context: Claude can find function definitions, code examples, or references within the repo history.
  • Create or update issues: Generate bug reports, document feature ideas, or post code review comments without switching tools.
  • OAuth-based access: Connect securely with an organization’s GitHub account through a browser-based flow.

Setup:

claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
  --header "Authorization: Bearer YOUR_GITHUB_TOKEN"

Use a scoped personal access token or GitHub App token rather than one with broad repo or admin scope; Claude only needs the permissions the tasks you’ll actually give it require.

Example:

Prompt in Claude Code:

Find all issues about authentication.

Claude retrieves matching issues directly from GitHub without leaving the terminal.

2. Apidog MCP Server

Apidog bridges Claude to live API specs, so it always generates and validates code against an organization’s real contract definitions.

Key capabilities:

  • Load OpenAPI/Swagger specs from local files or remote URLs, including those hosted in Apidog projects.
  • Generate client code such as TypeScript interfaces, Retrofit clients, or Java Spring controllers that match the user’s API definitions.
  • Create mock servers or test stubs to simulate API responses during development.
  • Update code with spec changes: Claude can refresh its understanding when the API evolves, reducing integration errors.

Setup:

Add this to mcp.json:

{
  "mcpServers": {
    "apidog": {
      "command": "npx",
      "args": ["-y", "apidog-mcp-server@latest", "--oas=<oas-url-or-path>"]
    }
  }
}

Restart Claude Code and test by requesting an endpoint specification.
Example:

Generate Java records for the Product schema based on the API specification.

Claude reads the spec and generates code aligned with the contract.

3. Filesystem MCP Server (Anthropic Reference)

This server allows Claude to directly interact with the local file system, automating routine edits and data extraction, scoped to directories you explicitly allow.

Key capabilities:

  • Read and write files using natural commands like “Add a license header to all .ts files.”
  • Edit or refactor code across multiple files, such as renaming variables or splitting modules.
  • Search project files by content or path, enabling Claude to answer questions like “Where is this function defined?”
  • Perform batch operations like cleaning logs, converting formats, or generating scaffolding.

Setup:

claude mcp add --transport stdio filesystem -- npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/directory

Example:

Update the README.md with a new section describing deployment steps.

4. Sequential Thinking MCP Server (Anthropic Reference)

Sequential Thinking enables Claude to deconstruct complex problems into logical steps, revising earlier assumptions as new information becomes available.

Key capabilities:

  • Break down large tasks like architectural planning, refactoring strategies, or feature rollout design.
  • Explore alternatives by evaluating multiple paths before making a recommendation.
  • Revise earlier assumptions mid-way through reasoning when new information becomes available.
  • Useful for ambiguous or open-ended problems where context evolves during discussion.

Setup:

claude mcp add --transport stdio sequential-thinking -- npx -y @modelcontextprotocol/server-sequential-thinking

Example:

Break down the steps to refactor this module.

5. Playwright MCP Server (Official, Microsoft)

Playwright MCP connects Claude to a real, controllable browser, and has become one of the most widely used MCP servers in the developer community. It needs no account and runs through npx out of the box, which makes it an easy first local server to try.

Key capabilities:

  • Automate website navigation and interactions, including login flows, form submissions, or multi-page actions.
  • Capture structured data by selecting DOM elements with precision using semantic roles and selectors.
  • Take full-page screenshots for visual validation or UI documentation.
  • Run headless tests as part of a local or CI-based workflow without needing a browser GUI.

Setup:

claude mcp add playwright -- npx -y @playwright/mcp@latest

Playwright drives whichever Chrome is already installed on your machine. To use a different browser, append –browser firefox (or another browser name) after @playwright/mcp@latest.

Example:

Use playwright to open https://example.com and tell me the page title.

6. PostgreSQL MCP Server

DBHub, an open source MCP server from Bytebase, gives Claude access to PostgreSQL databases, allowing it to perform SQL queries and interact with structured data using natural language.

Key capabilities:

  • Convert prompts to SQL: Claude can generate SELECT, INSERT, or JOIN queries based on the desired schema.
  • Query live databases to summarize metrics, generate reports, or check values.
  • Perform CRUD operations safely by validating commands before execution.
  • Analyze query results and format outputs as tables, charts, or summaries.

Setup:

claude mcp add --transport stdio postgres -- npx -y @bytebase/dbhub \
  --dsn "postgresql://readonly:pass@host:5432/db"

Use a read-only database user in the connection string where possible; only grant write access once you trust the specific queries Claude tends to generate.

Example:

Summarize sales data from the past month.

7. Notion MCP Server (Official)

The official Notion server allows Claude to interact with Notion workspaces, turning it into a knowledge management and documentation assistant.

Key capabilities:

  • Read from pages and databases, such as fetching meeting notes, specs, or task lists.
  • Create and edit Notion pages using structured input, great for documenting decisions or planning sprints.
  • Search content using filters like title, tags, or last edited time to retrieve relevant records.
  • Comment on pages or updates directly from Claude to enable asynchronous collaboration.

Setup:

claude mcp add --transport http notion https://mcp.notion.com/mcp

Authenticate via OAuth and restart Claude Code.

Example:

Add a new task to Notion for code review.

Claude creates the task directly in Notion.

8. Terminal MCP Server

This server lets Claude execute shell commands directly in your local environment, useful for running scripts, checking system state, or automating repetitive command-line tasks without you dictating each command manually.

Key capabilities:

  • Run shell commands and return their output directly in the conversation.
  • Chain multi-step command-line workflows, such as build, test, deploy sequences.
  • Inspect the local environment, checking installed versions, running processes, or file permissions.

Because this server can run arbitrary commands, treat it as high-risk: scope it to a sandboxed environment where possible, and review what Claude runs before approving it, especially in a shared or production-adjacent environment.

Configure and restart Claude Code.

Example:

Run the test suite and summarize any failures.

9. REST API MCP Server

A general-purpose server for connecting Claude to any external REST API, useful when a purpose-built MCP server doesn’t exist yet for the service you need.

Key capabilities:

  • Call arbitrary REST endpoints based on an OpenAPI spec or manually defined tool schema.
  • Handle authentication via API keys, bearer tokens, or basic auth, depending on configuration.
  • Return structured JSON responses Claude can parse and act on directly.

Example:

Look up the current status of order 4471 from our fulfillment API.

10. Zapier MCP Server

The Zapier server empowers Claude to automate workflows across thousands of other apps, acting as a no-code bridge for cross-app actions.

Key capabilities:

  • Trigger actions in hundreds of apps, like sending a Slack message when a GitHub PR is opened.
  • Read and write data to tools like Google Sheets, Trello, and Gmail.
  • Automate status updates, alerts, or report generation as part of daily workflows.
  • Securely authenticate using OAuth, with no need for hardcoded keys.

Setup:

claude mcp add --transport http zapier https://mcp.zapier.com/mcp

Authenticate with Zapier via OAuth when prompted.

Example:

Send a Slack message when a new PR is opened.

Related content: Read our guide to MCP tools

Managing MCP Servers and Workflows with Obot

If you’re evaluating Claude MCP for internal tools, developer workflows, or cross-app automation, a handful of personal servers is easy to manage by hand. It stops being easy once a team is running many MCP servers with different access levels, credentials, and compliance requirements. Claude Code adds a second problem: it runs on each developer’s laptop, and a local stdio server or a .mcp.json committed to a repository can connect Claude to tools that no central system ever sees. That’s where a few practices, and a control plane, start to matter:

  • Use scoped tokens, not broad ones. Whether it’s a GitHub personal access token or a database credential, grant the narrowest access a server’s actual tasks require.
  • Audit what servers return, not just whether they connect. A connected server that leaks more data than intended is a bigger risk than one that fails to connect at all.
  • Prefer managed plugins or a catalog over one-off installs once more than a couple of people are configuring MCP servers, so access and versions stay consistent across a team instead of drifting per developer.
  • Route sensitive workflows through a gateway rather than direct client-to-server connections, so you get centralized authentication, logging, and the ability to revoke one client’s access without affecting everyone else’s.
  • Cover the laptop, not just the network. Servers added with claude mcp add on a developer machine never touch a gateway, so you need visibility on the device itself to know what Claude is actually connected to.

Obot is an enterprise AI control plane that applies these practices wherever Claude runs. It lets you define what agents can reach, choose where they run, and prove what they did. Claude Code’s managed MCP settings govern Claude Code itself; Obot extends the same control across every client and agent your organization uses.
At the gateway, Obot gives Claude Code, Claude Desktop, and applications built on the Claude API a single governed catalog of MCP servers, with centralized authentication and tool-level access control. Several servers can be composed into one governed endpoint that exposes only the tools a given team needs.
On developer devices, Obot Sentry shows which MCP servers Claude Code is actually using and can enforce policy on them, including servers added locally that never route through a gateway.
In hosted environments, teams can run Claude Code inside a contained boundary managed through Obot, under the same policies as everything else.
Every action, in every place, lands in one audit record. Explore the open source project and try it in your environment, or read the whitepaper for the full picture on MCP adoption and maturity framework.

FAQ

What is Claude MCP?

Claude MCP is Claude’s support for the Model Context Protocol, an open standard that lets Claude connect to external tools, data sources, and APIs through a consistent interface, instead of requiring a custom integration for each one.

How do I add an MCP server to Claude Code?

Run claude mcp add –transport http for a hosted server, or claude mcp add –transport stdio — for a local one. Check the connection with claude mcp list.

What does the claude mcp list command show?

It lists every MCP server registered for your current context, along with a status indicator (✔ Connected, ✘ Failed to connect, ! Needs authentication, and others) so you can see at a glance what’s working and what needs attention.

What’s the difference between Claude MCP in Claude Code and the Claude API’s MCP connector?

Claude Code and Claude Desktop connect to MCP servers, including local ones, for interactive use while you work. The Claude API’s MCP connector is a separate beta feature for developers building their own applications: you list remote MCP servers directly in a Messages API request, without running your own MCP client, though local stdio servers aren’t supported that way.

Does Claude.ai support MCP?

Yes. Connectors added at claude.ai/customize/connectors in the Claude.ai web app load automatically in Claude Code when you’re signed in with the same account.

Is MCP a Claude-specific standard?

No. Anthropic created MCP and donated it to the Agentic AI Foundation, a directed fund under the Linux Foundation, in December 2025. It’s now used by ChatGPT, Gemini, Microsoft Copilot, Visual Studio Code, and other clients beyond Claude, though Claude remains one of its most complete implementations.

Which MCP servers should I try first with Claude?

Context7 or a documentation-focused server for reducing hallucinated APIs, the official GitHub MCP server if your work touches repositories, and Playwright MCP if you need browser automation, cover the most common day-to-day cases.

How do teams govern Claude MCP across an organization?

Claude Code’s managed MCP settings let admins approve which servers Claude Code can use. For governance across every client and agent, teams add a control plane such as Obot. It provides one approved catalog of MCP servers with centralized authentication and audit logging at the gateway, Obot Sentry for visibility and enforcement on developer laptops, and hosted environments for running Claude Code inside a contained boundary.

Bottom Line

Claude MCP is what turns Claude from a conversational assistant into something that can act on real systems on your behalf, whether that’s through Claude Code at the command line, Claude Desktop, Claude.ai in the browser, or the Claude API directly. Start with one server, confirm it connects with claude mcp list, and expand from there as you find tools that fit your actual workflow. Once more than a few people are connecting servers, put a control plane like Obot in front of them, so every agent works under policy and every action stays on record.