Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.getmcp.com/llms.txt

Use this file to discover all available pages before exploring further.

The 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

POST https://yoursite.com/mcp/{slug}
Content-Type: application/json

Request

jsonrpc
string
required
Must be "2.0".
id
integer | string
required
Arbitrary request identifier echoed back unchanged in the response.
method
string
required
Must be "tools/call".
params.name
string
required
The tool name to execute (e.g. "get_weather"). Must match a name from tools/list.
params.arguments
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.
curl --request POST \
     --url https://yoursite.com/mcp/my-weather-tools \
     --header 'content-type: application/json' \
     --header 'Mcp-Session-Id: your_session_id' \
     --data '
{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "tools/call",
  "params": {
    "name": "get_weather",
    "arguments": {
      "city": "London"
    }
}
}
'

Response

result.content
array
Array of content blocks. Each block has:
  • type — Always "text" in the current implementation
  • text — The upstream API response body as a JSON string
result.isError
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.
{
  "jsonrpc": "2.0",
  "id": 4,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\"current_condition\":[{\"temp_C\":\"12\",\"temp_F\":\"54\",\"weatherDesc\":[{\"value\":\"Partly cloudy\"}],\"humidity\":\"72\",\"windspeedKmph\":\"15\"}]}"
      }
    ]
  }
}

Request Parameters

params.name
string
required
The name of the tool to call. Must match a tool defined in the server.
params.arguments
object
Key-value pairs matching the tool’s inputSchema. Required parameters must be provided.

Tool Execution Pipeline

When tools/call is received:
  1. Validate — Check the tool exists and is active
  2. Resolve parameters — Map arguments to the HTTP request (path, query, body, headers)
  3. Inject auth — Add API credentials to the request
  4. Call API — Execute the HTTP request to the upstream endpoint
  5. Transform — Convert the API response into MCP content blocks
  6. Log — Record the call in the analytics database
  7. Return — Send the JSON-RPC response