Skip to main content
Glama
adventist-gc

laserfiche-mcp

by adventist-gc

laserfiche_task_update

Poll or wait for a Laserfiche async operation using its operation token; set timeout_seconds to 0 for an immediate status check or above 0 to block until it finishes or times out.

Instructions

Check or wait on an async operation. timeout_seconds=0 returns immediately.

0 = single poll (get_task_status semantics); >0 (default 60) = block until terminal or deadline (wait_for_task semantics, adds timed_out). Same payloads and errors as the underlying tools.

Read-only despite its laserfiche_task_update v2 name — the only *_update tool in the catalog that doesn't mutate anything; it polls an already-running async operation, never registered behind LF_READ_ONLY. The name follows this module's field_update/ tag_update/template_update "collapses a pair of tools" pattern rather than the write-tool naming convention, since get_task_status/ wait_for_task were never write tools to begin with.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
operation_tokenYesToken from the originating async tool (delete_entry, copy_entry, occasionally import_document).
timeout_secondsNo0 for single-poll (get_task_status semantics); >0 for blocking wait (wait_for_task semantics).
poll_interval_secondsNoDelay between status checks when waiting. Bounded below at 0.1s. Ignored when timeout_seconds=0.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.1.0

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations present, the description carries the burden and does well: it explicitly discloses that the tool is read-only and never mutates, that it polls an already-running operation, that the blocking mode adds a timed_out field, and that payloads/errors match the underlying tools. It does not cover auth/permission requirements or rate/polling cost implications.

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

Conciseness3/5

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

The first sentence is well front-loaded, but the second paragraph is defensive meta-commentary about naming conventions and LF_READ_ONLY that helps an agent select the tool only marginally. Roughly half the text serves maintainer rationale rather than invocation guidance.

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?

An output schema exists, so return values need not be explained, and the description covers the two operating modes, the token's origin, and the read-only safety profile. What remains missing is guidance on choosing this combined tool over the narrower task_get_status/task_wait siblings.

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 description coverage is 100%, so the schema already documents operation_token, timeout_seconds and poll_interval_seconds including their bounds and the 0-vs->0 semantics. The description restates the timeout split rather than adding new meaning, which is the baseline-3 case when the schema does the heavy lifting.

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

Purpose4/5

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

The opening sentence gives a clear verb+resource ('Check or wait on an async operation') and immediately maps its two modes onto the sibling semantics (get_task_status for timeout_seconds=0, wait_for_task for >0), so an agent can tell it apart from those siblings. However, a large share of the text is spent justifying the misleading 'update' name rather than sharpening what the tool does.

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

Usage Guidelines4/5

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

It clearly states the when-condition for each mode: timeout_seconds=0 returns immediately (single poll), >0 blocks until terminal or deadline, and it names the originating tools that produce the operation_token (delete_entry, copy_entry, import_document). It stops short of explicitly saying 'use this instead of laserfiche_task_get_status/laserfiche_task_wait', leaving that routing to inference.

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