Skip to main content
Glama
SebaSOFT

CopaLibre MCP

Official

copalibre_upgrade_check

Check whether installed modules remain compatible with a target CopaLibre version before upgrading, and list database migrations that would run without applying changes.

Instructions

Checks, before upgrading, whether every installed module would still satisfy its declared CopaLibre-version compatibility range under a target version, and lists database migrations that would run. Use it as a pre-flight gate before switching an installation to a new CopaLibre version — it reports incompatibilities without applying any migration or altering any installed data. Needs no API token.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
target_versionYesCopaLibre semver to check

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description must carry the behavioral load, and it does: it declares the operation is non-mutating ('without applying any migration or altering any installed data') and notes 'Needs no API token', both valuable safety/auth facts. It still omits how results are surfaced (format, exit semantics), leaving a minor gap.

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?

Purpose is front-loaded in the first clause, and each subsequent sentence (non-mutation guarantee, no-token note) earns its place. The opening sentence is dense with a mid-sentence clause, which slightly hurts scannability but the content is not padded.

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 single-parameter, no-output-schema check tool, the description covers intent, precondition, side-effect profile, and the two categories of results (incompatibilities and pending migrations). Only the exact result structure is unspecified, which is acceptable given there is no output schema to lean on.

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 single parameter target_version is already documented as 'CopaLibre semver to check'. The description refers to 'a target version' but adds no format or constraint detail beyond the schema, so the baseline 3 applies.

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?

States a specific verb (checks) and resource (installed modules against a target CopaLibre version) and adds the secondary output (database migrations that would run). This is clearly distinguishable from siblings like copalibre_doctor or copalibre_module_validate, which check other things.

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?

Explicitly frames usage as a 'pre-flight gate before switching an installation to a new CopaLibre version', which tells the agent the triggering condition. It does not name a sibling alternative or state exclusions, so it stops short of the top mark.

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