---
title: "MCP | Glossary"
description: "MCP, the Model Context Protocol, is a contract for how a model calls tools: what it may see, what it may change, and how the call is logged. The official…"
image: "https://lenvanderhof.com/photos/len-portrait-1.jpg"
---

Term

# MCP

MCP, the Model Context Protocol, is a contract for how a model calls tools: what it may see, what it may change, and how the call is logged. The official split is host, client, and server, with tools, resources, and prompts as the primitives. Auth is optional; least privilege is not. A server without a contract is a hole in the repo. Founders should care about the interface and the permission, not the logo on the protocol. A clean server with no charter is still a hole with nicer plumbing.

## When to use it

Use it when an agent can touch files, mail, or money and nobody wrote the ceiling down. If the permission lives in a Slack thread, you do not have a contract.

## Do not confuse with

Not a vendor product line and not the definition of an agent. MCP is how a worker is allowed to touch the building. The worker still needs a charter.

## Essays on this site

- [MCP explained for founders](https://lenvanderhof.com/en/blog/mcp-explained-for-founders/)
- [The Agentic Codebase: introduction](https://lenvanderhof.com/en/blog/the-agentic-codebase-introduction/)
- [Version the agent OS](https://lenvanderhof.com/en/blog/stack-version-the-agent-os/)
- [LLM integration is an operating-design problem](https://lenvanderhof.com/en/blog/llm-integration-is-operating-design/)
- [MCP meaning: Model Context Protocol, not a product](https://lenvanderhof.com/en/blog/mcp-meaning/)
- [What is STACK? Five layers, not a vendor diagram](https://lenvanderhof.com/en/blog/what-is-stack/)

```json
{
	"@context": "https://schema.org",
	"@graph": [
		{
			"@type": "DefinedTerm",
			"@id": "https://lenvanderhof.com/glossary/mcp/#term",
			"name": "MCP",
			"description": "MCP, the Model Context Protocol, is a contract for how a model calls tools: what it may see, what it may change, and how the call is logged. The official split is host, client, and server, with tools, resources, and prompts as the primitives. Auth is optional; least privilege is not. A server without a contract is a hole in the repo. Founders should care about the interface and the permission, not the logo on the protocol. A clean server with no charter is still a hole with nicer plumbing.",
			"url": "https://lenvanderhof.com/glossary/mcp/",
			"inDefinedTermSet": "https://lenvanderhof.com/glossary/"
		},
		{
			"@type": "WebPage",
			"@id": "https://lenvanderhof.com/glossary/mcp/#webpage",
			"url": "https://lenvanderhof.com/glossary/mcp/",
			"name": "MCP",
			"description": "MCP, the Model Context Protocol, is a contract for how a model calls tools: what it may see, what it may change, and how the call is logged. The official split is host, client, and server, with tools, resources, and prompts as the primitives. Auth is optional; least privilege is not. A server without a contract is a hole in the repo. Founders should care about the interface and the permission, not the logo on the protocol. A clean server with no charter is still a hole with nicer plumbing.",
			"inLanguage": "en",
			"isPartOf": {
				"@id": "https://lenvanderhof.com/#website"
			},
			"about": {
				"@id": "https://lenvanderhof.com/glossary/mcp/#term"
			},
			"mainEntity": {
				"@id": "https://lenvanderhof.com/glossary/mcp/#term"
			},
			"breadcrumb": {
				"@id": "https://lenvanderhof.com/glossary/mcp/#breadcrumb"
			}
		},
		{
			"@type": "BreadcrumbList",
			"@id": "https://lenvanderhof.com/glossary/mcp/#breadcrumb",
			"itemListElement": [
				{
					"@type": "ListItem",
					"position": 1,
					"name": "Home",
					"item": "https://lenvanderhof.com/"
				},
				{
					"@type": "ListItem",
					"position": 2,
					"name": "All terms",
					"item": "https://lenvanderhof.com/glossary/"
				},
				{
					"@type": "ListItem",
					"position": 3,
					"name": "MCP",
					"item": "https://lenvanderhof.com/glossary/mcp/"
				}
			]
		}
	]
}
```
