Skip to main content
Glama
MuseScore MCP Server

MuseScore MCP Server

by lenborje

ping_musescore

Pings the MuseScore WebSocket API to verify connectivity and runs a version handshake, flagging plugin/server mismatches so you can reinstall and restart to fix compatibility.

Instructions

Ping the MuseScore WebSocket API to check the connection.

Also performs a version handshake: the response carries the server version and the plugin's version. If versionsMatch is false, the installed plugin is out of sync with the server - fix with musescore-mcp install-plugin (then restart MuseScore and relaunch the plugin).

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.1

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full load and does disclose non-obvious behavior: the call performs a version handshake, the response includes server and plugin versions, and a false versionsMatch means the plugin is out of sync. It also names the fix command and the required restart steps. It stops short of saying whether the call has side effects or what happens on a failed ping (error vs. a boolean field).

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?

Front-loaded with the one-line purpose, then the handshake detail, then the failure remediation in priority order. Every sentence carries information, though the parenthetical restart sequence is slightly verbose for a description field.

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 no-parameter diagnostic with an output schema, this is nearly complete: purpose, side benefit (version handshake), how to read the key result field, and the recovery procedure. Missing only a note on expected failure modes (e.g., connection refused) and whether it is safe to call repeatedly.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate — the baseline applies. The description correctly adds no parameter discussion, which is appropriate rather than a gap.

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?

"Ping the MuseScore WebSocket API to check the connection" gives a specific verb (ping) and target (the WebSocket connection) plus the intent (health check). It is clearly distinct from get_score/run_qml, though it never explicitly contrasts itself with the sibling connect_to_musescore, which is the nearest ambiguity.

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?

It states the diagnostic use case and even prescribes remediation when versionsMatch is false, which is real guidance. However it never says when NOT to use it — notably whether connect_to_musescore should be called first when no connection exists — so the agent must infer the ordering.

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