Skip to main content
Glama

search_songs

Find playable FUSER songs in your saved library by title, artist, genre, BPM, key, instrument, disc type, or year; includes custom songs, excludes unowned DLC, and works while the game is closed.

Instructions

Search the songs you can play, custom songs included and DLC you do not own left out. Returns the total that match and up to limit of them: id, title, artist, year, genre, the song's own BPM and key, its tags, and its discs with name, type and instrument. Instrument, disc type and years find what a crowd request or goal asks for. Works from the saved library while FUSER is closed.

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": "search_songs"
  }
}

Input Schema

NameRequiredDescriptionDefault
keyNoExact key, such as Ab or F#m
nearNoA song id: only songs in the same, relative or a neighbouring key and within 8% of its tempo, or of half or double it, which FUSER shifts and stretches least to play beside it. It narrows the library and does not choose: most of what it returns will not belong
genreNo
limitNoDefault 25
queryNoWords that must all appear in the title or artist
offsetNoSkip this many, for the next page
bpm_maxNo
bpm_minNo
untaggedNoOnly songs with no tags yet
year_maxNo
year_minNoReleased this year or later
disc_typeNoOnly songs with a disc of this type, listing only those discs; with instrument, a disc must be both
energy_maxNo
energy_minNoLowest energy tag, 1 to 10
instrumentNoOnly songs with a disc played on it, listing only those discs. FUSER names it exactly: a Bass Guitar disc is not a Bass one

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/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 burden. It discloses important scope behavior (custom songs included, unowned DLC excluded), availability while FUSER is closed, and what is returned including the total count and record fields. It does not explicitly state that the operation is read-only or whether results are ordered, but 'Search' strongly implies a safe read.

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?

The description is four sentences, front-loaded with purpose and scope, followed by return values, usage hint, and availability context. Every sentence adds distinct information, and the field list is useful without being bloated.

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?

Given 15 parameters, no annotations, and no output schema, the description does a good job covering scope, return contents, and offline availability. It leaves some gaps around filter combination semantics and does not explicitly state that it is read-only, but the core behavior an agent needs is present.

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 67%, so the baseline is 3. The description references 'limit' and mentions instrument, disc type and years as filters, but most parameter meaning is left to the schema descriptions; it does not add substantial new semantics for query, genre, BPM, energy, key, or pagination behavior.

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 states a specific verb and resource: 'Search the songs you can play'. It adds scope that matters for selection, including custom songs and excluding unowned DLC, and lists the returned fields. This makes the tool's purpose clear without requiring 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 offers an implied use case: 'Instrument, disc type and years find what a crowd request or goal asks for.' It also notes that the tool 'Works from the saved library while FUSER is closed.' However, it does not explicitly say when not to use it or name alternative approaches, and there is no sibling search tool to route to.

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