batch

[batch]

Runs multiple tool operations sequentially in one request.

Why this tool exists

Agent workflows often need several independent facts before the next decision.

How it helps the agent

Batching reduces round trips and keeps multi-tool evidence together, which is especially valuable on large workspaces.

Parameters

NameTypeRequiredDescription
operationsjsonYesOperations to run, in order. JSON array of objects like { "tool": "get_type_info", "arguments": { ... } }.
stopOnErrorbooleanNoWhen true, stops after the first failure. Default is false.
maxOperationsnumberNoMaximum number of operations allowed. Use 0 for unlimited. Default is 25.
maxTotalOutputCharsnumberNoMaximum total output characters before truncation. Use 0 for unlimited. Default is 200000.

Examples

Run multiple operations

Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "batch",
    "arguments": {
      "operations": "[\n  { \"tool\": \"resolve_symbol\", \"arguments\": { \"query\": \"ISolutionManager\", \"kinds\": \"Type\" } },\n  { \"tool\": \"find_references\", \"arguments\": { \"symbolKey\": \"...\", \"groupBy\": \"project\" } }\n]"
    }
  }
}
Response
{
  "success": true,
  "data": {
    "operationCount": 2,
    "completedCount": 2,
    "failedCount": 0,
    "stoppedEarly": false,
    "results": [
      {
        "tool": "get_type_info",
        "result": {
          "success": true,
          "data": {
            "name": "SolutionManager"
          },
          "error": null
        }
      },
      {
        "tool": "search_symbols",
        "result": {
          "success": true,
          "data": {
            "matchCount": 3
          },
          "error": null
        }
      }
    ]
  },
  "error": null
}

Response Notes

Returns per-operation results in order

↑/↓ NavigateEnter OpenSpace Expand