Skip to main content
Glama

Execute Block Command

execute_block_command
Idempotent

Atomically save page blocks, object revisions, references, and changesets via compound commands. Idempotency key ensures safe retries; requires authenticated project.

Instructions

Use when: Use the API compound command to atomically save PageVersion, object revision, references, ChangeSet and outbox. Agent-created objects remain proposals. Do not use when: a narrower tool better matches the intent, the project scope is unresolved, or the user has declined the action. Requires: authenticated API authority and an API-authorized selected Project. Effect: canonical mutation. For the same logical mutation retry, reuse the same idempotencyKey. If the payload or user intent changes, use a new key. Replay returns the first canonical result ID and version; the key never bypasses authorization or expected-version checks. Human approval: required before this action or its canonical follow-up. Then: follow typed result state; review pending proposals/drafts before any canonical apply. On failure: login_required → login; project_not_selected → list_projects/select_project; permission_denied → stop; stale_version or conflict → read current state; projection_pending → report canonical success separately and wait.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindYes
viewNo
blockNo
objectNo
pageIdYes
positionNo
targetIdNo
projectIdNoOptional project id. Defaults to the project chosen with select_project. If omitted and no project is selected, the call is rejected with instructions to select one.
selectionNo
targetTypeNo
anchorBlockIdNo
clientDraftIdNo
idempotencyKeyYes
expectedPageVersionYes
expectedObjectRevisionNo
compensatesIdempotencyKeyNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYes
statusYes
warningsYes
authorityYes
projectIdYes
reviewUrlYes
idempotencyYes
nextActionsYes
reviewRequiredYes
canonicalVersionYes
projectionStatusYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses key behaviors beyond annotations: it's a 'canonical mutation', explains idempotency key usage ('reuse the same idempotencyKey... replay returns the first canonical result'), requires human approval, and details error handling (login_required, stale_version, etc.). This adds significant context to the idempotentHint annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well-structured with clear sections (Use when, Do not use when, Requires, Effect, Human approval, Then, On failure). It front-loads the most critical usage guidance. Minor redundancy could be trimmed, but overall it is efficient for the complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (16 parameters, nested objects, output schema exists), the description covers usage constraints, error handling, idempotency, and follow-up steps. However, it lacks detailed parameter guidance for the 'kind' enum and other properties, which would be needed for full completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 6%, so description should compensate. However, it does not explain individual parameters beyond noting required ones (pageId, kind, expectedPageVersion, idempotencyKey) in context. The 'kind' enum is not elaborated, and many parameters lack description. Some value is added via the compound command context, but it's insufficient for 16 parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Use the API compound command to atomically save PageVersion, object revision, references, ChangeSet and outbox.' It uses a specific verb ('execute block command' implied) and resource, and distinguishes from siblings by framing it as a compound command for atomic updates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit 'Use when' and 'Do not use when' sections are provided, including conditions like 'a narrower tool better matches the intent, the project scope is unresolved, or the user has declined the action.' Prerequisites ('Requires') and alternative guidance are also included.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/my-abyss-project/abyss-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server