@withpica/mcp-server 2.104.0 → 2.106.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 (111) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/README.md +3 -3
  3. package/dist/lib/changelog.generated.d.ts +2 -2
  4. package/dist/lib/changelog.generated.d.ts.map +1 -1
  5. package/dist/lib/changelog.generated.js +2 -2
  6. package/dist/lib/changelog.generated.js.map +1 -1
  7. package/dist/resources/required-schemas.generated.d.ts +8 -8
  8. package/dist/resources/required-schemas.generated.js +8 -8
  9. package/dist/resources/required-schemas.generated.js.map +1 -1
  10. package/dist/resources/required-schemas.source.js +8 -8
  11. package/dist/resources/required-schemas.source.js.map +1 -1
  12. package/dist/tools/agreement-types.d.ts.map +1 -1
  13. package/dist/tools/agreement-types.js +6 -6
  14. package/dist/tools/agreement-types.js.map +1 -1
  15. package/dist/tools/agreements.d.ts.map +1 -1
  16. package/dist/tools/agreements.js +7 -7
  17. package/dist/tools/agreements.js.map +1 -1
  18. package/dist/tools/app-tools.js +3 -3
  19. package/dist/tools/app-tools.js.map +1 -1
  20. package/dist/tools/assets.d.ts +1 -0
  21. package/dist/tools/assets.d.ts.map +1 -1
  22. package/dist/tools/assets.js +53 -48
  23. package/dist/tools/assets.js.map +1 -1
  24. package/dist/tools/audio-files.d.ts.map +1 -1
  25. package/dist/tools/audio-files.js +11 -12
  26. package/dist/tools/audio-files.js.map +1 -1
  27. package/dist/tools/credits.d.ts.map +1 -1
  28. package/dist/tools/credits.js +7 -7
  29. package/dist/tools/credits.js.map +1 -1
  30. package/dist/tools/custody.d.ts.map +1 -1
  31. package/dist/tools/custody.js +5 -5
  32. package/dist/tools/custody.js.map +1 -1
  33. package/dist/tools/dashboard.d.ts.map +1 -1
  34. package/dist/tools/dashboard.js +5 -5
  35. package/dist/tools/dashboard.js.map +1 -1
  36. package/dist/tools/discovery.d.ts.map +1 -1
  37. package/dist/tools/discovery.js +5 -0
  38. package/dist/tools/discovery.js.map +1 -1
  39. package/dist/tools/documents.d.ts.map +1 -1
  40. package/dist/tools/documents.js +2 -2
  41. package/dist/tools/documents.js.map +1 -1
  42. package/dist/tools/enrichment.d.ts.map +1 -1
  43. package/dist/tools/enrichment.js +15 -12
  44. package/dist/tools/enrichment.js.map +1 -1
  45. package/dist/tools/explainability.js +1 -1
  46. package/dist/tools/explainability.js.map +1 -1
  47. package/dist/tools/exports.d.ts.map +1 -1
  48. package/dist/tools/exports.js +23 -17
  49. package/dist/tools/exports.js.map +1 -1
  50. package/dist/tools/groups.d.ts.map +1 -1
  51. package/dist/tools/groups.js +3 -3
  52. package/dist/tools/groups.js.map +1 -1
  53. package/dist/tools/import.d.ts.map +1 -1
  54. package/dist/tools/import.js +6 -2
  55. package/dist/tools/import.js.map +1 -1
  56. package/dist/tools/index.d.ts +12 -0
  57. package/dist/tools/index.d.ts.map +1 -1
  58. package/dist/tools/index.js +4 -0
  59. package/dist/tools/index.js.map +1 -1
  60. package/dist/tools/integrity.d.ts +1 -1
  61. package/dist/tools/integrity.d.ts.map +1 -1
  62. package/dist/tools/integrity.js +3 -3
  63. package/dist/tools/integrity.js.map +1 -1
  64. package/dist/tools/metadata.d.ts.map +1 -1
  65. package/dist/tools/metadata.js +7 -1
  66. package/dist/tools/metadata.js.map +1 -1
  67. package/dist/tools/notifications.js +3 -3
  68. package/dist/tools/notifications.js.map +1 -1
  69. package/dist/tools/people.d.ts.map +1 -1
  70. package/dist/tools/people.js +7 -7
  71. package/dist/tools/people.js.map +1 -1
  72. package/dist/tools/recording-custody.d.ts.map +1 -1
  73. package/dist/tools/recording-custody.js +2 -2
  74. package/dist/tools/recording-custody.js.map +1 -1
  75. package/dist/tools/recording-samples.d.ts.map +1 -1
  76. package/dist/tools/recording-samples.js +4 -4
  77. package/dist/tools/recording-samples.js.map +1 -1
  78. package/dist/tools/recordings.d.ts.map +1 -1
  79. package/dist/tools/recordings.js +4 -4
  80. package/dist/tools/recordings.js.map +1 -1
  81. package/dist/tools/recovery-hints.d.ts.map +1 -1
  82. package/dist/tools/recovery-hints.js +47 -4
  83. package/dist/tools/recovery-hints.js.map +1 -1
  84. package/dist/tools/register.d.ts.map +1 -1
  85. package/dist/tools/register.js +2 -2
  86. package/dist/tools/register.js.map +1 -1
  87. package/dist/tools/releases.d.ts.map +1 -1
  88. package/dist/tools/releases.js +2 -2
  89. package/dist/tools/releases.js.map +1 -1
  90. package/dist/tools/send.js +1 -1
  91. package/dist/tools/send.js.map +1 -1
  92. package/dist/tools/share-links.js +3 -3
  93. package/dist/tools/share-links.js.map +1 -1
  94. package/dist/tools/share-send.js +1 -1
  95. package/dist/tools/share-send.js.map +1 -1
  96. package/dist/tools/split-sheets.d.ts.map +1 -1
  97. package/dist/tools/split-sheets.js +4 -0
  98. package/dist/tools/split-sheets.js.map +1 -1
  99. package/dist/tools/subscription.d.ts +33 -0
  100. package/dist/tools/subscription.d.ts.map +1 -1
  101. package/dist/tools/subscription.js +51 -2
  102. package/dist/tools/subscription.js.map +1 -1
  103. package/dist/tools/sync-placements.d.ts +1 -2
  104. package/dist/tools/sync-placements.d.ts.map +1 -1
  105. package/dist/tools/sync-placements.js +4 -5
  106. package/dist/tools/sync-placements.js.map +1 -1
  107. package/dist/tools/works.d.ts.map +1 -1
  108. package/dist/tools/works.js +9 -9
  109. package/dist/tools/works.js.map +1 -1
  110. package/package.json +2 -2
  111. package/server.json +2 -2
