Back to Browse

Imslp MCP Server

Developer ToolsLow Risk10.0LocalNew
Free

Read IMSLP, the Petrucci Music Library: works, scores, editions, copyright. No API key.

About

Read IMSLP, the Petrucci Music Library: works, scores, editions, copyright. No API key.

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.

4 files analyzed · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

file_system

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

Your application's name. The project identity is appended to it.Optional

Environment variable: IMSLP_USER_AGENT

Minimum milliseconds between requests. Default 2500, floor 2000.Optional

Environment variable: IMSLP_MIN_INTERVAL_MS

Per-request timeout in milliseconds. Default 30000.Optional

Environment variable: IMSLP_TIMEOUT_MS

Retries on transient failures. Default 3.Optional

Environment variable: IMSLP_MAX_RETRIES

In-memory cache lifetime in milliseconds. Default 900000.Optional

Environment variable: IMSLP_CACHE_TTL_MS

Maximum entries kept in the in-memory cache. Default 100.Optional

Environment variable: IMSLP_CACHE_MAX_ENTRIES

silent, error, info or debug, on stderr. Default error.Optional

Environment variable: IMSLP_LOG_LEVEL

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-smeet666-mcp-imslp": {
      "env": {
        "IMSLP_LOG_LEVEL": "your-imslp-log-level-here",
        "IMSLP_TIMEOUT_MS": "your-imslp-timeout-ms-here",
        "IMSLP_USER_AGENT": "your-imslp-user-agent-here",
        "IMSLP_MAX_RETRIES": "your-imslp-max-retries-here",
        "IMSLP_CACHE_TTL_MS": "your-imslp-cache-ttl-ms-here",
        "IMSLP_MIN_INTERVAL_MS": "your-imslp-min-interval-ms-here",
        "IMSLP_CACHE_MAX_ENTRIES": "your-imslp-cache-max-entries-here"
      },
      "args": [
        "-y",
        "mcp-imslp"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

mcp-imslp

An MCP server for IMSLP, the Petrucci Music Library: works, scores and recordings of classical music, catalogued by the volunteers who run it. No API key and no account are needed.

The library publishes its pages under CC BY-SA 4.0, so anything shown from this server credits IMSLP and links the page it came from.

What it reads, and what it leaves alone

Reads go through the MediaWiki API at /api.php and through the listing endpoint IMSLP documents on its own IMSLP:API page. The robots.txt of the site disallows /index.php, /images/, /imglnks/, /wiki/File:, /works and /library/, and this server builds no address under any of them: it downloads no score file, and hands back the link to the work page instead.

IMSLP publishes Crawl-delay: 2, so requests run one at a time with at least two seconds between them. That floor holds however the server is configured.

Copyright status

A score on IMSLP carries a status per jurisdiction, and the library reviews Canada, the United States and the European Union. A file can read Public Domain - Non-PD US: free in one place and protected in another. This server reports the status as published, per jurisdiction, and never flattens it into "public domain".

Configuration

VariableDefaultWhat it does
IMSLP_USER_AGENTthe project identityNames your application; the project identity is appended so IMSLP can reach a person
IMSLP_MIN_INTERVAL_MS2500Gap between requests, never below 2000
IMSLP_TIMEOUT_MS30000Deadline for one request
IMSLP_MAX_RETRIES3Attempts after a transient failure
IMSLP_CACHE_TTL_MS900000How long a page stays in memory
IMSLP_CACHE_MAX_ENTRIES100Pages held at once
IMSLP_LOG_LEVELerrorsilent, error, info or debug, on stderr

Licence

MIT, see LICENSE. The data belongs to IMSLP and its contributors.


mcp-imslp (français)

Un serveur MCP pour IMSLP, la Petrucci Music Library : œuvres, partitions et enregistrements de musique classique, catalogués par les bénévoles qui la tiennent. Aucune clé d'API, aucun compte.

La bibliothèque publie ses pages sous CC BY-SA 4.0, donc tout ce que ce serveur rend attribue à IMSLP et renvoie vers la page d'origine.

Ce qu'il lit, et ce qu'il laisse

Les lectures passent par l'API MediaWiki /api.php et par le point d'entrée qu'IMSLP documente sur sa page IMSLP:API. Le robots.txt du site interdit /index.php, /images/, /imglnks/, /wiki/File:, /works et /library/, et ce serveur ne construit aucune adresse sous ces chemins : il ne télécharge aucun fichier de partition et rend le lien de la page de l'œuvre.

IMSLP publie Crawl-delay: 2, donc les requêtes partent une à une, avec au moins deux secondes entre elles, quelle que soit la configuration.

Le statut de droits

Une partition porte sur IMSLP un statut par juridiction, et la bibliothèque vérifie le Canada, les États-Unis et l'Union européenne. Un fichier peut être Public Domain - Non-PD US : libre ici et protégé ailleurs. Ce serveur rend le statut tel qu'il est publié, juridiction par juridiction.

Reviews

No reviews yet

Be the first to review this server!