npm lacuna-mcpstreamable-httpMITupdated 29d ago
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.
What can you do with Lacuna Music?
Lacuna developer tools
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.
| Surface | Install | Use case |
|---|---|---|
lacuna-sdk |
npm install lacuna-sdk |
TypeScript / JavaScript SDK with webhook verification. |
lacuna-toolkit |
npx lacuna-toolkit |
Command-line interface for one-off generation, scripting, CI. |
lacuna-mcp |
npx lacuna-mcp |
Model Context Protocol server for Claude Desktop, Claude Code, Cursor, etc. |
lacuna-music skill |
npx skills add JOYLINK-LTD/lacuna-toolkit |
Agent 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-discoversSKILL.mdfiles underskills/<name>/. - skillsmp.com and claudeskills.info crawl public GitHub repos that contain
SKILL.mdand 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
Install
Add Lacuna Music to your client. Pick the one you use.
{
"servers": {
"lacuna-mcp": {
"type": "http",
"url": "https://www.lacuna.fm/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
claude mcp add lacuna-mcp -- npx -y lacuna-mcpcodex mcp add lacuna-mcp -- npx -y lacuna-mcpamp mcp add lacuna-mcp -- npx -y lacuna-mcp{
"mcpServers": {
"lacuna-mcp": {
"command": "npx",
"args": [
"-y",
"lacuna-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"lacuna-mcp": {
"command": "npx",
"args": [
"-y",
"lacuna-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"mcpServers": {
"lacuna-mcp": {
"command": "npx",
"args": [
"-y",
"lacuna-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"lacuna-mcp": {
"command": "npx",
"args": [
"-y",
"lacuna-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"lacuna-mcp": {
"command": "npx",
"args": [
"-y",
"lacuna-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"lacuna-mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"lacuna-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"lacuna-mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"lacuna-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y lacuna-mcpRun `goose configure`, choose **Add Extension ā Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation21/25
- Maintenance25/25
- Trust16/20
- Capability0/15
- Install experience15/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 22 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 18 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint ā no local install
Version history
| Versions | Published |
|---|---|
| 0.3.4Latest | Aug 10, 2026 |
| 0.3.3 | Aug 9, 2026 |
| 0.3.1 | Jun 13, 2026 |