Skip to main content
Glama

Read a work

get_work
Read-onlyIdempotent

Retrieve a classical music work's details from IMSLP: title, composer, dates, key, instrumentation, and score/recording counts, with copyright status per jurisdiction. Link to the work page.

Instructions

Read one work on IMSLP: its title and alternative titles, the composer, the opus and catalogue numbers, the year it was written and the year it was first published, the dedication, the key, the instrumentation, the style and period, and how many scores and recordings the page holds. Address a work by its page title, written 'Work (Composer)', for example 'Nocturnes, Op.9 (Chopin, Frédéric)', or by the page id. Dates and durations come back in the wording the page used: 'ca.1830' stays 'ca.1830', because a bare year would state a certainty the library declined to state. A facet the page leaves empty comes back null rather than guessed. A work holding a few editions comes back with them, files included. One holding many comes back with 'editions' null and 'editions_truncated' true, and list_work_files pages through them. The copyright of a score is stated per jurisdiction: 'Public Domain - Non-PD US' is free in Canada and the European Union and protected in the United States, so never report a score as public domain without saying where. No score file is downloaded or linked; the work page is what an answer links to. When you show a work to a user, credit IMSLP and link that page.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoThe title of the work's page, written 'Work (Composer)', for example 'Nocturnes, Op.9 (Chopin, Frédéric)'. Pass this or 'pageid', not both.
pageidNoThe page id a search returns. Pass this or 'page', not both.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyYes
notesYes
titleYes
pageidYesThe number IMSLP gives the page. Known when the work was addressed by it, and null when it was addressed by title: a rendered page states its title and nothing else.
sourceYes
licenseYes
composerYes
editionsYesEvery edition the page holds, files included. Null when the work holds more of them than one answer carries, and list_work_files then pages through them.
languageYes
page_urlYes
sectionsYesThe sections of the page, with the number of entries the site counts in each.
movementsYes
dedicationYes
librettistYes
page_titleYes
authoritiesYesRecords of the work in library catalogues: VIAF, LCCN, WorldCat, BNF, GND.
piece_styleYes
external_linksYes
composer_periodYes
instrumentationYes
redirected_fromYesThe title asked for, when it redirected here.
average_durationYes
composition_yearYesAs published, for example 'ca.1830'.
genre_categoriesYes
alternative_titleYes
composer_page_urlYes
copyright_summaryYesThe terms the scores of this work are published under, one entry per distinct statement, with the number of editions on the page carrying it. Stated whether or not the editions themselves fit in this answer.
extra_informationYes
first_performanceYes
first_publicationYes
editions_truncatedYes
opus_catalogue_numberYes
internal_catalogue_numberYes
Behavior5/5

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

Even though annotations already mark the tool as read-only, idempotent, and non-destructive, the description adds substantial behavior beyond them: dates preserve original wording, empty facets return null, edition truncation is disclosed, copyright is jurisdiction-dependent, and no score files are linked. These are exactly the behavioral nuances an agent needs.

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 long but every sentence earns its place, covering addressing, truncation behavior, copyright caveats, and linking policy. It is front-loaded with the core purpose and then layers necessary edge-case behavior, making it well-suited to a nuanced read operation.

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?

Given the tool's complexity, the availability of an output schema, and the annotation set, the description is complete. It tells the agent how to identify a work, what to expect for truncated editions, how to handle copyright statements, and what to link when presenting results. No critical calling guidance is missing.

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 the baseline is 3. The description repeats the page title format and the 'pass this or pageid, not both' rule already present in the schema, adding no new parameter-level meaning. It does not compensate beyond the schema because none is needed.

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 'Read one work on IMSLP' and enumerates exactly what fields come back, making the verb, resource, and scope explicit. It is clearly distinguished from siblings like search_works and list_work_files, which search or page through files rather than reading a single work.

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 gives concrete addressing instructions ('page title' vs 'page id') and explicitly points to list_work_files when a work has many editions and 'editions_truncated' is true. This provides a clear when-to-use-this vs when-to-use-that signal, including an alternative tool.

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/smeet666/mcp-imslp'

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