🤖AI Agents Guide
TutorialsComparisonsReviewsExamplesIntegrationsUse CasesTemplatesGlossary
Get Started
🤖AI Agents Guide

Your comprehensive resource for understanding, building, and implementing AI Agents.

Learn

  • Tutorials
  • Glossary
  • Use Cases
  • Examples

Compare

  • Tool Comparisons
  • Reviews
  • Integrations
  • Templates

Company

  • About
  • Contact
  • Privacy Policy

© 2026 AI Agents Guide. All rights reserved.

Home/Glossary/What Is an MCP Client?
Glossary7 min read

What Is an MCP Client?

An MCP client is the host application that connects to one or more MCP servers to gain access to tools, resources, and prompts. Examples include Claude Desktop, VS Code extensions, Cursor, and custom AI agents built with the MCP SDK.

Server rack with blinking connection lights representing MCP client-server communication
Photo by Imgix on Unsplash
By AI Agents Guide Team•March 1, 2026

Term Snapshot

Also known as: MCP Host, MCP Consumer, Model Context Protocol Client

Related terms: What Is an MCP Server?, What Is MCP Transport?, What Is the MCP SDK?, What Are AI Agents?

Table of Contents

  1. Quick Definition
  2. Why MCP Clients Matter
  3. How an MCP Client Works
  4. Well-Known MCP Clients
  5. Claude Desktop
  6. Cursor
  7. Continue (VS Code Extension)
  8. Custom Agents
  9. MCP Client vs. MCP Server at a Glance
  10. Building a Custom MCP Client in TypeScript
  11. MCP Client Configuration in Claude Desktop
  12. Multi-Server Client Orchestration
  13. Getting Started
  14. Related Terms
  15. Frequently Asked Questions
a blurry photo of a city at night
Photo by MARIOLA GROBELSKA on Unsplash

What Is an MCP Client?

An MCP client is the application that connects to one or more MCP servers and uses their exposed capabilities on behalf of an AI model or user. If the Model Context Protocol is the USB standard, the MCP client is the laptop — it initiates connections, discovers what is available, and orchestrates calls across multiple servers.

Understanding what a client does (and does not do) is the foundation for building effective AI agent systems with MCP.

Quick Definition#

An MCP client is a host application that manages connections to MCP servers, discovers their tools, resources, and prompts, and invokes them on behalf of an AI model.

The client is always the active party: it connects, it requests, it manages session lifecycle. The server responds and executes.

Why MCP Clients Matter#

Before MCP, every AI integration was bespoke. If you wanted Claude to query a database, you wrote a custom tool. If you then wanted GPT-4 to query that same database, you wrote another custom tool with a different API. Every model, every framework, every use case required separate integration code.

The MCP client-server model separates two concerns that used to be tangled:

  • Tool implementation (the server's job): Write the database query logic once, expose it via MCP.
  • Tool invocation (the client's job): The client discovers available tools and calls them regardless of which AI model is doing the reasoning.

This means a single MCP server that queries your PostgreSQL database works identically whether it is called from Claude Desktop, Cursor, a custom LangChain agent, or a headless automation pipeline — as long as each of those has an MCP client.

How an MCP Client Works#

When an MCP client starts a session with a server, it follows a defined initialization protocol:

  1. Transport connection: The client establishes a connection via the configured transport (stdio for local processes, HTTP/SSE or WebSocket for remote servers). See MCP transport for details.

  2. Initialize handshake: The client sends an initialize request with its protocol version and capabilities. The server responds with its own version and capability list.

  3. Capability discovery: The client calls tools/list, resources/list, and prompts/list to learn what the server exposes.

  4. Tool and resource calls: When the AI model determines a tool should be called (see tool calling), the client sends a tools/call request and returns the result to the model.

  5. Session lifecycle: The client manages the connection, handles errors, and can send shutdown signals.

The client is responsible for routing: when you have ten servers connected, the client knows which server owns which tool and routes each call correctly.

Well-Known MCP Clients#

Claude Desktop#

The most widely used MCP client. Claude Desktop ships with native MCP support and lets you configure servers in a claude_desktop_config.json file. It handles stdio transport automatically — you specify the command to launch each server, and Claude Desktop manages the subprocess and IPC.

Cursor#

The Cursor code editor integrates MCP to give its AI assistant access to custom tools. Cursor acts as an MCP client connecting to servers you configure in its settings, making file system access, database queries, and custom APIs available to the AI within the editor context.

Continue (VS Code Extension)#

The Continue extension for VS Code implements MCP client support, allowing developers to connect their editor AI to MCP servers. This is useful for context retrieval tools, code database queries, and documentation lookups during development.

Custom Agents#

The most powerful use of MCP clients is building your own. Using the TypeScript or Python SDK, you can create an agent that:

  • Connects to multiple MCP servers at startup
  • Presents all discovered tools to an LLM (as function-calling definitions)
  • Routes tool calls from the LLM to the appropriate server
  • Handles results and continues the agent loop

This is how teams build production AI systems that use MCP for tool access while keeping full control over the agent orchestration logic.

MCP Client vs. MCP Server at a Glance#

AspectMCP ClientMCP Server
RoleInitiates connection, calls toolsListens for connections, executes tools
ExamplesClaude Desktop, Cursor, custom agentsGitHub MCP, PostgreSQL MCP, file system MCP
ManagesSession lifecycle, tool routingTool implementation, data access
Can connect toMultiple servers simultaneouslyTypically one domain
Built withMCP SDK client classesMCP SDK server classes

Building a Custom MCP Client in TypeScript#

Here is a minimal example of an MCP client that connects to a local server and lists its tools:

import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";

const transport = new StdioClientTransport({
  command: "python",
  args: ["my_mcp_server.py"],
});

const client = new Client(
  { name: "my-agent", version: "1.0.0" },
  { capabilities: {} }
);

await client.connect(transport);

// Discover available tools
const tools = await client.listTools();
console.log("Available tools:", tools.tools.map(t => t.name));

// Call a tool
const result = await client.callTool({
  name: "search_database",
  arguments: { query: "active users", limit: 10 },
});
console.log("Result:", result.content);

await client.close();

For connecting to a remote MCP server over HTTP/SSE, replace StdioClientTransport with SSEClientTransport and provide the server URL. See the deploy remote MCP server tutorial for the server side of this pattern.

MCP Client Configuration in Claude Desktop#

Claude Desktop reads server configurations from a JSON file. On macOS, it is located at ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/projects"]
    },
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres"],
      "env": {
        "POSTGRES_CONNECTION_STRING": "postgresql://localhost/mydb"
      }
    }
  }
}

