Get started

MCP concepts

Model Context Protocol is an open standard from Anthropic for connecting AI assistants to external tools, data, and APIs. Three primitives, one transport.

The three primitives

  • Tools — functions the AI can invoke. Each has a name, a description, an input schema (JSON Schema or Zod), and a server-side implementation. The AI decides when to call them based on the description.
  • Resources — read-only data the AI can fetch. URI-addressed. Think files, documents, database records.
  • Prompts — parameterized prompt templates the server exposes to the client. Used for orchestration patterns the server author wants to encourage.

Transport: Streamable HTTP

Every generated server speaks Streamable HTTP (MCP spec 2025-11-25). The previous SSE transport was deprecated in June 2025 and is not supported here. One HTTP endpoint at /mcp, optionally negotiating a long-lived stream viatext/event-stream when the server wants to push updates.

single request
POST /mcp HTTP/1.1
Authorization: Bearer <jwt>
Content-Type: application/json
Accept: application/json, text/event-stream

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list"
}

Session lifecycle

  • initialize — client sends protocol version + capabilities, server returns its info and assigns a session id via the mcp-session-id header.
  • notifications/initialized — client confirms readiness. Server is now free to push notifications.
  • tools/list, tools/call, resources/list,prompts/list — the work.

Why MCP and not just REST

REST APIs need bespoke OpenAPI integration per client. MCP standardizes the discovery, invocation, auth and streaming so any spec-compliant client picks up any spec-compliant server with zero glue code. That's the entire point.