Back to Directory/Developer Tools

Lacuna Music

Generate AI music via the Lacuna Music API from MCP clients like Claude Desktop & Code.

Developer ToolsTypeScriptv0.3.4

Lacuna developer tools

License: MIT

Open-source SDK, CLI, MCP server, and Agent Skill for the Lacuna Music API. Generate AI music programmatically from any Node 18+ runtime, your shell, an MCP-compatible client, or an AI coding agent that supports the Agent Skills standard.

SurfaceInstallUse case
lacuna-sdknpm install lacuna-sdkTypeScript / JavaScript SDK with webhook verification.
lacuna-toolkitnpx lacuna-toolkitCommand-line interface for one-off generation, scripting, CI.
lacuna-mcpnpx lacuna-mcpModel Context Protocol server for Claude Desktop, Claude Code, Cursor, etc.
lacuna-music skillnpx skills add JOYLINK-LTD/lacuna-toolkitAgent Skill for Claude Code, Codex CLI, Cursor, and other tools that follow the SKILL.md standard.

The three npm packages are released together and share the same API surface. The skill is markdown-only and tracks the latest published packages.


Repository layout

.
├── packages/
│   ├── sdk/                   →  npm: lacuna-sdk
│   ├── cli/                   →  npm: lacuna-toolkit
│   └── mcp/                   →  npm: lacuna-mcp
├── skills/
│   └── lacuna-music/SKILL.md  →  Agent Skill (skills.sh, skillsmp.com, etc.)
├── pnpm-workspace.yaml
├── tsconfig.base.json
└── package.json

This is a pnpm workspace. The CLI and MCP server depend on the SDK via workspace:*, which is rewritten to a real version range on publish. The skill is plain markdown and is not part of the workspace.

Development

pnpm install            # install all workspace deps
pnpm -r run build       # build every package
pnpm -r run typecheck   # typecheck every package
pnpm --filter lacuna-mcp run dev  # iterate on a single package

The SDK must be built before pnpm -r run typecheck can resolve the CLI/MCP packages' types. pnpm -r run build handles dependency order automatically.

Releasing

Each package versions independently from packages/<pkg>/package.json. Bump versions in lockstep, build, then publish:

# bump the version in all three package.jsons + packages/mcp/server.json
# (packages/sdk/src/version.ts is injected from package.json at build time — do not hand-edit)
pnpm -r run build
pnpm --filter lacuna-sdk publish --access public
pnpm --filter lacuna-toolkit publish --access public
pnpm --filter lacuna-mcp publish --access public

workspace:* references in dependencies are rewritten to the published version automatically (pnpm handles this).

Distributing the skill

The skill at skills/lacuna-music/ follows the Agent Skills open standard, so it works with Claude Code, Codex CLI, Cursor, and any other tool that loads SKILL.md files.

There is no submission step for skill marketplaces — they index public GitHub repos automatically:

  • skills.sh (Vercel Labs) ranks skills by anonymous install telemetry. Once the repo is public, anyone can install with npx skills add JOYLINK-LTD/lacuna-toolkit, and installs feed the leaderboard. The CLI auto-discovers SKILL.md files under skills/<name>/.
  • skillsmp.com and claudeskills.info crawl public GitHub repos that contain SKILL.md and a minimum of 2 stars.
  • The official anthropics/skills repo accepts community-contributed skills via PR if you want a canonical listing.

To verify discovery locally:

npx skills add JOYLINK-LTD/lacuna-toolkit

This installs lacuna-music into ~/.claude/skills/lacuna-music/ (and the equivalent for other agents). Edits to skills/lacuna-music/SKILL.md show up on the next skills add.

License

MIT © Louis Tsang

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y lacuna-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-joylink-ltd-lacuna-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "lacuna-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

lacuna-mcpnpm

Compatible MCP Clients

Lacuna Music works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More