Skip to main content
Glama
Local AI MCP

Local AI MCP

Official
by TMHSDigital

Pull status

pull_status
Read-onlyIdempotent

Check the status, progress, and result or error of background model pulls started with pull_model; omit jobId to list every remembered job.

Instructions

Status of background pulls started with pull_model { background: true }: state (running, done, failed, cancelled), progress, and result or error. Without jobId, lists every job this server remembers (finished jobs are kept for an hour; jobs are forgotten on restart).

Input Schema

NameRequiredDescriptionDefault
jobIdNoJob id returned by pull_model

Output Schema

NameRequiredDescriptionDefault
jobsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.6.1

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), so the description doesn't need to restate that. It instead adds genuinely non-obvious behavior: finished jobs are retained for only an hour and all jobs are forgotten on restart, which tells the agent that a missing jobId result is not necessarily an error. It could go further on cost or size of the full listing, but the retention caveats are the important ones.

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

Conciseness5/5

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

Two compact clauses: the primary purpose and return fields first, then the no-jobId fallback and retention caveat in a parenthetical. Nothing is repeated from the schema or annotations, and no sentence is wasted.

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?

For a one-parameter read tool with an output schema, the description covers the state model, the fallback listing mode, and the retention/restart limits — everything needed to interpret results correctly. The only small omission is whether a running job survives a server restart in any form, but the 'forgotten on restart' note largely implies the answer.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema: without jobId the call switches from a single-job lookup to a full job listing. That optionality behavior is not evident from a bare optional string field, so it earns above baseline.

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 names the specific resource (background pulls initiated by pull_model with background: true) and enumerates exactly what is returned: state (running, done, failed, cancelled), progress, and result or error. This clearly separates it from pull_model (which starts jobs) and pull_cancel (which cancels them).

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 establishes the trigger context — use this after starting a background pull — and explains the two calling modes: pass jobId for one job, omit it to list all remembered jobs. There is no explicit statement about when to prefer polling this versus other status surfaces, and pull_cancel is never mentioned, but the usage context is otherwise unambiguous.

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