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
| Client | List and call a tool | Tested |
|---|---|---|
| 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]
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]
Protocol methods
tools/listtools/callnotifications/tools/list_changed