<!-- Canonical: https://www.agentlist.io/learn/mcp-call -->

Interactive guide — 04 · stepper

# Anatomy of an MCP call

No — this is the most common confusion. The model only emits a structured request (a tool\_call). A separate process executes it; the model never touches credentials, never makes the HTTP request, and only learns the outcome when the result is appended to its context.

Step through the transcript — watch the call leave the model's context, cross the wire, and come back.

Transcript — context / wire / outside

usermodel context

File a Linear ticket: the login test broke after the session change.

Step 1 of 7

## The ask lands in context

Everything before this is plain conversation — the model sees your message plus a tool catalog: which tools exist, what arguments they take, and what they return. Tools are in-context knowledge, not code it runs.

[capability — Tool calling](https://www.agentlist.io/capabilities/tool-calling "Function/tool use as a first-class primitive.")

↳

## Agents that speak MCP

[CursorAI IDEs](https://www.agentlist.io/systems/cursor)[Windsurf / Devin DesktopAI IDEs](https://www.agentlist.io/systems/windsurf)[Claude CodeCLI & terminal agents](https://www.agentlist.io/systems/claude-code)[Codex CLICLI & terminal agents](https://www.agentlist.io/systems/codex-cli)[ClineIDE extensions & copilots](https://www.agentlist.io/systems/cline)[AmpCLI & terminal agents](https://www.agentlist.io/systems/amp)[OpenCodeCLI & terminal agents](https://www.agentlist.io/systems/opencode)[GooseCLI & terminal agents](https://www.agentlist.io/systems/goose)[All 22 MCP-capable systems →](https://www.agentlist.io/capabilities/mcp)[MCP as a transport →](https://www.agentlist.io/transports/mcp)

FAQ

## Frequently asked

### What is MCP, in one line?

A standard wire between an agent runtime and a tool server — JSON-RPC over stdio or HTTP — so any MCP-speaking agent can call any MCP server without bespoke integration code on either side.

### Does the model execute the tool itself?

No — this is the most common confusion. The model only emits a structured request (a tool\_call). A separate process executes it; the model never touches credentials, never makes the HTTP request, and only learns the outcome when the result is appended to its context.

### Why does the boundary matter?

Because it puts secrets and policy outside the model's context. The Linear API key lives in the MCP server — it can't be leaked into a completion, and it can enforce its own validation, rate limits, and auth decisions independent of the model.

### Is MCP the only way agents call tools?

No — plenty of agents use native function-calling or bespoke plugins. MCP's bet is standardization: one protocol for the wire, so tool servers and agent runtimes can be written independently and still interoperate.

---

Source: [Anatomy of an MCP call — step through a tool invocation | agentlist.io](https://www.agentlist.io/learn/mcp-call). This is the public page rendered as Markdown; interactive controls require the website.