package/CHANGELOG.md CHANGED
@@ -11,6 +11,64 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
11
11
 
12
12
  ## [Unreleased]
13
13
 
14
+ ## [2.106.0] - 2026-10-15
15
+
16
+ ### Changed
17
+
18
+ - `pica_share_send`: `RECIPIENT_VOLUME_EXCEEDED` now means the person has been sent 20 shares through
19
+ withPICA in the last 30 days, counted on shares only. Shares no longer count toward, or are
20
+ blocked by, PICA's marketing email limit (a share isn't marketing). The per-sender limit of 20
21
+ external shares a day is unchanged.
22
+ - No write tool is wrapped in the billing gate any more. A hibernated
23
+ organisation's assistant writes run (founder ruling 2026-10-14, ADR-335;
24
+ the gate never enforced in production). Needs the matching
25
+ `@withpica/mcp-utils` major.
26
+ - `pica_subscription_status` with `catalogue` answers whether that client's catalogue is paid
27
+ for and by which side (`covered_by`: `client`, `relationship` or `null`), in its own summary,
28
+ instead of the own-catalogue card's wording ("You're a resident").
29
+
30
+ ## [2.105.0] - 2026-10-15
31
+
32
+ ### Added
33
+
34
+ - `pica_physical_assets_market_check` — an AI market price estimate for a physical
35
+ asset, from the organisation's own AI provider. A write (`write:catalog`), so a
36
+ client confirms before it runs.
37
+ - A tool definition can declare `alsoRequires`: scopes a credential must hold as
38
+ well as `scope`. `pica_tool_details` reports them as `also_requires`.
39
+
40
+ ### Fixed
41
+
42
+ - `pica_export_snapshot`, `pica_export_song_dossiers` and
43
+ `pica_export_catalog_asset_report` declare both scopes their routes need
44
+ (`write:catalog` and `write:files`). Each declared one, so a credential
45
+ holding only what the tool advertised was refused 403 underneath.
46
+ - `pica_run_person_cascade` and `pica_split_sheet_send` also require
47
+ `write:people`, which their routes already needed.
48
+ - `pica_share_links_create`, `_update`, `_delete` and `pica_upload` require
49
+ `write:files` (a share or an upload is a file operation), as their routes now do.
50
+ - `pica_audio_assign`, `_bulk_assign_suggested`, `_dismiss_match`, `_update` and
51
+ `_bulk_update` require `write:catalog`: they attach or edit audio against the
52
+ catalogue, and their routes are floored there. Upload, analyse and identify
53
+ stay `write:files`, and their routes' floor is now `write:files` too.
54
+ - `pica_notification_acknowledge` requires `write:catalog`: it acknowledges
55
+ catalogue discoveries, which is what its route requires.
56
+ - `pica_physical_assets_query`, `pica_physical_assets_inspect`,
57
+ `pica_audio_pipeline_status`, `pica_count_explain`, `pica_notifications_list`
58
+ and `pica_send_query` require `read:catalog`, which their routes require.
59
+ - `pica_notifications_recent` requires `read:catalog`; its route, and
60
+ `pica_discoveries_query`'s, no longer require `write:catalog` for a read.
61
+ - `pica_physical_assets_inspect` no longer has a `market` section: a read never
62
+ calls an AI provider. Use `pica_physical_assets_market_check`.
63
+ - `pica_import_analyze` is a write tool (`write:catalog`): it spends PICA's
64
+ paid AI model on the file, so a client asks before running it.
65
+
66
+ - The seven physical-asset write tools (`pica_physical_assets_create`,
67
+ `_update`, `_delete`, `_link_work`, `_link_recording`, `_unlink_work`,
68
+ `_unlink_recording`) declare `write:catalog`, the scope their routes and the
69
+ REST write floor require. They declared `write:files`, so a credential holding
70
+ exactly that passed MCP dispatch and was refused 403 underneath.
71
+
14
72
  ## [2.104.0] - 2026-10-14
