@labelgrid/mcp 0.1.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.
Files changed (55) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/LICENSE +21 -0
  3. package/README.md +299 -0
  4. package/dist/api/content-types.d.ts +33 -0
  5. package/dist/api/content-types.js +87 -0
  6. package/dist/api/http.d.ts +62 -0
  7. package/dist/api/http.js +345 -0
  8. package/dist/api/upload.d.ts +26 -0
  9. package/dist/api/upload.js +104 -0
  10. package/dist/config.d.ts +29 -0
  11. package/dist/config.js +82 -0
  12. package/dist/coverage.d.ts +19 -0
  13. package/dist/coverage.js +150 -0
  14. package/dist/gating.d.ts +13 -0
  15. package/dist/gating.js +22 -0
  16. package/dist/index.d.ts +9 -0
  17. package/dist/index.js +86 -0
  18. package/dist/legal.d.ts +12 -0
  19. package/dist/legal.js +13 -0
  20. package/dist/log.d.ts +16 -0
  21. package/dist/log.js +35 -0
  22. package/dist/server.d.ts +15 -0
  23. package/dist/server.js +83 -0
  24. package/dist/tools/accounting.d.ts +12 -0
  25. package/dist/tools/accounting.js +386 -0
  26. package/dist/tools/analytics.d.ts +3 -0
  27. package/dist/tools/analytics.js +62 -0
  28. package/dist/tools/catalog-read.d.ts +10 -0
  29. package/dist/tools/catalog-read.js +145 -0
  30. package/dist/tools/catalog-write.d.ts +12 -0
  31. package/dist/tools/catalog-write.js +206 -0
  32. package/dist/tools/delivery.d.ts +6 -0
  33. package/dist/tools/delivery.js +40 -0
  34. package/dist/tools/files-read.d.ts +7 -0
  35. package/dist/tools/files-read.js +86 -0
  36. package/dist/tools/full-writes.d.ts +12 -0
  37. package/dist/tools/full-writes.js +248 -0
  38. package/dist/tools/identity.d.ts +3 -0
  39. package/dist/tools/identity.js +28 -0
  40. package/dist/tools/reference.d.ts +3 -0
  41. package/dist/tools/reference.js +36 -0
  42. package/dist/tools/release-write.d.ts +12 -0
  43. package/dist/tools/release-write.js +184 -0
  44. package/dist/tools/review-read.d.ts +7 -0
  45. package/dist/tools/review-read.js +78 -0
  46. package/dist/tools/setup.d.ts +11 -0
  47. package/dist/tools/setup.js +56 -0
  48. package/dist/tools/types.d.ts +41 -0
  49. package/dist/tools/types.js +52 -0
  50. package/dist/tools/webhooks.d.ts +7 -0
  51. package/dist/tools/webhooks.js +124 -0
  52. package/dist/version.d.ts +6 -0
  53. package/dist/version.js +17 -0
  54. package/package.json +34 -0
  55. package/server.json +59 -0
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@labelgrid/mcp",
3
+ "version": "0.1.0",
4
+ "description": "Official LabelGrid MCP server — connect your AI client to your LabelGrid account",
5
+ "type": "module",
6
+ "keywords": ["mcp", "model-context-protocol", "labelgrid", "music-distribution", "ai", "claude"],
7
+ "main": "dist/index.js",
8
+ "bin": { "labelgrid-mcp": "dist/index.js" },
9
+ "files": ["dist", "README.md", "CHANGELOG.md", "LICENSE", "server.json"],
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "start": "node dist/index.js",
13
+ "dev": "tsc --watch",
14
+ "test": "vitest run --exclude 'test/contract/**'",
15
+ "test:contract": "vitest run test/contract",
16
+ "lint": "biome check .",
17
+ "leak-guard": "node scripts/leak-guard.mjs",
18
+ "check-coverage": "node scripts/check-api-coverage.mjs",
19
+ "gen-docs": "node scripts/gen-tool-docs.mjs"
20
+ },
21
+ "repository": { "type": "git", "url": "git+https://github.com/labelgrid/labelgrid-mcp.git" },
22
+ "license": "MIT",
23
+ "engines": { "node": ">=20" },
24
+ "dependencies": {
25
+ "@modelcontextprotocol/sdk": "^1.12.0",
26
+ "zod": "^3.24.0"
27
+ },
28
+ "devDependencies": {
29
+ "@biomejs/biome": "^1.9.0",
30
+ "@types/node": "^22.0.0",
31
+ "typescript": "^5.7.0",
32
+ "vitest": "^3.0.0"
33
+ }
34
+ }
package/server.json ADDED
@@ -0,0 +1,59 @@
1
+ {
2
+ "$schema": "https://static.modelcontextprotocol.io/schemas/2025-07-09/server.schema.json",
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",
6
+ "repository": {
7
+ "url": "https://github.com/labelgrid/labelgrid-mcp",
8
+ "source": "github"
9
+ },
10
+ "packages": [
11
+ {
12
+ "registry_type": "npm",
13
+ "identifier": "@labelgrid/mcp",
14
+ "version": "0.1.0",
15
+ "transport": {
16
+ "type": "stdio"
17
+ },
18
+ "environment_variables": [
19
+ {
20
+ "name": "LABELGRID_API_TOKEN",
21
+ "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
24
+ },
25
+ {
26
+ "name": "LABELGRID_API_URL",
27
+ "description": "Override the API base URL. Defaults to the production API.",
28
+ "is_required": false
29
+ },
30
+ {
31
+ "name": "LABELGRID_ENABLE_WRITES",
32
+ "description": "Enable safe writes (create/update drafts, labels, artists, and similar). Enabled by default; set to false for read-only.",
33
+ "is_required": false
34
+ },
35
+ {
36
+ "name": "LABELGRID_ENABLE_FULL_WRITES",
37
+ "description": "Enable full writes (distribution, takedowns, immutable uploads). Disabled by default; also requires LABELGRID_FULL_WRITES_ACK.",
38
+ "is_required": false
39
+ },
40
+ {
41
+ "name": "LABELGRID_FULL_WRITES_ACK",
42
+ "description": "Must equal the exact acknowledgment sentence (see the README safety section) to arm full writes.",
43
+ "is_required": false,
44
+ "is_secret": false
45
+ },
46
+ {
47
+ "name": "LABELGRID_TOOLSETS",
48
+ "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
50
+ },
51
+ {
52
+ "name": "LABELGRID_READ_ONLY",
53
+ "description": "Force reads only; overrides both write flags. Defaults to false.",
54
+ "is_required": false
55
+ }
56
+ ]
57
+ }
58
+ ]
59
+ }