Skip to main content
Glama

Fretwork Guitar Tools

Find songs to play with the chords you know

find_songs
Read-onlyIdempotent

Finds songs a guitarist can play with the chords they already know, from Fretwork's free library of 87 public-domain folk, gospel, blues, campfire and Christmas songs. Each song has chords, key, time signature, level and a free play-along page. Can also list songs that need just one or two new chords.

Input Schema

NameRequiredDescriptionDefault
levelNoFilter by level (default any).
chords_knownYesChords the player can already play, e.g. "G C D Em".
max_new_chordsNoAlso include songs needing up to this many extra chords (default 0).
time_signatureNoFilter by time signature (default any).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish that this is a read-only, idempotent, non-destructive, closed-world lookup. The description adds useful context about the library scope, song metadata, and the ability to include songs needing extra chords, though it does not mention ordering or result limits.

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?

The definition is front-loaded and only three sentences long. The middle sentence listing song metadata and the play-along page is useful because there is no output schema, though it is slightly catalog-like rather than essential.

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?

With no output schema, the description helpfully states that each song includes chords, key, time signature, level, and a play-along page. It is complete enough to call correctly, but it does not describe result ordering, pagination, or exact return shape.

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 all four parameters are already documented in the schema. The description reinforces the meaning of chords_known and max_new_chords in natural language, but it adds little syntax or interpretation beyond what the schema already provides.

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: finds songs a guitarist can play using chords they already know. It also scopes the result to Fretwork's 87-song public-domain library and distinguishes itself from sibling tools by focusing on songs rather than chords, keys, scales, or transposition.

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?

The use case is clearly implied: a guitarist supplies known chords and gets playable songs, optionally allowing one or two new chords. However, it does not explicitly say when to use this instead of siblings like find_key, find_capo, or transpose_chords, nor does it state exclusions.

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.

Resources