New Your team’s decisions, in one playbook every coding agent works from. Never answer your agent twice

execute_batch

[SUPPORT] 627187b8 — run a HOMOGENEOUS batch of management writes (all entries the SAME operation) with real atomic-or-independent semantics. Every entry in entries is validated and reported individually — no guessing whether a partial write happened. operation selects the entry shape: • sprint_i...

SERVERMeridian SOURCE@meridianmcp/mcp
High RISK CLASS
Category Execute
Parameters 84 required
Recommended Rate-limitedsee the rule below
Registry record Grade F, identity unverified Pull the record →

This record as markdown: /tools/io-github-ajc3xc-meridian/execute-batch.md

What execute_batch does on Meridian

AI agents invoke execute_batch to trigger actions in Meridian. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

ParameterTypeRequiredDescription
mode string Yes REQUIRED — no default. 'all_or_nothing': validate-then-mutate with compensating rollback on any mutation failure. 'best_effort': every entry processed independe
entries array Yes Non-empty list of entry objects, ALL matching the chosen operation's shape. Each entry may carry an optional 'correlation_key' string echoed back on its result.
operation string Yes Stable operation name selecting the entry shape and forced per-entry action (sprint_items=create, item_updates=update). See the tool description for each shape.
project_id string
session_id string Batch-level default session_id used by 'notes' entries that omit their own session_id.
max_entries integer Optional cap on len(entries) for this call (default 100). Exceeding it rejects the whole call before anything is attempted.
project_name string Project name — an alternative to project_id; resolved to the id internally. project_id wins if both are given.
idempotency_key string Yes REQUIRED key (value may be null or "" to explicitly opt out). A retried call with the same (project_id, operation, idempotency_key) replays the first call's sto

Parameters from the server's own tool schema.

Why execute_batch is rated High

execute_batch triggers real processes with real consequences. An agent gone sideways doesn't fire it once. It starts dozens of builds, sends mass notifications, or burns through compute before anyone looks up.

Questions about execute_batch

What does the execute_batch tool do? +

[SUPPORT] 627187b8 — run a HOMOGENEOUS batch of management writes (all entries the SAME operation) with real atomic-or-independent semantics. Every entry in entries is validated and reported individually — no guessing whether a partial write happened. operation selects the entry shape: • sprint_items — create new sprint items. Each entry needs a non-empty 'title' plus any add_sprint_item kwarg (version, group, human_id, depends_on, priority, touches_resources, ...). Every entry's own 'action' (if present) must be 'create'. • item_updates — patch existing sprint items. Each entry needs a non-empty 'item_id' plus at least one patch_sprint_item field to change (title, status, notes, priority, ...). Every entry's own 'action' (if present) must be 'update'. • pointers — attach generic pointers (see add_sprint_item_pointer). Each entry needs 'sprint_item_id', 'source_type', 'targets' (+ optional 'label'). • notes — file sprint notes (see add_sprint_note). Each entry needs 'title' and 'body' (+ optional 'session_id' — falls back to this call's own top-level session_id when omitted — and 'note_kind'). Any entry MAY carry a 'correlation_key' (any non-empty string) echoed back on its result for reconciliation; every result also carries its 0-based input 'index' regardless. mode is REQUIRED and controls failure semantics: 'all_or_nothing' validates every entry BEFORE mutating anything — if any entry fails validation, NOTHING is written (status 'rejected'); if a mutation fails partway through, every entry this call already wrote is rolled back via a compensating delete/revert (status 'failed'). 'best_effort' processes each entry independently — one entry's failure never blocks the others (status 'ok' | 'partial' | 'failed' depending on how many succeeded). idempotency_key is REQUIRED (pass null or "" to explicitly opt out of idempotency protection for this call) — a retried call with the identical (project_id, operation, idempotency_key) tuple returns the FIRST call's stored result verbatim (idempotent_replay:true) instead of re-executing, making retries safe even for all_or_nothing batches that already wrote and rolled back once. Returns {status, mode, entry_kind, operation, project_id, idempotency_key, idempotent_replay, created_count, error_count, results:[{index, correlation_key, status, id, outcome, error_code, error_message, retryable}]} — results is ALWAYS in input order regardless of processing order. Each result status is 'ok' (mutated), 'error' (validation or mutation failure — see error_code/error_message/retryable), 'rolled_back' (succeeded, then undone by a later all_or_nothing failure), or 'not_attempted' (never reached because an earlier entry aborted the batch). max_entries caps this call (default 100); exceeding it is rejected before anything is attempted. Persistent-state disclosure: on hosted Meridian, supplied text and project/session metadata are sent to and stored in Meridian's service; self-hosted deployments keep them in the configured local SQLite/Postgres database. This data is visible in the dashboard/API and later project context or handoffs. Delete individual tasks, notes, or decisions where supported, or delete the project/account using the documented controls. Do not include secrets. It is categorised as a Execute tool in the Meridian MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.

What parameters does execute_batch accept? +

execute_batch accepts 8 parameters: mode, entries, operation, project_id, session_id, max_entries, project_name, idempotency_key. Required: mode, entries, operation, idempotency_key. The full parameter table on this page comes from the server's own tool schema.

How do I enforce a policy on execute_batch? +

Register the Meridian MCP server in PolicyLayer and add a rule for execute_batch: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Meridian. Nothing to install.

What risk level is execute_batch? +

execute_batch is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.

Can I rate-limit execute_batch? +

Yes. Add a rate_limit block to the execute_batch rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block execute_batch completely? +

Set action: deny in the PolicyLayer policy for execute_batch. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides execute_batch? +

execute_batch is provided by the Meridian MCP server (@meridianmcp/mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

More on Meridian, and thousands of servers like it.

// THE MCP REGISTRY

PolicyLayer tracks 44,603 MCP servers and 515,000+ tools.

Every server has a live record: who publishes it, whether it answers without auth, its risk grade, every tool classified, the recommended policy. This page is one line of Meridian's. Pull the full record:

Teams ship this data inside their own products. See what a licence covers →

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.