Skip to main content
Glama
abranson
by abranson

Refresh SDK Metadata

sailfish_sdk_refresh_metadata

Starts a detached refresh of SDK metadata, returning a job ID for monitoring via status or cancel tools.

Instructions

Start a detached SDK metadata refresh; use sailfish_build_status/cancel.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
archNo
waitNoLegacy synchronous execution; default returns a job for sailfish_build_status/cancel.
forceNoAppend zypper ref -f.
deviceNoOptional configured device to supply default release and architecture.
targetNoLocal SDK target base or .default target, for example aarch64 or aarch64.default.
releaseNo
timeoutNoCommand timeout in seconds.
local_sdkNoOverride paths.local_sdk for this call.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare the mutation profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=true), so the safety bar is partly met. The description adds the meaningful 'detached' detail (returns a job rather than blocking), but omits auth requirements, what metadata is actually rewritten, and whether an existing refresh is superseded.

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?

A single compact sentence, fully front-loaded with the action and the routing hint. It earns its place, though it is terse enough that a little more context would not have hurt.

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

Completeness3/5

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

With 8 optional params, a mutation profile, and no output schema, the description covers the essential async pattern but leaves gaps: no mention of what the returned job is called, how arch/release/target interact, or the side effects of force. Adequate but not complete.

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 75%, with the notable params (wait, force, device, target, timeout, local_sdk) documented in-schema. The description adds no parameter meaning beyond that, so the baseline 3 applies for a schema that largely carries the parameter burden.

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 description states a specific verb ('Start') and resource ('SDK metadata refresh'), and signals the execution model with 'detached'. It partially differentiates from siblings by pointing at sailfish_build_status/cancel, though it does not distinguish itself from adjacent tools like sailfish_repo_status.

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

Usage Guidelines3/5

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

'Use sailfish_build_status/cancel' implies the async job workflow and implies when to check status, but there is no explicit when/when-not guidance versus alternatives such as sailfish_repo_status or sailfish_build_rpm. Usage is inferable rather than stated.

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