Skip to main content
Glama

Create iReal Pro chart

create_chart

Construct iReal Pro chord charts from structured measures or raw progression, save to disk library, and serve over LAN for import.

Instructions

Build an iReal Pro chord chart from structured measures (or a raw progression). Every measure is padded to a fixed cell width so iReal Pro wraps to exactly measuresPerLine measures per line (default 4). By default the chart is SAVED to the on-disk library and served by the standalone HTTP server (so it's reachable from other devices on the network). Returns a modern irealb:// import link, a legacy irealbook:// link, the served URLs, an ASCII layout preview, and validation warnings.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bpmNoTempo in BPM (optional).
keyNoKey signature, e.g. "Bb" or "D-" for minor. Default "C".
rawNoRaw iReal Pro progression string (power users). Used verbatim; mutually exclusive with `measures`.
saveNoSave to the library and serve over HTTP. Default true. Set false for a one-off (use preview_chart for pure iteration).
slugNoURL/file slug for the saved chart (defaults to a slug of the title). Reusing a slug overwrites.
styleNoiReal Pro style, e.g. "Medium Swing". See list_styles. Default "Medium Swing".
titleYesSong title.
variantNoWhich reading this is. By convention chart every song twice: 'straight' (real transcription, not dumbed down) and 'embellished' (richer qualities/substitutions, SAME harmonic rhythm — no faster to play). Sets the slug suffix and a badge.
composerNoComposer "First Last" (reordered to "Last First" for sorting).
measuresNoStructured measures (preferred). Mutually exclusive with `raw`.
timeSignatureNoDefault time signature "n/d". Default "4/4".
outputHtmlPathNoIf set, also write a standalone HTML copy to this arbitrary path.
measuresPerLineNoMeasures per line; padded so the app wraps consistently. Must divide 16. Default 4 (piano-reading sweet spot).
reorderComposerNoReorder composer to "Last First" for sorting. Default true. Set false for band names (e.g. "Black Sabbath").
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses padding behavior, default saving to disk and serving over HTTP, overwriting on slug reuse, and return types including warnings. However, it does not mention potential destructive side effects of overwriting or permission requirements, which would warrant a 5.

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 a single paragraph that front-loads the core purpose and then logically explains padding, saving behavior, and return value. It is concise and avoids redundancy, though splitting into bullet points could enhance readability for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main behavioral aspects and return value adequately, but does not summarize the 14 parameters into logical groups (e.g., metadata, structure, output options). Given the high parameter count and no output schema, the description could be more complete by giving an overview of parameter categories to help the agent understand the tool's full capabilities.

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 each parameter has a description. The tool description adds context beyond the schema, such as the padding mechanism, default measuresPerLine division constraint, and the variant convention (straight vs embellished). This extra value justifies a score above baseline 3.

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 clearly states the tool builds an iReal Pro chord chart from structured measures or raw progression, and explicitly distinguishes preview_chart for iteration. It uses a specific verb ('Build') and identifies the resource ('iReal Pro chord chart') and the input format, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies when to use this tool (building charts from measures or raw progression) and when not to (use preview_chart for one-off previews). It explains the default save and serve behavior, mutual exclusivity of 'raw' and 'measures', and the return value, providing clear guidance on tool selection.

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/seajaysec/ireal-mcp'

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