MCP Tools

Tools are functions an MCP server exposes for the model to call, such as querying a database or calling an API. The client lists them and calls them on the model's behalf.

Client support

ClientList and call a toolTested
Claude Code
v2.1.296
Supported

Required or optional?

Optional for servers: the spec only requires a server that offers this feature to declare the capability. Neither revision says whether a client must support it.

What the 2026-07-28 spec says

The Model Context Protocol (MCP) allows servers to expose tools that can be invoked by language models. Tools enable models to interact with external systems, such as querying databases, calling APIs, or performing computations. [source]

Tools in MCP are designed to be model-controlled [source]

Servers that support tools MUST declare the tools capability [source]

clients send a tools/list request. This operation supports pagination and caching. [source]

List change notifications now go only to clients that opened a subscriptions/listen stream asking for them. [source]

About revision 2026-07-28

What the 2025-11-25 spec says

The Model Context Protocol (MCP) allows servers to expose tools that can be invoked by language models. Tools enable models to interact with external systems, such as querying databases, calling APIs, or performing computations. [source]

Tools in MCP are designed to be model-controlled [source]

Servers that support tools MUST declare the tools capability [source]

About revision 2025-11-25

Protocol methods

  • tools/list
  • tools/call
  • notifications/tools/list_changed

Related reading

© 2026 ABWaters. Thinking out loud.