Each entry tells Claude Desktop (the MCP client) how to launch and connect to that server. Claude handles subprocess management, stdio piping, and the initialization handshake automatically.

Multi-Server Client Orchestration#

One of the most important capabilities of MCP clients is connecting to multiple servers simultaneously. A single Claude Desktop instance might connect to:

  • A file system MCP server (local file access)
  • A GitHub MCP server (repository data)
  • A PostgreSQL MCP server (application database)
  • A custom internal API server (company-specific tools)

The client presents all tools from all servers to the AI model as a unified capability set. The AI does not know or care which server owns which tool — it calls read_file, list_pull_requests, or query_orders and the client routes each call to the appropriate server.

This orchestration is what makes MCP a genuine protocol rather than just a library. The agentic workflow runs in the client; the execution happens in the server.

Getting Started#

To explore MCP clients practically:

  1. Install Claude Desktop ↗ and configure your first server using the JSON config above.
  2. Study the build MCP server tutorial to understand what servers expose.
  3. For custom agents, install the TypeScript SDK: npm install @modelcontextprotocol/sdk
  4. For the Python SDK: pip install mcp
  5. Browse the MCP server directory ↗ for ready-to-use servers.

Related Terms#

Browse all terms in the AI agent glossary.

  • MCP Server — the capability provider the client connects to
  • Model Context Protocol — the full protocol specification
  • MCP Transport — how clients and servers communicate
  • MCP SDK — the official libraries for building clients and servers
  • Tool Calling — the AI mechanism that drives tool invocation

Frequently Asked Questions#

Can an MCP client connect to multiple servers at the same time?

Yes. Most production MCP clients — including Claude Desktop — support connecting to many servers simultaneously. Each server runs as a separate process (for stdio transport) or separate endpoint (for HTTP transport). The client merges their capability lists and routes each tool call to the correct server.

Does the MCP client need to handle authentication?

It depends on the transport and server configuration. For local stdio servers, authentication is typically not needed because the server runs as a subprocess of the client with the same user permissions. For remote HTTP/SSE servers, the client must send authentication credentials — typically an API key in an HTTP header or an OAuth 2.1 token. See MCP authentication for details.

Is Claude itself an MCP client?

Claude (the model) is not an MCP client — the application running Claude is. Claude Desktop is an MCP client that runs Claude as its AI model. When Claude Desktop calls an MCP server, it is the Claude Desktop application making the network or IPC call, not the Claude model itself. The model only sees tool descriptions and results; the client handles the actual protocol communication.

Tags:
mcparchitecturefundamentals

Related Glossary Terms

What Is an MCP Server?

An MCP server is a lightweight program that exposes tools, resources, and prompts to AI agents via the Model Context Protocol (MCP) — a standardized interface that lets any MCP-compatible AI client connect to external data sources and capabilities without custom integration code.

What Is Few-Shot Prompting?

Few-shot prompting is a technique where a small number of input-output examples are included in a prompt to guide an LLM to produce responses in a specific format, style, or reasoning pattern — enabling rapid adaptation to new tasks without fine-tuning or retraining.

What Is MCP Transport?

MCP transport is the communication layer that carries messages between an MCP client and an MCP server. The three transports are stdio (local subprocess), HTTP with Server-Sent Events, and WebSocket — each suited for different deployment scenarios.

What Is a Multimodal AI Agent?

A multimodal AI agent is an AI system that perceives and processes multiple input modalities — text, images, audio, video, and structured data — enabling tasks that require cross-modal reasoning, understanding, and action beyond what text-only agents can handle.

← Back to Glossary