Skip to content
plugmcp
DirectorySkillsCategoriesBlog
EN/δΈ­ζ–‡
Sign inSign up
Home/Servers/Keyboardia

Keyboardia

by io.github.adewale

Create, co-edit, analyze, publish, and export collaborative step-sequencer sessions through MCP.

Power your agent

Add this server

The publisher's own URL. Not a PlugMCP endpoint.

Server URL
https://keyboardia.dev/mcp
Provider
Add in Claude

Claude opens with the name and URL filled in. You still confirm it there.

Claude Code
claude mcp add --transport http io.github.adewale-keyboardia https://keyboardia.dev/mcp

Run in a terminal.

Claude Desktop
{
  "mcpServers": {
    "io.github.adewale-keyboardia": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://keyboardia.dev/mcp"
      ]
    }
  }
}

claude_desktop_config.json

Step-by-step: add this in Claude

Remote URL or a command on your machine? How the two installs differ

Run on PlugMCP

Host a copy with our keys and logs.

A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.

Launch

Related MCP

View more
  • FirecrawlπŸ”₯ Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
  • N
    NotionToken-auth Notion MCP: pages, databases, blocks, comments, files. Runs headless in CI and agents.
  • Context7Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

Related skills

View all
  • reaReverse engineer anything with agents, from app behavior down to native binaries.
  • rea-changelog-updatePrepare or rewrite REA release changelogs and GitHub release notes from pinned Git history, with verified contributor thanks and Release Please synchronization.
  • rea-tool-designDesign or change REA investigation tools, CLI/MCP contracts, provider capabilities, and Evidence semantics.

Questions

How do I install Keyboardia?
Copy the http config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does Keyboardia need an API key?
No required environment variable is listed on this record.
What transport does Keyboardia use?
Keyboardia is reached over HTTP.
When was Keyboardia last checked?
Last checked 2026-10-16. Create, co-edit, analyze, publish, and export collaborative step-sequencer sessions through MCP.

Create, co-edit, analyze, publish, and export collaborative step-sequencer sessions through MCP.

Keyboardia

A multiplayer step sequencer with polyrhythmic patterns, built for real-time collaboration.

Features

  • Real-time Multiplayer - Up to 10 players can jam together on the same session
  • Polyrhythmic Patterns - Each track can have 3-128 step counts (26 options including triplet-friendly values)
  • 70 Sound Generators - 32 Web Audio synths, 11 Tone.js FM/AM synths, 27 sampled instruments
  • 27 Sampled Instruments - Grand piano, 808 kit, acoustic drums, Hammond organ, kalimba, steel drums, strings, guitars, sax, and more
  • Effects Chain - Reverb, delay, chorus, and distortion with limiter (full multiplayer sync)
  • Parameter Locks - Per-step pitch, volume, and tied notes automation
  • Chromatic Grid - Two view modes: "Events" (key intervals + used pitches) and "All" (49 pitches from -24 to +24)
  • Scale Lock - Constrain chromatic grid to selected musical scale with out-of-scale warnings
  • Scale Sidebar - Visualize scale notes with root/fifth emphasis and active usage highlighting
  • Per-track Swing - Global and per-track swing settings for groove control
  • Session Sharing - Share links, remix others' work, publish immutable sessions
  • QR Code Sharing - Mobile-friendly session sharing
  • Agent Rhythm Editing (Experimental) - Co-edit, create, remix, publish, export, and analyze sessions through stateless MCP

Use with an agent

Configure your MCP client with:

https://keyboardia.dev/mcp

To co-edit music you already have, open a session and give the agent the UUID from its https://keyboardia.dev/s/{session_id} URL. Agents can read the current rhythm, add a track, assign specific steps, and change tempo. Their edits use the same live session as connected browsers, and published sessions stay read-only.

Agents can also start from nothing: create a new session and hand back its link, remix a published session into an editable copy without touching the original, publish the current result as an immutable snapshot when you ask, and export the session as a MIDI file for a DAW.

They can explain music too β€” ask what key a session is in, how its rhythms sit against each other, or what chord a moment forms, and the answer comes from the same music-theory module the Key Assistant uses, with its uncertainty stated rather than hidden.

See the stateless MCP rhythm-slice specification for the exact tool contract and current limitations. Directory maintainers can use the canonical MCP listing record, and hosted data handling is described in the MCP privacy notice.

Tech Stack

  • Frontend: React 19, TypeScript, Vite
  • Audio: Web Audio API, Tone.js
  • Backend: Cloudflare Workers, Durable Objects, KV Storage
  • Real-time: WebSockets with Hibernation API

Getting Started

cd app

# Install dependencies
npm install

# Start development server
npm run dev

# Run tests
npm run test:all

# Build for production
npm run build

Development

Debug Mode

