tools/call method executes a specific tool with the given arguments. The server validates the arguments against the tool’s input schema, calls the configured API endpoint, and returns the result.
MCP Endpoint
Request
string
required
Must be
"2.0".integer | string
required
Arbitrary request identifier echoed back unchanged in the response.
string
required
Must be
"tools/call".string
required
The tool name to execute (e.g.
"get_weather"). Must match a name from tools/list.object
required
Key-value pairs matching the tool’s
inputSchema. Required fields must be present and correctly typed or the call is rejected with a validation error.Response
array
Array of content blocks. Each block has:
type— Always"text"in the current implementationtext— The upstream API response body as a JSON string
boolean
Present and
true when the tool call failed (e.g. upstream API returned an error). The content array still contains the error message text.Request Parameters
string
required
The name of the tool to call. Must match a tool defined in the server.
object
Key-value pairs matching the tool’s
inputSchema. Required parameters must be provided.Tool Execution Pipeline
Whentools/call is received:
- Validate — Check the tool exists and is active
- Resolve parameters — Map arguments to the HTTP request (path, query, body, headers)
- Inject auth — Add API credentials to the request
- Call API — Execute the HTTP request to the upstream endpoint
- Transform — Convert the API response into MCP content blocks
- Log — Record the call in the analytics database
- Return — Send the JSON-RPC response

