Skip to content

Conversation

@jonathanhefner
Copy link
Member

@jonathanhefner jonathanhefner commented Jan 1, 2026

Demo MCP App showcasing ABC notation rendering and audio playback with:

  • Server-side ABC notation validation
  • Built-in audio player with play/pause and loop controls
  • Sheet music visualization using abcjs library

🤖 Generated with Claude Code

Screenshots:

Twinkle, Twinkle Playing on repeat
01-twinkle-twinkle-little-star 02-playing-on-repeat

(Will push those screenshots to the gh-pages branch once this PR is merged.)

@pkg-pr-new
Copy link

pkg-pr-new bot commented Jan 1, 2026

Open in StackBlitz

npm i https://pkg.pr.new/modelcontextprotocol/ext-apps/@modelcontextprotocol/ext-apps@196

commit: 012fb32

@antonpk1
Copy link
Collaborator

antonpk1 commented Jan 5, 2026

very cool! one thing - the audio playback doesn't work because the soundfonts from paulrosen.github.io are blocked by CSP.

fix: add connectDomains to the resource response in server.ts:

return {
  contents: [
    {
      uri: resourceUri,
      mimeType: RESOURCE_MIME_TYPE,
      text: html,
      _meta: {
        ui: {
          csp: {
            // Allow loading soundfonts from paulrosen.github.io for audio playback
            connectDomains: ["https://paulrosen.github.io"],
          },
        },
      },
    },
  ],
};

Demo MCP App showcasing ABC notation rendering and audio playback with:
- Server-side ABC notation validation
- Built-in audio player with play/pause and loop controls
- Sheet music visualization using abcjs library

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@jonathanhefner
Copy link
Member Author

@antonpk1 Thank you!! I applied your fix.

@antonpk1 antonpk1 merged commit d925af5 into modelcontextprotocol:main Jan 6, 2026
14 checks passed
@ochafik ochafik mentioned this pull request Jan 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants