# What MCP is and who does what

Lesson 1 of [MCP foundations for buyers](https://mcpdirectory.fyi/academy/mcp-foundations.md), 12 minutes.

The Model Context Protocol (MCP) lets an AI application connect to outside tools and data in a standard way. Messages are encoded with JSON-RPC and must be UTF-8.

## The parts

- **MCP client**: the component inside an AI application that connects to a server.
- **MCP server**: a program that exposes capabilities through MCP.
- **Tool**: an operation the client can ask a server to run.
- **Resource**: content a server can expose for context.
- **Prompt**: a reusable interaction template a server exposes.

A listing in this directory describes a server. Your AI application contains the client. The protocol is the agreement between them.

## Tools are chosen by the model

The specification describes tools as model-controlled: the language model can discover and call them based on your prompt and context. For that reason it says there should always be a human in the loop with the ability to deny a tool call. When you evaluate a server, read every tool it offers and ask which ones can change data.

## Discovery is not permission

A server can list a delete tool while your account has no right to delete anything. What a tool offers and what your account may do are two separate questions. The Practitioner course shows how to test the second one.

## Sources

- MCP specification, Tools, revision 2025-06-18
- MCP specification, Transports, revision 2025-06-18

Also on the [web page](https://mcpdirectory.fyi/academy/mcp-foundations/what-mcp-is).
