@labelgrid/mcp 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,18 @@ All notable changes to `@labelgrid/mcp` are documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.2.0] - 2026-07-15
9
+
10
+ ### Added
11
+
12
+ - MCPB one-click bundle for Claude Desktop, attached to GitHub releases.
13
+
14
+ ## [0.1.1] - 2026-07-15
15
+
16
+ ### Changed
17
+
18
+ - Declare the MCP registry name in the npm package manifest (no functional change).
19
+
8
20
  ## [0.1.0] - 2026-07-15
9
21
 
10
22
  First release.
package/README.md CHANGED
@@ -6,7 +6,17 @@
6
6
 
7
7
  You need a LabelGrid API token (see [Getting a token](#getting-a-token)) and Node.js 20+. The server runs on demand via `npx` — nothing to install globally.
8
8
 
9
- ### Claude Desktop
9
+ ### Claude Desktop — one-click install
10
+
11
+ The quickest way in, with no config file to edit:
12
+
13
+ 1. Download **`labelgrid.mcpb`** from the [latest release](https://github.com/labelgrid/labelgrid-mcp/releases/latest).
14
+ 2. Double-click it, or open Claude Desktop → **Settings → Extensions** and drag the file in.
15
+ 3. When prompted, paste your [LabelGrid API token](#getting-a-token) — or leave it blank and let the in-chat guided setup walk you through creating one.
16
+
17
+ To update later, download the newer `.mcpb` and install it over the old one. Prefer to configure it yourself, or using a different client? The manual `npx` setup below works everywhere.
18
+
19
+ ### Claude Desktop — manual config
10
20
 
11
21
  Add this to your `claude_desktop_config.json` (Settings → Developer → Edit Config):
12
22
 
package/package.json CHANGED
@@ -1,14 +1,18 @@
1
1
  {
2
2
  "name": "@labelgrid/mcp",
3
- "version": "0.1.0",
4
- "description": "Official LabelGrid MCP server — connect your AI client to your LabelGrid account",
3
+ "version": "0.2.0",
4
+ "mcpName": "io.github.labelgrid/labelgrid-mcp",
5
+ "description": "Official LabelGrid MCP server \u2014 connect your AI client to your LabelGrid account",
5
6
  "type": "module",
6
7
  "keywords": ["mcp", "model-context-protocol", "labelgrid", "music-distribution", "ai", "claude"],
7
8
  "main": "dist/index.js",
8
- "bin": { "labelgrid-mcp": "dist/index.js" },
9
+ "bin": {
10
+ "labelgrid-mcp": "dist/index.js"
11
+ },
9
12
  "files": ["dist", "README.md", "CHANGELOG.md", "LICENSE", "server.json"],
10
13
  "scripts": {
11
14
  "build": "tsc",
15
+ "build:mcpb": "npm run build && node scripts/build-mcpb.mjs",
12
16
  "start": "node dist/index.js",
13
17
  "dev": "tsc --watch",
14
18
  "test": "vitest run --exclude 'test/contract/**'",
@@ -18,9 +22,14 @@
18
22
  "check-coverage": "node scripts/check-api-coverage.mjs",
19
23
  "gen-docs": "node scripts/gen-tool-docs.mjs"
20
24
  },
21
- "repository": { "type": "git", "url": "git+https://github.com/labelgrid/labelgrid-mcp.git" },
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "git+https://github.com/labelgrid/labelgrid-mcp.git"
28
+ },
22
29
  "license": "MIT",
23
- "engines": { "node": ">=20" },
30
+ "engines": {
31
+ "node": ">=20"
32
+ },
24
33
  "dependencies": {
25
34
  "@modelcontextprotocol/sdk": "^1.12.0",
26
35
  "zod": "^3.24.0"
package/server.json CHANGED
@@ -1,57 +1,64 @@
1
1
  {
2
- "$schema": "https://static.modelcontextprotocol.io/schemas/2025-07-09/server.schema.json",
2
+ "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
3
  "name": "io.github.labelgrid/labelgrid-mcp",
4
- "description": "Official LabelGrid MCP server — connect your AI client to your LabelGrid account to manage catalog, releases, files, analytics, accounting, webhooks and distribution.",
5
- "version": "0.1.0",
4
+ "description": "Official LabelGrid MCP server — manage your music catalog, releases, analytics and distribution.",
5
+ "version": "0.2.0",
6
+ "websiteUrl": "https://labelgrid.com",
6
7
  "repository": {
7
8
  "url": "https://github.com/labelgrid/labelgrid-mcp",
8
9
  "source": "github"
9
10
  },
10
11
  "packages": [
11
12
  {
12
- "registry_type": "npm",
13
+ "registryType": "npm",
13
14
  "identifier": "@labelgrid/mcp",
14
- "version": "0.1.0",
15
+ "version": "0.2.0",
15
16
  "transport": {
16
17
  "type": "stdio"
17
18
  },
18
- "environment_variables": [
19
+ "environmentVariables": [
19
20
  {
20
21
  "name": "LABELGRID_API_TOKEN",
21
22
  "description": "Your LabelGrid API token. Create one in your dashboard under Profile → API Tokens. Without it the server starts in setup mode and walks you through creating one.",
22
- "is_required": false,
23
- "is_secret": true
23
+ "isRequired": false,
24
+ "isSecret": true,
25
+ "format": "string"
24
26
  },
25
27
  {
26
28
  "name": "LABELGRID_API_URL",
27
29
  "description": "Override the API base URL. Defaults to the production API.",
28
- "is_required": false
30
+ "isRequired": false,
31
+ "format": "string"
29
32
  },
30
33
  {
31
34
  "name": "LABELGRID_ENABLE_WRITES",
32
35
  "description": "Enable safe writes (create/update drafts, labels, artists, and similar). Enabled by default; set to false for read-only.",
33
- "is_required": false
36
+ "isRequired": false,
37
+ "format": "string"
34
38
  },
35
39
  {
36
40
  "name": "LABELGRID_ENABLE_FULL_WRITES",
37
41
  "description": "Enable full writes (distribution, takedowns, immutable uploads). Disabled by default; also requires LABELGRID_FULL_WRITES_ACK.",
38
- "is_required": false
42
+ "isRequired": false,
43
+ "format": "string"
39
44
  },
40
45
  {
41
46
  "name": "LABELGRID_FULL_WRITES_ACK",
42
47
  "description": "Must equal the exact acknowledgment sentence (see the README safety section) to arm full writes.",
43
- "is_required": false,
44
- "is_secret": false
48
+ "isRequired": false,
49
+ "format": "string"
45
50
  },
46
51
  {
47
52
  "name": "LABELGRID_TOOLSETS",
48
53
  "description": "Comma-separated subset of toolsets to expose (identity, reference, catalog, releases, review, analytics, accounting, delivery, webhooks, distribution). Defaults to all.",
49
- "is_required": false
54
+ "isRequired": false,
55
+ "format": "string"
50
56
  },
51
57
  {
52
58
  "name": "LABELGRID_READ_ONLY",
53
59
  "description": "Force reads only; overrides both write flags. Defaults to false.",
54
- "is_required": false
60
+ "isRequired": false,
61
+ "format": "string"
55
62
  }
56
63
  ]
57
64
  }