What is an MCP tool call?
How an AI model uses an MCP tool: the client lists the server's tools with tools/list, the model picks one, and the client runs it with tools/call and returns the result to the model.
Each tool has a name, an optional title, a description, an inputSchema (JSON Schema for its arguments), an optional outputSchema and optional annotations. The model only sees the descriptions and schemas, so clear descriptions decide whether a tool gets picked.
Errors come back two ways: protocol errors (unknown tool, bad arguments) as JSON-RPC errors, and execution errors (for example an upstream API failing) as a normal result with isError: true, which the model can read and react to. The specification says a human should be able to deny tool invocations.
Example: {"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"lookup_hts_code","arguments":{"code":"8516.60.40"}}}
Sources
Related terms
- Tool annotationsOptional hints on an MCP tool that describe its behaviour: readOnlyHint, destructiveHint, idempotentHint and openWorldHint.
- MCP serverA program that exposes tools, resources or prompts to AI applications over the Model Context Protocol.
- JSON-RPC 2.0The small remote-procedure-call format MCP uses: requests with jsonrpc, id, method and params; responses with the same id and either result or error.