@withpica/mcp-server 2.103.0 → 2.104.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 (87) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +8 -4
  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/index.d.ts.map +1 -1
  8. package/dist/resources/index.js +23 -1
  9. package/dist/resources/index.js.map +1 -1
  10. package/dist/resources/required-schemas.generated.d.ts +77 -0
  11. package/dist/resources/required-schemas.generated.d.ts.map +1 -1
  12. package/dist/resources/required-schemas.generated.js +114 -0
  13. package/dist/resources/required-schemas.generated.js.map +1 -1
  14. package/dist/resources/required-schemas.source.d.ts.map +1 -1
  15. package/dist/resources/required-schemas.source.js +85 -0
  16. package/dist/resources/required-schemas.source.js.map +1 -1
  17. package/dist/server-instructions.d.ts +2 -2
  18. package/dist/server-instructions.d.ts.map +1 -1
  19. package/dist/server-instructions.js +2 -0
  20. package/dist/server-instructions.js.map +1 -1
  21. package/dist/skills/skills.generated.d.ts.map +1 -1
  22. package/dist/skills/skills.generated.js +25 -3
  23. package/dist/skills/skills.generated.js.map +1 -1
  24. package/dist/tools/catalogue-argument.d.ts +76 -0
  25. package/dist/tools/catalogue-argument.d.ts.map +1 -0
  26. package/dist/tools/catalogue-argument.js +114 -0
  27. package/dist/tools/catalogue-argument.js.map +1 -0
  28. package/dist/tools/custody.d.ts +2 -2
  29. package/dist/tools/custody.d.ts.map +1 -1
  30. package/dist/tools/custody.js +22 -20
  31. package/dist/tools/custody.js.map +1 -1
  32. package/dist/tools/dashboard.d.ts.map +1 -1
  33. package/dist/tools/dashboard.js +7 -4
  34. package/dist/tools/dashboard.js.map +1 -1
  35. package/dist/tools/discovery.d.ts.map +1 -1
  36. package/dist/tools/discovery.js +25 -2
  37. package/dist/tools/discovery.js.map +1 -1
  38. package/dist/tools/duplicates.d.ts +15 -2
  39. package/dist/tools/duplicates.d.ts.map +1 -1
  40. package/dist/tools/duplicates.js +109 -10
  41. package/dist/tools/duplicates.js.map +1 -1
  42. package/dist/tools/enrichment.d.ts.map +1 -1
  43. package/dist/tools/enrichment.js +6 -1
  44. package/dist/tools/enrichment.js.map +1 -1
  45. package/dist/tools/handovers.d.ts +42 -0
  46. package/dist/tools/handovers.d.ts.map +1 -0
  47. package/dist/tools/handovers.js +302 -0
  48. package/dist/tools/handovers.js.map +1 -0
  49. package/dist/tools/index.d.ts +6 -1
  50. package/dist/tools/index.d.ts.map +1 -1
  51. package/dist/tools/index.js +78 -1
  52. package/dist/tools/index.js.map +1 -1
  53. package/dist/tools/metadata.d.ts.map +1 -1
  54. package/dist/tools/metadata.js +80 -0
  55. package/dist/tools/metadata.js.map +1 -1
  56. package/dist/tools/recordings.d.ts.map +1 -1
  57. package/dist/tools/recordings.js +10 -2
  58. package/dist/tools/recordings.js.map +1 -1
  59. package/dist/tools/recovery-hints.d.ts.map +1 -1
  60. package/dist/tools/recovery-hints.js +116 -0
  61. package/dist/tools/recovery-hints.js.map +1 -1
  62. package/dist/tools/relationship-change.d.ts +16 -0
  63. package/dist/tools/relationship-change.d.ts.map +1 -0
  64. package/dist/tools/relationship-change.js +60 -0
  65. package/dist/tools/relationship-change.js.map +1 -0
  66. package/dist/tools/relationship-copy.d.ts +99 -0
  67. package/dist/tools/relationship-copy.d.ts.map +1 -0
  68. package/dist/tools/relationship-copy.js +213 -0
  69. package/dist/tools/relationship-copy.js.map +1 -0
  70. package/dist/tools/relationship-scope.d.ts +104 -0
  71. package/dist/tools/relationship-scope.d.ts.map +1 -0
  72. package/dist/tools/relationship-scope.js +106 -0
  73. package/dist/tools/relationship-scope.js.map +1 -0
  74. package/dist/tools/relationships.d.ts +64 -0
  75. package/dist/tools/relationships.d.ts.map +1 -0
  76. package/dist/tools/relationships.js +1062 -0
  77. package/dist/tools/relationships.js.map +1 -0
  78. package/dist/tools/settings.d.ts.map +1 -1
  79. package/dist/tools/settings.js +4 -1
  80. package/dist/tools/settings.js.map +1 -1
  81. package/dist/tools/works.d.ts +11 -0
  82. package/dist/tools/works.d.ts.map +1 -1
  83. package/dist/tools/works.js +63 -3
  84. package/dist/tools/works.js.map +1 -1
  85. package/package.json +3 -3
  86. package/scripts/build-required-schemas.ts +6 -4
  87. package/server.json +2 -2
package/CHANGELOG.md CHANGED
@@ -11,6 +11,52 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
11
11
 
12
12
  ## [Unreleased]
13
13
 
