Skip to main content
Glama

Violin of the day (sensors as music)

get_violin
Read-only

Today's piece for solo violin, composed by Claude from Orb Studio's market and network sensors and played by an artificial violinist on https://orbstudio.org/violin. Returns title, key, meter, BPM, mood, how each sensor shaped the music (mapping), the full score in ABC notation and as a note list, sensor values and a listen link. Pass date=YYYY-MM-DD for an older piece.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_violin"
  }
}

Input Schema

NameRequiredDescriptionDefault
dateNoDay (default: today or the latest piece)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only declare readOnlyHint and openWorldHint, and the description adds real context on top: the content is generated by Claude from market/network sensors, it is played on an external site, and the response carries a mapping, ABC score, note list, sensor values, and a listen link. It stops short of stating whether the piece is deterministic per date, cached, or whether there are rate limits on the linked playback.

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, followed by a return-value inventory and one usage instruction; nothing is filler. The mid-sentence return enumeration is dense but each item tells the agent something it would otherwise have to discover by calling.

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?

There is no output schema, so the description must carry the return contract and it does so thoroughly — title, key, meter, BPM, mood, sensor mapping, ABC score, note list, sensor values, listen link. Combined with the safety annotations and the single optional parameter, an agent has everything needed to call this correctly.

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% and the schema already gives the pattern and a default note, so the baseline would be 3. The description adds the intent behind the parameter — an older versus today's piece — which clarifies the default semantics rather than merely repeating the format.

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 and resource (fetch today's solo-violin piece generated from Orb Studio sensors) and names the concrete outputs, so it is clearly distinguishable from siblings like get_sensors or get_live. An agent can tell this is a novelty/derived-artifact endpoint rather than a raw sensor feed without opening the schema.

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 gives one usable rule — "Pass date=YYYY-MM-DD for an older piece" — which implies default behavior is today's piece. It never says when to prefer this over get_sensors (raw values) or explains that the piece is regenerated daily, so the when/when-not against siblings is left to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.