Back to Directory/Analytics & BI

io.github.labelgrid/labelgrid-mcp

Official LabelGrid MCP server — manage your music catalog, releases, analytics and distribution.

Analytics & BITypeScriptv0.4.0

LabelGrid MCP — workspace

npm version CI LabelGrid MCP server

The official LabelGrid tooling for the LabelGrid public API, organised as an npm workspace.

Looking for the MCP server docs? They live in packages/mcp/README.md — installation for Claude Desktop / Cursor / any MCP client, the full tool reference, safety gating, and configuration.

Packages

PackageWhat it is
@labelgrid/mcpThe MCP server — 30 consolidated tools over the LabelGrid public API. Published to npm; also ships as the labelgrid.mcpb one-click bundle for Claude Desktop.
@labelgrid/cliThe labelgrid command-line tool — the same API surface for terminals and scripts: catalog, releases, files, analytics, royalties, webhooks, and distribution, with --json output for pipelines.
@labelgrid/coreThe shared API client: HTTP transport with structured errors, presigned-URL uploads, content-type allowlists, the catalog-entity registry, and redacting logging. Used by every LabelGrid tool built on the public API.

Command-line tool

Full docs (auth setup, every command group, scripting, safety model) live in packages/cli/README.md. Quickstart:

npm install -g @labelgrid/cli          # Node 20+; installs the `labelgrid` command
export LABELGRID_API_TOKEN=...         # or run `labelgrid auth login`
labelgrid auth whoami                  # verify the token
labelgrid catalog search --type release --json | jq '.data[].id'

Agent skill

skills/labelgrid-release/SKILL.md is an agent skill for the full release lifecycle — draft a release and its tracks, upload audio and artwork, validate, review, distribute, and track delivery — with the exact MCP tool and CLI command for each step and guidance on which vehicle fits. Point an agent at the file, or drop it into your assistant's skills directory, to teach it the end-to-end LabelGrid release flow.

Layout & build arrangement

  • The root package.json is a private workspaces manifest; its scripts fan out to the packages (npm run build builds @labelgrid/core first, then @labelgrid/mcp and @labelgrid/cli; npm test runs each package's suite). Contributors work from the repo root: packages/core is the shared client, packages/mcp the MCP server, packages/cli the command-line tool — the two products are thin adapters over core.
  • Each package has its own tsconfig.json extending the shared tsconfig.base.json (no TypeScript project references — the explicit root build chain keeps ordering correct and simple). @labelgrid/mcp imports @labelgrid/core through the workspace link and compiles against its built declarations.
  • Unit tests run per package via each package's vitest.config.ts. The MCP package aliases @labelgrid/core to the sibling package's TypeScript source, so running tests never requires a prior core build.
  • Repo-wide checks live in scripts/ and run from the root: npm run lint, npm run leak-guard, npm run check-coverage, npm run gen-docs, npm run measure-tokens.

Development

npm ci            # install the whole workspace
npm run build     # build core, then mcp and cli
npm test          # unit suites for every package
npm run lint      # biome over the repo

The MCP server binary after a build: node packages/mcp/dist/index.js (or npm start). The CLI binary after a build: node packages/cli/dist/index.js.

License

MIT

Installation

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

bash
npx -y @labelgrid/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-labelgrid-labelgrid-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@labelgrid/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

@labelgrid/mcpnpm

Compatible MCP Clients

io.github.labelgrid/labelgrid-mcp 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