Add ?debug=1 to the URL to enable debug features:

  • Event tracing
  • Audio state debugging
  • Persistent log storage
  • Bug pattern detection

See docs/DEVELOPMENT-TOOLS.md for comprehensive debugging documentation.

Project Structure

app/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ audio/           # Audio engine, synths, effects, scheduling
β”‚   β”œβ”€β”€ components/      # React UI components
β”‚   β”œβ”€β”€ hooks/           # React hooks (useSession, useMultiplayer, etc.)
β”‚   β”œβ”€β”€ state/           # State management (grid reducer)
β”‚   β”œβ”€β”€ sync/            # Multiplayer synchronization
β”‚   β”œβ”€β”€ worker/          # Cloudflare Worker (Durable Objects, API routes)
β”‚   β”œβ”€β”€ utils/           # Logging, debugging, utilities
β”‚   └── debug/           # Debug overlay and context
β”œβ”€β”€ e2e/                 # End-to-end tests (Playwright)
β”œβ”€β”€ test/                # Integration tests
└── scripts/             # Development and debugging scripts

Key Files

FileDescription
app/src/audio/engine.tsMain audio engine - coordinates all audio subsystems
app/src/audio/scheduler.tsDrift-free lookahead scheduling (25ms timer, 100ms lookahead)
app/src/audio/synth.ts16-voice polyphonic synthesizer with voice stealing
app/src/audio/toneSynths.tsTone.js synth manager (FM, AM, Membrane, etc.)
app/src/audio/toneEffects.tsEffects chain (reverb, delay, chorus, distortion)
app/src/sync/multiplayer.tsWebSocket client for real-time sync
app/src/worker/live-session.tsDurable Object for session state

Testing

cd app
npm run test:unit          # Unit tests (vitest, fast product lane)
npm run test:audio-render  # Offline audio renders (native Web Audio)
npm run test:verification-tooling  # Tests of the verification tooling itself
npm run test:integration   # Integration tests (Cloudflare Workers)
npm run test:all           # All of the above
npm run analyze:bugs       # Static bug pattern analysis

Architecture

Audio Signal Chain

Source (Oscillator/Sample)
    β†’ Track Gain (per-track volume)
    β†’ Master Gain
    β†’ Effects Chain (Tone.js: reverb β†’ delay β†’ chorus β†’ distortion)
    β†’ Limiter
    β†’ Compressor
    β†’ Destination

Synth Engines

  1. SynthEngine (synth.ts) - Native Web Audio oscillators, 40+ presets
  2. ToneSynthManager (toneSynths.ts) - Tone.js FM/AM/Membrane synths
  3. AdvancedSynthEngine (advancedSynth.ts) - Dual-oscillator with filter envelope and LFO
  4. SampledInstrument (sampled-instrument.ts) - Sample-based playback (piano)

Multiplayer Architecture

Client A ←→ Durable Object ←→ Client B
              ↓
        DO Storage (immediate)
              ↓
        KV Storage (on disconnect)
  • Each session is a single Durable Object instance
  • WebSocket connections use Hibernation API for cost efficiency
  • State changes broadcast to all connected clients
  • Hybrid persistence: Mutations saved immediately to DO storage, KV updated on disconnect

Documentation

  • ROADMAP.md - Implementation phases and status
  • SYNTHESIS-ENGINE.md - Audio architecture spec
  • SHARING-AND-PUBLISHING.md - Session persistence spec
  • DEVELOPMENT-TOOLS.md - Debug tools reference
  • UI-PHILOSOPHY.md - Design principles
  • LESSONS-LEARNED.md - Debugging war stories

License

MIT

Bundled instrument samples are third-party content with their own licenses (CC0, public domain, and similar free-use terms), documented in app/public/instruments/LICENSE.md.

How do I install Keyboardia?
Copy the http config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does Keyboardia need an API key?
No required environment variable is listed on this record.
What transport does Keyboardia use?
Keyboardia is reached over HTTP.
When was Keyboardia last checked?
Last checked 2026-10-16. Create, co-edit, analyze, publish, and export collaborative step-sequencer sessions through MCP.

No tool list yet. Remote servers get one after the first health check.

plugmcp

Plug any tool into any agent. MCP servers for people who do not write servers. Gateway for volume, n8n for apps.

  • github.com/TODO
  • x.com/TODO
  • linkedin.com/company/TODO

PlugMCP, 2026

Product
  • Browse
  • Install
  • Host your own
  • Pricing
  • Voice mode
  • Browser
Directory
  • All MCP servers
  • MCP Apps
  • Tools
  • Agent skills
  • Categories
  • New
  • Voice
  • Submit a server
Developers
  • Docs
  • Blog
  • Club
  • Work with us
  • What is MCP
  • What is WebMCP
  • Status
Company
  • About
  • Contact
  • Terms
  • Privacy
  • DPA