Browse documentation

batch

[batch]

Runs multiple tool operations sequentially in one request.

Try it locally in the Glider playground

Parameters

NameTypeRequiredDescription
operationsjsonYesOperations to run, in order. JSON array of objects like { "tool": "get_type_info", "arguments": { ... } }. Default: "[]"
stopOnErrorbooleanNoWhen true, stops after the first failure. Default is false. Default: false
maxOperationsnumberNoMaximum number of operations allowed. Use 0 for unlimited. Default is 25. Default: 25
maxTotalOutputCharsnumberNoBudget for complete inner outputs. Default 200000; 0 disables this budget. The server response ceiling still applies. Omitted outputs retain execution status and recovery guidance. Default: 200000
responseDetailstringNocompact returns results and actionable state. full adds diagnostic metadata under responseDiagnostics. Default: "compact"

Examples

Replace sample paths and symbol keys with values from your workspace.

Run multiple operations

Arguments
{
  "operations": "[\n  { \"tool\": \"resolve_symbol\", \"arguments\": { \"query\": \"ISolutionManager\", \"kinds\": \"Type\" } },\n  { \"tool\": \"find_references\", \"arguments\": { \"symbolKey\": \"...\", \"groupBy\": \"project\" } }\n]"
}
Full MCP request
Full MCP 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]"
    }
  }
}
Illustrative response
{
  "success": true,
  "operationCount": 3,
  "completedCount": 3,
  "failedCount": 0,
  "stoppedEarly": false,
  "results": [
    {
      "tool": "get_type_info",
      "result": {
        "success": true,
        "name": "Invoice"
      }
    },
    {
      "operationIndex": 2,
      "tool": "get_file_contents",
      "truncated": true,
      "successOnly": true,
      "executionStatus": "completed",
      "guidance": "Call this read directly with a smaller startLine/endLine window. Read later windows separately."
    },
    {
      "tool": "search_symbols",
      "result": {
        "success": true,
        "matchCount": 3
      }
    }
  ],
  "meta": {
    "truncated": true,
    "totalOutputChars": 75000
  }
}

Response Notes

Returns complete results that fit, in operation order. Omitted outputs have a one-based operationIndex, executionStatus, and guidance. Later small results can still fit. Query omitted reads directly with narrower bounds and individual tool pagination. Do not repeat completed writes; verify their effects with a read. Batch has no paging cursor. If completion notices cannot fit, no operations run. Results use top-level fields with success. Compact is the default; full adds responseDiagnostics. Both modes retain errors, coverage, partial state, and recovery advice.