15
73
 
16
74
  ### Added
@@ -52,6 +110,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
52
110
 
53
111
  ### Changed
54
112
 
113
+ - `pica_export_snapshot` says it is for an owner or admin of the catalogue only;
114
+ its route now refuses anyone else.
115
+
55
116
  - `pica_find_duplicates`: recording and release groups no longer include a pair the owner marked
56
117
  different, and their "keep them separate" option now says how to stop them coming back
57
118
  (it used to say they would keep appearing). A group never holds a marked pair, even through a
package/README.md CHANGED
@@ -65,7 +65,7 @@ Read tools are annotated read-only and are safe to call freely. Write tools repo
65
65
 
66
66
  ## Tools
67
67
 
68
- 367 tools, grouped below by the taxonomy `pica_discover` uses. The server's own `tools/list` is authoritative — not every registered tool is filed under a category yet, so the names below are a map, not a census.
68
+ 368 tools, grouped below by the taxonomy `pica_discover` uses. The server's own `tools/list` is authoritative — not every registered tool is filed under a category yet, so the names below are a map, not a census.
69
69
 
70
70
  **works** — manage your musical works
71
71
 
@@ -225,7 +225,7 @@ Read tools are annotated read-only and are safe to call freely. Write tools repo
225
225
 
226
226
  **physical assets** — manage physical assets (master tapes, hardware, artefacts)
227
227
 
228
- `pica_physical_assets_query`, `pica_physical_assets_inspect`, `pica_physical_assets_create`, `pica_physical_assets_update`, `pica_physical_assets_delete`, `pica_physical_assets_export`, `pica_physical_assets_stats`, `pica_physical_assets_link_work`, `pica_physical_assets_link_recording`, `pica_physical_assets_unlink_work`, `pica_physical_assets_unlink_recording`
228
+ `pica_physical_assets_query`, `pica_physical_assets_inspect`, `pica_physical_assets_create`, `pica_physical_assets_update`, `pica_physical_assets_market_check`, `pica_physical_assets_delete`, `pica_physical_assets_export`, `pica_physical_assets_stats`, `pica_physical_assets_link_work`, `pica_physical_assets_link_recording`, `pica_physical_assets_unlink_work`, `pica_physical_assets_unlink_recording`
229
229
 
230
230
  **portfolio** — who looks after a catalogue — see and answer requests, invite an organisation or a client by email, end access, see what was done through a relationship, (for organisations) the client catalogues you look after with what needs doing, and preparing a catalogue for a client to take over
231
231
 
@@ -297,4 +297,4 @@ Read tools are annotated read-only and are safe to call freely. Write tools repo
297
297
 
298
298
  ---
299
299
 
300
- Generated for `@withpica/mcp-server@2.104.0`. © 2024-2026 Withpica Ltd. All rights reserved. MIT licensed.
300
+ Generated for `@withpica/mcp-server@2.106.0`. © 2024-2026 Withpica Ltd. All rights reserved. MIT licensed.