Agent Protocols Atlas

An agent calling a tool looks new, but much of it is old. A generated stub from 1984, a JSON message, a schema and an OAuth token are all still in that call. What is new is who decides to make it: a model, working from a description, at runtime. This atlas follows that story in date order, so you can see which problem each layer solved.

Think of an office. A remote call is phoning a colleague. REST is an agreed way of asking the records room for a file. OAuth is a visitor badge that opens only certain doors. Function calling is a new assistant who writes down which call should be made, while you still make it. MCP is a standard socket, so any assistant can use any office equipment. A2A is how assistants from different companies hand work to each other.

Predict First
When a model uses function calling, what actually runs the function?

Open an entry and read it in order: the limit it answered, what changed, then the exchange in the diagram.

From remote calls to agent standards
Search, or open a row to see the exchange, an example and the source.
22 of 22 entries shown, in date order within each era.
1984–2000

Calling another machine

The first problem was making a call to another computer feel like a local function, then making that call work across companies and firewalls.

2000–2017

The web API era

As APIs became products, the questions changed: how to model data, how to push updates, how to grant access safely, and how to describe an API so tools could read it.

2022–2024

Models learn to call tools

LLMs could only produce text. These steps turned that text into reliable requests, while the application kept control of actually running anything.

2024–2025

Standards for agents

Every app was wiring every tool by hand. Shared protocols now connect models to tools, agents to other agents, and agents to the people using them.

The Layers Still Stack

These entries did not replace each other. A single MCP tool call can use a schema to describe the tool, JSON-RPC for the message, HTTP to carry it, OAuth to authorize it, and a REST API behind the server. When a call fails, work through those layers one at a time.

Protocols in the last era are still changing, so check the current specification before you build on the details here.

Last updated Nov 2, 2026Edit this pageReport an issue