Description
The MCP Batch Tool reduces protocol round trips while preserving the different safety requirements of reads and writes. A caller submits an ordered operation array. Read members fan out concurrently, write members execute sequentially, a failed write halts later writes, and the result array stays aligned with the original input. Each member is independently checked for scope, read-only policy, and audit identity.
The workflow is designed for MCP hosts and coding agents. It uses the same authenticated, company-scoped service contracts as the rest of Dots, so terminal or protocol convenience never creates a second source of truth. Inputs are validated before or at the route boundary, and outputs preserve identifiers and structured details needed for a reliable next step.
Selling Points
- Cuts latency for multi-read investigations without weakening write ordering.
- Stops dependent mutations after the first failed write instead of compounding partial state.
- Keeps every result aligned to its source operation for reliable agent reasoning.
- Applies member-level scope and read-only checks even though batch itself is advertised.
- Records each mutation under its real tool name for meaningful audit history.
User Story
An agent batches several row and graph reads with two dependent writes. The reads complete in parallel, the first write succeeds, and a validation failure on the second prevents any later write while returning an input-aligned report. The result is a concrete, inspectable outcome that another person or automation can continue from without reconstructing hidden state.
Extension Surface
The feature is automatable: packages/mcp/src/tools.ts contains the fixed dispatcher and packages/mcp/src/server.ts registers batch. Runtime plugin tools are intentionally not batch-dispatchable in the current version. The rating reflects the most-open supported seam that is true for this capability, not a transitive implementation detail. The cited path is the operational proof: consumers can use the documented seam, while unsupported changes still require a core release.
Capabilities & Limits
- Capability: Concurrent read execution and ordered sequential writes.
- Capability: Fail-stop write behavior with a reported failed index.
- Capability: Per-member authority, read-only, result, and audit handling.
- Limit: Only built-in tools participate in batch dispatch today; runtime
extraToolsremain directly callable but are excluded.
The limit is intentional product truth rather than missing documentation. Calls also remain subject to authentication, tenant selection, schema validation, and the permissions enforced by the authoritative service.
Implementation Map
packages/mcp/src/tools.tspackages/mcp/src/server.tsdocs/mcp/tools.md