tools/list (MCP): Definition | MCP Hunter
MCP Hunter

tools/list

tools/list is the JSON-RPC method an MCP client calls to discover what a server can do. It returns an array of tool objects and an optional nextCursor for pagination. It is the first call after the handshake and the one that decides whether a server is usable at all.

What is tools/list?

tools/list is the discovery call. After the initialize handshake completes, the client sends it to ask the server what functions exist.

The request takes no required arguments. The response carries a tools array, and each entry is one tool object.

What does the response contain?

An array of tool objects and, optionally, a nextCursor string. Each tool carries a name and an inputSchema at minimum, and in practice a description as well.

Across 288 tools from 14 servers on 5 August 2026, name, inputSchema and description were present on every single one. Optional fields were far rarer, with annotations at 91% and title at 10.1%.

What goes wrong with tools/list?

Pagination, and it goes wrong silently. If the response carries a nextCursor, the client must call again with that cursor to get the rest, and a client that ignores it simply sees a shorter list with no error.

Nothing in our sample paginated, which is exactly why the bug ships. Zero of 14 servers returned a non-empty nextCursor, so a client that never implemented cursor handling passes every test until it meets the first server that does.

Example

The request is an ordinary JSON-RPC call:

{"jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": {}}

Against https://learn.microsoft.com/api/mcp on 5 August 2026 that returned 3 tools in a single page with no cursor. Against a paginating server the same call would return a partial array plus a nextCursor, and stopping there would quietly hide the rest of the server's functionality.

Go deeper

Related terms