14
+ ## [2.104.0] - 2026-10-14
15
+
16
+ ### Added
17
+
18
+ - Three tools for preparing a catalogue for a client who will own it:
19
+ `pica_handover_create` (an organisation creates the catalogue; nothing is sent),
20
+ `pica_handover_send` (emails the client, who has 60 days to accept; from a connected app the
21
+ person approves it first) and `pica_handover_answer` (gives the client the link to accept on
22
+ screen; it never accepts or declines, because taking ownership is the person's own act).
23
+ - Tools that read or change a catalogue's records take an optional `catalogue` argument: the id of
24
+ a client catalogue your organisation looks after. The call then acts for that client, within what
25
+ the relationship allows, and the app refuses anything outside it with the reason. A tool that
26
+ can't act for a client (account, keys, billing, feedback, and the relationship tools themselves)
27
+ refuses the argument rather than ignoring it, and a confirmation token issued for one client
28
+ can't be used for another.
29
+ - Nine tools for who looks after whose catalogue:
30
+ - for a catalogue's owner: `pica_relationships_list` (who looks after it, what each may do, and
31
+ invitations waiting), `pica_relationships_answer` (accept, decline or change a request, or
32
+ accept an invitation), `pica_relationships_grant` (invite an organisation by email),
33
+ `pica_relationships_revoke` and `pica_relationships_activity` (what was done through a
34
+ relationship);
35
+ - for an organisation: `pica_portfolio_list` (the client catalogues it looks after, with each
36
+ one's id for `catalogue`), `pica_portfolio_briefing` (what needs doing across them),
37
+ `pica_portfolio_invite` (ask a client by email) and `pica_relationships_step_down`.
38
+ Accepting, changing, revoking and an owner's invitation are the person's own decision: from a
39
+ connected app they ask the person to approve first, and from PICA's own assistant they give the
40
+ link to do it on screen. Every step sends the version of the terms that was read; if the terms
41
+ changed since, nothing happens and the current terms come back. A check PICA couldn't make says
42
+ so, never 0. New resource: `pica://schemas/relationship-required`.
43
+ - Two skills: `look-after-clients` (an organisation sees every client, finds what needs doing and
44
+ fixes it in the right client's catalogue, within what each allowed) and
45
+ `who-can-see-my-catalogue` (an owner sees who looks after their catalogue, what each can do and
46
+ has done, and answers, changes or ends it). `first-session` routes to them, and the server
47
+ instructions say how to act for a client catalogue.
48
+ - `pica_duplicates_mark_different` — when the user says recordings or releases that
49
+ `pica_find_duplicates` grouped are not the same, `action: "mark"` records it for every pair
50
+ among 2–25 ids and they are not offered as duplicates again; `action: "unmark"` takes it back.
51
+ Nothing is merged, deleted or edited. Works are still dismissed in the catalog duplicates view.
52
+
53
+ ### Changed
54
+
55
+ - `pica_find_duplicates`: recording and release groups no longer include a pair the owner marked
56
+ different, and their "keep them separate" option now says how to stop them coming back
57
+ (it used to say they would keep appearing). A group never holds a marked pair, even through a
58
+ third copy matching both.
59
+
14
60
  ## [2.103.0] - 2026-10-09
15
61
 
16
62
  ### Security
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
- 354 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
+ 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.
69
69
 
70
70
  **works** — manage your musical works
71
71
 
@@ -119,9 +119,9 @@ Read tools are annotated read-only and are safe to call freely. Write tools repo
119
119
 
120
120
  `pica_notes_query`, `pica_notes_inspect`, `pica_notes_create`, `pica_notes_delete`
121
121
 
122
- **duplicates** — detect duplicate records and merge them (audio_files can be found but not merged — a duplicate file is deleted)
122
+ **duplicates** — detect duplicate records and merge them, or mark recordings and releases as different so they stop being offered (audio_files can be found but not merged — a duplicate file is deleted)
123
123
 
124
- `pica_find_duplicates`, `pica_merge_duplicates`
124
+ `pica_find_duplicates`, `pica_merge_duplicates`, `pica_duplicates_mark_different`
125
125
 
126
126
  **import** — import catalog data from files and streaming services, and see what happened to emails forwarded to PICA
127
127
 
@@ -227,6 +227,10 @@ Read tools are annotated read-only and are safe to call freely. Write tools repo
227
227
 
228
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`
229
229
 
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
+
232
+ `pica_relationships_list`, `pica_relationships_answer`, `pica_relationships_grant`, `pica_relationships_revoke`, `pica_relationships_activity`, `pica_relationships_step_down`, `pica_portfolio_list`, `pica_portfolio_briefing`, `pica_portfolio_invite`, `pica_handover_create`, `pica_handover_send`, `pica_handover_answer`
233
+
230
234
  **recording splits** — manage recording (master) splits between contributors
231
235
 
232
236
  `pica_recording_splits_list`, `pica_recording_splits_create`, `pica_recording_splits_update`, `pica_recording_splits_end`, `pica_recording_splits_verify`, `pica_split_sheet_generate`, `pica_recording_credits_update`
@@ -293,4 +297,4 @@ Read tools are annotated read-only and are safe to call freely. Write tools repo
293
297
 
294
298
  ---
295
299
 
296
- Generated for `@withpica/mcp-server@2.103.0`. © 2024-2026 Withpica Ltd. All rights reserved. MIT licensed.
300
+ Generated for `@withpica/mcp-server@2.104.0`. © 2024-2026 Withpica Ltd. All rights reserved. MIT licensed.