@withpica/mcp-server 2.108.0 → 2.110.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 (50) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/README.md +5 -5
  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/tools/access-simulate.d.ts.map +1 -1
  8. package/dist/tools/access-simulate.js +14 -5
  9. package/dist/tools/access-simulate.js.map +1 -1
  10. package/dist/tools/dashboard.d.ts.map +1 -1
  11. package/dist/tools/dashboard.js +10 -1
  12. package/dist/tools/dashboard.js.map +1 -1
  13. package/dist/tools/discovery.d.ts.map +1 -1
  14. package/dist/tools/discovery.js +4 -0
  15. package/dist/tools/discovery.js.map +1 -1
  16. package/dist/tools/feedback.d.ts +6 -0
  17. package/dist/tools/feedback.d.ts.map +1 -1
  18. package/dist/tools/feedback.js +111 -0
  19. package/dist/tools/feedback.js.map +1 -1
  20. package/dist/tools/index.js +8 -8
  21. package/dist/tools/index.js.map +1 -1
  22. package/dist/tools/integrity.d.ts.map +1 -1
  23. package/dist/tools/integrity.js +4 -2
  24. package/dist/tools/integrity.js.map +1 -1
  25. package/dist/tools/metadata.d.ts.map +1 -1
  26. package/dist/tools/metadata.js +24 -0
  27. package/dist/tools/metadata.js.map +1 -1
  28. package/dist/tools/people.d.ts +1 -0
  29. package/dist/tools/people.d.ts.map +1 -1
  30. package/dist/tools/people.js +59 -6
  31. package/dist/tools/people.js.map +1 -1
  32. package/dist/tools/recovery-hints.d.ts.map +1 -1
  33. package/dist/tools/recovery-hints.js +30 -1
  34. package/dist/tools/recovery-hints.js.map +1 -1
  35. package/dist/tools/share-links.d.ts.map +1 -1
  36. package/dist/tools/share-links.js +22 -13
  37. package/dist/tools/share-links.js.map +1 -1
  38. package/dist/tools/sharing.d.ts +1 -1
  39. package/dist/tools/sharing.d.ts.map +1 -1
  40. package/dist/tools/sharing.js +2 -0
  41. package/dist/tools/sharing.js.map +1 -1
  42. package/dist/tools/signed-split-sheet-preview.d.ts +5 -5
  43. package/dist/tools/signed-split-sheet-preview.js +6 -6
  44. package/dist/tools/signed-split-sheet-preview.js.map +1 -1
  45. package/dist/tools/works.d.ts +2 -0
  46. package/dist/tools/works.d.ts.map +1 -1
  47. package/dist/tools/works.js +133 -17
  48. package/dist/tools/works.js.map +1 -1
  49. package/package.json +3 -3
  50. package/server.json +2 -2
package/CHANGELOG.md CHANGED
@@ -11,6 +11,83 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
11
11
 
12
12
  ## [Unreleased]
13
13
 
