All posts
AI Engineering

What MCP Is: Hosts, Clients, Servers, Tools, and How Sign-In Works

By

November 9, 2026

8 min read

MCP (the Model Context Protocol) is the standard way an AI application connects to tools and data: Claude, ChatGPT, Cursor and VS Code speak it, and any company can publish a server. MCP explained in plain terms: the parts, what a server exposes, the two transports, how authorization works since the 2026 spec, where the security risks are, and when building a server is worth it.

MCP
AI Agents
Architecture

Before MCP, every AI application needed its own integration with every tool: a GitHub plugin for one assistant, a different one for the next. MCP replaces that with one protocol. A tool is wrapped once as an MCP server, and any application that speaks MCP can use it. Anthropic introduced it in November 2024; it is now an open standard that the major AI assistants and coding tools support.

Host

Claude, ChatGPT, Cursor, VS Code
Your own agent

The application the person uses. It decides which servers to connect and asks the user before sensitive actions.

Client

One per server connection, inside the host

Speaks the protocol: discovers what the server offers and calls it.

Server

Tools: actions the model can call
Resources: data it can read
Prompts: reusable templates

Wraps one product or system: GitHub, a database, your API.

Your systems

APIs
Databases
Files
SaaS products

The server calls these with the user's or its own credentials.

The parts of an MCP connection

What a server exposes

Primitive

What it is

Example

Tools

Functions the model may call, each with a name, a description and an input schema

create_issue, run_query, refund_order

Resources

Data the host can read into the model's context, identified by URI

A file, a database schema, a customer record

Prompts

Templates the user can pick, with arguments

"Summarize this incident"

Hosts can offer capabilities back to servers too: asking the user for missing input mid-task, and letting a server request a model completion through the host rather than holding its own model key.

Two ways to connect

Transport

How it works

Use it for

stdio

The host starts the server as a local process and talks over standard input and output

Developer tools on your own machine: a local repository, files, a local database

Streamable HTTP

The server is a web endpoint; the client sends JSON-RPC messages over HTTP and can receive streamed responses

Remote servers for customers and teams, hosted like any API

How sign-in works for remote servers

  1. The client calls the server and gets told it needs authorization, with a pointer to the server's protected-resource metadata (RFC 9728).

  2. From that metadata, the client finds the authorization server and its endpoints.

  3. The client identifies itself. Since the 2026-07-28 revision of the spec, the preferred way is a Client ID Metadata Document: the client's ID is a URL describing it. Dynamic client registration still works but is deprecated.

  4. The user signs in through OAuth 2.1 with PKCE in a browser, and the client receives a token bound to your server.

  5. Every call carries the token, and your server checks it like any API would.

Thinking about an MCP server for your product?

We'll go through what to expose, how customers will sign in, and what it takes to run safely. 30 minutes, free.

Where the risks are

  • Prompt injection: text a tool returns (an email, a web page, a ticket) can contain instructions the model follows. Treat every tool result as untrusted.

  • Tools that do too much: a single run_sql tool with write access turns any injection into a data change. Prefer narrow tools, read-only by default.

  • Over-broad tokens: a server holding an admin key acts as admin for every user. Use the user's own permissions where you can.

  • Untrusted servers: a server can describe its tools misleadingly. Install servers from sources you trust, and review what each tool does.

  • Confirmation: anything that spends money, deletes data or sends messages should ask the person first. Hosts support this; servers should mark which tools need it.

When an MCP server is worth building

Build one when

Skip it when

Customers already ask AI assistants to do things in your product

Your API is rarely used directly

Your product holds data people want in their AI conversations

The only use is your own internal agent, where direct API calls are simpler

You want to appear in MCP directories and AI tool marketplaces

You can't yet support OAuth sign-in for customers

On AWS, a server can run as a Lambda function or a container behind your usual API edge, and Amazon Bedrock AgentCore Gateway can turn existing APIs and Lambda functions into MCP tools without writing a server. Our posts on MCP authorization and on running MCP servers in production on AWS go further on both.

Want an MCP server for your product built properly?

We design the tools, the sign-in and the safeguards, and deploy it in your AWS account. 30 minutes, free.

hoolco Monthly Review

Once a month: what changed in tech that month and what it means for you, from cloud and AI to security and the tools you build with. Every item links to its source. No sales pitch, unsubscribe in one click.

As of November 9, 2026. Provided as is, for general information, and accurate to the best of our knowledge on the date shown. Not legal, compliance, tax, financial or other professional advice. Prices, limits and vendor services change; check current vendor documentation before relying on anything here. Terms of use.