# MCP call tool

> Tag 3: the server relays an MCP `tools/call` exchange a program in the container asked of the caller’s MCP servers, its params as the program sent them; the client answers with exactly one channel response, the result or the MCP error, which the server relays to the program.

Canonical: https://protocol.diverge.network/2.3.0/container-proxy-endpoints/agents-begin/server/mcp-call-tool/
Specification revision: 2.3.0

The server opens this channel when a program in the container asks
for one tool of the MCP servers of the caller, called. The params are sent as the program sent them; the client's one
answer is relayed back.

- **The request.** The tag byte `3` followed by the params of the
  MCP method `tools/call` as JSON. [Request](/2.3.0/container-proxy-endpoints/agents-begin/server/mcp-call-tool/request/)
  states its form.
- **The response.** Exactly one channel response, the result or an
  error, and the channel response finish.
  [Response](/2.3.0/container-proxy-endpoints/agents-begin/server/mcp-call-tool/response/) states the sequence.
- **No repetition.** The server sends the exchange exactly once. A
  channel that ends without a finish is not asked again.
- **The meaning.** What the exchange is,
  [MCP call tool](/2.3.0/endpoints/containers-agents-run/server/mcp-call-tool/) states.