14
+ ## [2.110.0] - 2026-10-23
15
+
16
+ > **Publish order:** `@withpica/mcp-sdk` 4.0.0, `@withpica/mcp-utils` 2.0.1, then this package
17
+ > (it needs SDK 4's `people.restore` and `removed.list`; the SDK floor is `^4.0.0`). Needs the web
18
+ > app with the S1 changes on the server a stdio install points at (migrations 20261013093400,
19
+ > 20261013093500 and 20261013093700 among them); against an older app the new waiver codes are
20
+ > refused (400 NOT_WAIVABLE), the new tools are refused, and the new health fields read as absent.
21
+
22
+ ### Security
23
+
24
+ - `@modelcontextprotocol/sdk` 1.31.0 → 1.32.1, fixing GHSA-46jr-4wx8-v453 (one HTTP request could
25
+ exhaust server memory during validation), GHSA-22jm-h49p-29qw (experimental tasks were not tied
26
+ to the session that created them) and GHSA-6prh-2h8m-c8cw (client transports followed
27
+ cross-origin redirects with headers). `hono` (pulled in by the SDK) 4.13.13, fixing
28
+ GHSA-5r4p-p66f-jhc7.
29
+
30
+ ### Share links
31
+
32
+ - `pica_share_links_create` `access_type` takes `anyone`, `specific_people` (each recipient gets their own URL, returned as `recipients[].share_url`; the main URL opens nothing) and `collaborators_only` (one song; opens only for a signed-in account credited on it). The lists need `specific_people`.
33
+ - `pica_share_links_update` takes `revoke_recipient_ids`.
34
+ - `pica_share_trace` reports share links as `anyone_with_the_link`, `named_recipients` (with each live recipient) or `song_collaborators`.
35
+ - `pica_access_simulate` takes the share_links words and refuses the old private / limited / public.
36
+
37
+ ### Added
38
+
39
+ - `pica_works_inspect` `health` returns whether the song is complete — `complete`, `tests_passed`,
40
+ `tests` (identified, owned, registered, findable, each with its reason) and `next_step` — plus
41
+ `detail_score` (the weighted score). The completeness hints lead with the next step. Null when
42
+ the app could not answer, never a guessed "no".
43
+ - `pica_integrity_waive` accepts `DETAIL_ALBUM_NAME`, `DETAIL_RELEASE_DATE` and `DETAIL_LABEL` (an
44
+ album, release date or label that does not apply) and `PLATFORM_NOT_INTENDED` (a song the owner
45
+ never means to release; it then counts as findable). Codes and registrations stay unwaivable.
46
+ - `pica_removed_list`: one page of the songs (default) or people removed from the catalogue, with
47
+ when, by whom and why, and for a person what still sits with them (credits, splits in force,
48
+ agreement parties, main-artist songs and recordings).
49
+ - `pica_works_restore` and `pica_people_restore` bring back a removed song or person. Removing
50
+ never deletes; a restore is refused (409) when a live song now holds the same title and artist or
51
+ tunecode, or when the record was merged into another.
52
+ - `pica_people_delete` takes `move_to`: the live person a removed person's credits belong to. The
53
+ agent asks the user; it never picks `move_to` itself.
54
+
55
+ ### Changed
56
+
57
+ - `pica_catalog_health`: completeness is described as the share of songs that are complete, with
58
+ recordings missing fields as their own item.
59
+ - `pica_catalog_health` returns `recordings` — each kind of recording (`released_master`,
60
+ `unreleased_master`, `demo`, `alternate`, `video`) with its total and how many are missing
61
+ fields — and one `missing_recording_fields` item per kind, each carrying `recordingKind`. A
62
+ master counts as released only when it is on a release. Against an older app `recordings` is
63
+ absent and there is one item for all recordings.
64
+ - `pica_works_query`: `missing_field_count` is described as a gap count for sorting (still without
65
+ the MusicBrainz benchmark), not "complete".
66
+ - `pica_works_delete` and `pica_works_bulk_delete` say what removal does: the song is hidden from
67
+ the catalogue, share links and public page, everything it carries is kept, and it can be brought
68
+ back from "removed". They no longer call it permanent.
69
+ - `pica_integrity_waive`: a field marked not applicable is credited in the work's completeness, not
70
+ dropped from it.
71
+ - `pica_collaborators_invite_revoke` can withdraw a **disputed** invite too (the person said
72
+ the credit is wrong). That closes the dispute in the bell, "needs you" and the song's
73
+ writers table, for a "not me" or a credit the user stands by. Needs the web app with the
74
+ same change; against an older app the call is refused `INVITE_NOT_PENDING` as before.
75
+
76
+ ## [2.109.0] - 2026-10-19
77
+
78
+ > **Publish order:** `@withpica/mcp-sdk` 3.28.0 (`feedback.list`), then this package. Needs the
79
+ > web app with migration 20261013094300 and `GET /api/feedback`; against an older app
80
+ > `pica_feedback_list` gets a 405 and `your_feedback` is simply absent from the briefing.
81
+
82
+ ### Added
83
+
84
+ - `pica_feedback_list` (read, `write:feedback` like its sibling `pica_submit_feedback`): your
85
+ own reports to PICA and what the team did about each — open, fixed, answered or won't fix,
86
+ with the note they wrote for you. Only your own reports in this organisation.
87
+ - `pica_dashboard_briefing` carries a `your_feedback` block when the team closed any of your
88
+ reports in the last 30 days — `line` reads e.g. "2 of your reports were fixed in the last 30
89
+ days."
90
+
14
91
  ## [2.108.0] - 2026-10-19
15
92
 
16
93
  > Needs `@withpica/mcp-sdk` 3.27.0 (`statements.listImports` / `statements.getImport`): publish the SDK first.
package/README.md CHANGED
@@ -65,15 +65,15 @@ Read tools are annotated read-only and are safe to call freely. Write tools repo
65
65
 
66
66
  ## Tools
67
67
 
68
- 369 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
+ 373 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
 
72
- `pica_works_query`, `pica_works_inspect`, `pica_works_create`, `pica_register_set`, `pica_works_update`, `pica_works_delete`, `pica_works_bulk_delete`, `pica_works_bulk_update`, `pica_works_bulk_link_artist`, `pica_works_bulk_add_collaborator`, `pica_work_writers_add`, `pica_topics_untagged`, `pica_topics_inspect`, `pica_topics_propose`, `pica_topics_review`, `pica_works_bulk_copy_credits`, `pica_works_bulk_move_to_performances`, `pica_works_verify`, `pica_works_verify_registrations`, `pica_works_attest`, `pica_catalog_diligence`
72
+ `pica_works_query`, `pica_works_inspect`, `pica_works_create`, `pica_register_set`, `pica_works_update`, `pica_works_delete`, `pica_works_restore`, `pica_removed_list`, `pica_works_bulk_delete`, `pica_works_bulk_update`, `pica_works_bulk_link_artist`, `pica_works_bulk_add_collaborator`, `pica_work_writers_add`, `pica_topics_untagged`, `pica_topics_inspect`, `pica_topics_propose`, `pica_topics_review`, `pica_works_bulk_copy_credits`, `pica_works_bulk_move_to_performances`, `pica_works_verify`, `pica_works_verify_registrations`, `pica_works_attest`, `pica_catalog_diligence`
73
73
 
74
74
  **people** — manage people in your catalog
75
75
 
76
- `pica_people_query`, `pica_people_inspect`, `pica_people_create`, `pica_people_update`, `pica_people_delete`, `pica_people_bulk_delete`, `pica_people_split_identity`, `pica_people_bulk_update_roles`, `pica_people_bulk_add_tags`, `pica_group_add_member`, `pica_group_remove_member`, `pica_group_list_members`, `pica_person_list_groups`, `pica_artist_projects`, `pica_profile_claims_invite`, `pica_profile_claims_status`
76
+ `pica_people_query`, `pica_people_inspect`, `pica_people_create`, `pica_people_update`, `pica_people_delete`, `pica_people_restore`, `pica_people_bulk_delete`, `pica_people_split_identity`, `pica_people_bulk_update_roles`, `pica_people_bulk_add_tags`, `pica_group_add_member`, `pica_group_remove_member`, `pica_group_list_members`, `pica_person_list_groups`, `pica_artist_projects`, `pica_profile_claims_invite`, `pica_profile_claims_status`
77
77
 
78
78
  **groups** — manage group → member relationships on people
79
79
 
@@ -161,7 +161,7 @@ Read tools are annotated read-only and are safe to call freely. Write tools repo
161
161
 
162
162
  **feedback** — report problems and submit feedback to the PICA team — call proactively when you hit a workflow gap or the user says 'this is broken'
163
163
 
164
- `pica_report_issue`, `pica_my_reported_issues`, `pica_submit_feedback`
164
+ `pica_report_issue`, `pica_my_reported_issues`, `pica_submit_feedback`, `pica_feedback_list`
165
165
 
166
166
  **onboarding** — acknowledge MCP onboarding for OAuth-arrived users — call after walking the user through identity, security, and intent
167
167
 
@@ -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.108.0`. © 2024-2026 Withpica Ltd. All rights reserved. MIT licensed.
300
+ Generated for `@withpica/mcp-server@2.110.0`. © 2024-2026 Withpica Ltd. All rights reserved. MIT licensed.