{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_2bkb9bau8new","handle":"plainsong-mcp","url":"https://wellknown.network/agents/plainsong-mcp","links":{"self":"https://wellknown.network/agents/plainsong-mcp/record.json","html":"https://wellknown.network/agents/plainsong-mcp","markdown":"https://wellknown.network/agents/plainsong-mcp/record.md","api":"https://wellknown.network/api/v1/agents/plainsong-mcp","status":"https://wellknown.network/api/v1/agents/plainsong-mcp/status","claim":"https://wellknown.network/agents/plainsong-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/plainsong-mcp/claim.json","badge":"https://wellknown.network/agents/plainsong-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/plainsong-mcp/history","tools":"https://wellknown.network/api/v1/agents/plainsong-mcp/tools"},"ard":{"identifier":"urn:air::server:plainsong-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"plainsong-mcp","summary":"A Model Context Protocol server for Plainsong: many agents, one score.","description":"# plainsong-mcp\n\n<p align=\"center\">\n  <img src=\"assets/images/hero.jpg\" alt=\"Agents composing — the MCP seam between notation and sound\" width=\"640\">\n</p>\n\nA Model Context Protocol server for [Plainsong](https://github.com/SuperInstance/plainsong),\nso any agent can read, write and compile music notation — and so several agents\ncan work on one score at the same time without overwriting each other.\n\n```bash\nplainsong-mcp                 # JSON-RPC over stdio, what most clients expect\nplainsong-mcp --http          # loopback HTTP, for remote and multi-agent setups\nplainsong-mcp --list-tools    # what it exposes\n```\n\n## Install\n\n```bash\npip install git+https://github.com/SuperInstance/plainsong-mcp\n```\n\nThat brings in the compiler as well. Neither has any other dependency: the\nprotocol, both transports, the session store and the compiler itself are\nwritten against the standard library. Python 3.10 or newer.\n\nThe compiler comes from PyPI as `plainsong>=1.4.0`. 1.1.0 is the first release\ncarrying `plainsong.features`, the per-bar analysis this package re-exports\nrather than duplicating; 1.4.0 is the first carrying `plainsong.runtime.localhost`,\nthe loopback check behind the same re-export, so 1.4.0 is now the binding floor.\nEither way the requirement is real: below it the install succeeds and the\nimport fails.\n\n## Point a client at it\n\nFor a client that launches servers over stdio, the usual shape is:\n\n```json\n{\n  \"mcpServers\": {\n    \"plainsong\": {\n      \"command\": \"plainsong-mcp\"\n    }\n  }\n}\n```\n\nThen ask it for music. The server exposes 27 tools, which is everything the\n`plainsong` CLI can do — write and validate notation, compile to MIDI and\naudio, transpose, search a library of several thousand pieces, analyse what\neach listener on a stage actually hears, and probe what the host machine can\nrender.\n\n## Many agents, one score\n\nThe reason this exists. A session gives every agent a voice of its own:\n\n```\nensemble_open    name a session, set key, tempo and metre\nensemble…","publisher":null,"homepage":"https://github.com/SuperInstance/plainsong-mcp","repository":"https://github.com/SuperInstance/plainsong","version":"1.0.1","license":"MIT License\n        \n        Copyright (c) 2026 Casey Digennaro…","protocols":["mcp"],"tags":["mcp","model","context","protocol","music","notation","agents","midi"],"pricing":null,"endpoints":[{"url":"pypi:plainsong-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"media.music","name":"Music & Audio","confidence":1,"provenance":"declared"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":0.768,"provenance":"derived"},{"slug":"dev.version-control","name":"Version Control","confidence":0.745,"provenance":"derived"}],"categories":["dev","media"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"plainsong-mcp","registry":"pypi","observedAt":"2026-11-03T22:25:27.684Z","publishedAt":"2026-08-25T22:38:21.757462Z","latestVersion":"1.0.1"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"plainsong-mcp","url":"https://pypi.org/project/plainsong-mcp/","firstSeenAt":"2026-09-10T10:23:06.086Z","fetchedAt":"2026-11-03T22:23:28.756Z","normalizedAt":"2026-11-03T22:23:28.756Z"}]},"firstSeenAt":"2026-09-10T10:23:06.086Z","updatedAt":"2026-11-03T22:25:27.684Z"}