Skip to main content
Glama

Read a conversion job's current status

audiobook_get_status
Read-onlyIdempotent

Check any audiobook conversion job's live progress by job ID: see stage, completion flag, overall percent, and recent log lines to confirm whether it is done or needs attention.

Instructions

Read a job's current progress WITHOUT doing any work -- safe to call as often as you like, including while another audiobook_continue_conversion/audiobook_run_until_done call might be in flight.

Args: params (JobIdInput): - job_id (str): from audiobook_start_conversion.

Returns: str: JSON with schema: { "stage": str, # "extract"|"align"|"encode"|"assemble"|"deliver"|"done" "done": bool, "status_line": str, # most recent human-readable progress line "overall_progress": float, # 0.0-1.0 across the WHOLE job, comparable # across separate continue_conversion/ # run_until_done calls -- suitable for a # progress bar. Weighted by each stage's # typical share of total time (encode # dominates), not just "stages done / 6". "overall_progress_pct": float, # overall_progress * 100, rounded to 1 decimal "book": {"title", "author", "series", "series_index", "chapter_count", "cover_found"} | null, "alignment": { # present once alignment has started "chapters_aligned": int, "chapters_total": int, "low_confidence_chapters": [int, ...], # spot-check these "fallback_chapters": [int, ...], # these need a fix "manual_overrides": [int, ...], "outro_detected": bool } | absent, "encoding": {"segments_encoded": int, "segments_total": int} | absent, "word_count_warnings": [ {"n": int, "title": str, "actual_duration_s": float, "expected_duration_s": float} ] | absent, # segments whose duration deviates >30% from EPUB word-count pace "assembled_path": str | absent, "delivery": {"bytes_done": int, "bytes_total": int} | absent, "final_output": str | absent, # present once stage == "done" "recent_log": [str, ...] # last 10 status lines } or {"error": str, "error_type": str} if job_id is unknown.

Examples: - Use when: checking whether a long-running job has finished yet. - Use when: deciding whether fallback_chapters/word_count_warnings need audiobook_inspect_chapter_boundary + audiobook_patch_chapter_boundary before trusting the output.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, but the description adds crucial behavioral context: it is safe to call as often as desired even while other job-affecting calls run, and it provides a detailed explanation of progress semantics (weighted by stage time, not just stage count). It also discloses the error response structure. No contradictions with annotations.

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 lengthy but well-organized into purpose, Args, Returns (with a full JSON schema), and Examples. The return schema is essential given the tool's complex output, and the examples provide practical context. It is front-loaded with the safety note, and every section earns its place, though it could be trimmed slightly without losing clarity.

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

Completeness5/5

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

The description is fully self-contained: it explains the tool's purpose, when to use it, the exact return schema with field meanings, error handling, and even provides usage examples. The tool is complex (multiple stages, weighted progress, various optional fields), and the description covers all necessary details for correct invocation and interpretation. There is no output schema annotation, but the inline schema fully compensates.

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?

The only parameter is job_id, and the schema already describes it as 'Job id returned by audiobook_start_conversion.' The description repeats this same source information without adding new details. Since schema description coverage is reported as 0% but the schema itself has a clear description, the tool adds minimal extra value beyond the schema. The parameter is simple and self-explanatory, so a baseline of 3 is appropriate.

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 explicitly states 'Read a job's current progress WITHOUT doing any work' which clearly identifies the action and resource, and differentiates from sibling tools like audiobook_continue_conversion and audiobook_run_until_done. It is a specific verb (read) with a clear object (job progress), and the emphasis on being read-only and safe to call often distinguishes it from mutation tools.

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?

The description provides explicit when-to-use scenarios: 'Use when: checking whether a long-running job has finished yet' and 'Use when: deciding whether fallback_chapters/word_count_warnings need...' It also notes it can be called while other conversions are in flight, clarifying it is safe to poll. This gives clear guidance on when to select this tool over alternatives.

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