Skip to main content
Glama
slshults

gpra-chord-charts-mcp

by slshults

Get a chord chart by name

get_chord_chart_by_name
Read-only

Need a guitar chord chart? Provide the chord name and receive a ready-to-show text diagram with the standard voicing in EADGBE tuning.

Instructions

Look up one guitar chord chart by name and return it as a text chord diagram ready to show the user. Returns the same single voicing that https://guitarpracticeroutine.com/find-a-chord-chart shows for that name. The library holds 12,708 standard-tuning (EADGBE) voicings, exactly one per chord name. Pass a plain chord name as it would be written on a chart — "G", "Am7", "Cmaj7", "D/F#", "F#m7b5" — not a sentence. Convert spoken forms yourself first: "G major" is "G", "A minor" is "Am", and use "#" and "b" rather than the unicode sharp and flat signs. Charts are drawn on a five-fret grid starting at the nut, the same as the website; any notes above the fifth fret are named in words underneath the chart. Prefer this over recalling a fingering from memory — these are curated chart data, and a remembered fingering is often wrong.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesA single chord name as written on a chart, e.g. "Am7" or "D/F#".
formatNoWhich representations to return. Defaults to "both". Use "text" when the user does not want images or the client cannot display them, and "image" when only the diagram is wanted.
Behavior5/5

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

With readOnlyHint=true already covering safety, the description goes far beyond annotations. It discloses that the tool returns the same voicing as a specific website, that there are exactly 12,708 voicings with one per chord name, that charts use a five-fret grid starting at the nut, and that notes above the fifth fret are named in words underneath. This gives the agent a precise behavioral model of the output without needing an output schema.

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 description is longer than average, but nearly every sentence carries distinct information: purpose, voicing provenance, library size, input normalization, chart rendering, and usage preference. The main purpose is front-loaded in the first sentence, and examples are used efficiently. It could be trimmed slightly, but it is well-structured and not redundant.

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?

Despite having no output schema, the description gives the agent a complete picture: what to expect (text diagram), how the chord is rendered (five-fret grid from the nut), how to normalize input, and when to prefer this tool. The only additional context (format parameter choices) is already fully covered by the schema, so nothing necessary is missing.

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%, so the baseline is 3. The description adds meaningful value for the name parameter by providing concrete examples ('G', 'Am7', 'Cmaj7', 'D/F#', 'F#m7b5'), instructing the agent to convert spoken forms ('G major' → 'G'), and insisting on ASCII '#' and 'b' instead of unicode. These normalization rules are not in the schema and materially improve invocation correctness.

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 opens with a specific verb and resource: 'Look up one guitar chord chart by name and return it as a text chord diagram ready to show the user.' This clearly identifies the tool's function and differentiates it from sibling tools by emphasizing lookup by name, unlike get_chord_chart_by_id or get_chord_of_the_day. The added detail about matching the website's single voicing further sharpens the purpose.

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?

The description provides explicit usage context: 'Pass a plain chord name as it would be written on a chart — not a sentence' and 'Convert spoken forms yourself first.' It also tells the agent to prefer this over memory-based fingerings, which is a clear when-to-use directive. However, it does not explicitly compare against sibling tools like get_chord_chart_by_id or get_chord_of_the_day, so it stops short of full alternative routing.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/slshults/gpra-chord-charts-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server