@withpica/mcp-server 2.102.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 (213) hide show
  1. package/CHANGELOG.md +114 -0
  2. package/README.md +10 -6
  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 +28 -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 +36 -3
  23. package/dist/skills/skills.generated.js.map +1 -1
  24. package/dist/tools/agent-hygiene.d.ts.map +1 -1
  25. package/dist/tools/agent-hygiene.js +2 -0
  26. package/dist/tools/agent-hygiene.js.map +1 -1
  27. package/dist/tools/agreement-types.d.ts.map +1 -1
  28. package/dist/tools/agreement-types.js +2 -0
  29. package/dist/tools/agreement-types.js.map +1 -1
  30. package/dist/tools/agreements.d.ts.map +1 -1
  31. package/dist/tools/agreements.js +9 -2
  32. package/dist/tools/agreements.js.map +1 -1
  33. package/dist/tools/assets.d.ts.map +1 -1
  34. package/dist/tools/assets.js +2 -0
  35. package/dist/tools/assets.js.map +1 -1
  36. package/dist/tools/audio-files.d.ts.map +1 -1
  37. package/dist/tools/audio-files.js +12 -8
  38. package/dist/tools/audio-files.js.map +1 -1
  39. package/dist/tools/audit.d.ts.map +1 -1
  40. package/dist/tools/audit.js +2 -0
  41. package/dist/tools/audit.js.map +1 -1
  42. package/dist/tools/auth.d.ts.map +1 -1
  43. package/dist/tools/auth.js +2 -0
  44. package/dist/tools/auth.js.map +1 -1
  45. package/dist/tools/bookings.d.ts.map +1 -1
  46. package/dist/tools/bookings.js +8 -4
  47. package/dist/tools/bookings.js.map +1 -1
  48. package/dist/tools/catalogue-argument.d.ts +76 -0
  49. package/dist/tools/catalogue-argument.d.ts.map +1 -0
  50. package/dist/tools/catalogue-argument.js +114 -0
  51. package/dist/tools/catalogue-argument.js.map +1 -0
  52. package/dist/tools/collaborations.d.ts.map +1 -1
  53. package/dist/tools/collaborations.js +2 -0
  54. package/dist/tools/collaborations.js.map +1 -1
  55. package/dist/tools/collaborators.d.ts.map +1 -1
  56. package/dist/tools/collaborators.js +33 -6
  57. package/dist/tools/collaborators.js.map +1 -1
  58. package/dist/tools/consent.d.ts.map +1 -1
  59. package/dist/tools/consent.js +5 -1
  60. package/dist/tools/consent.js.map +1 -1
  61. package/dist/tools/custody.d.ts +2 -2
  62. package/dist/tools/custody.d.ts.map +1 -1
  63. package/dist/tools/custody.js +47 -25
  64. package/dist/tools/custody.js.map +1 -1
  65. package/dist/tools/dashboard.d.ts.map +1 -1
  66. package/dist/tools/dashboard.js +12 -4
  67. package/dist/tools/dashboard.js.map +1 -1
  68. package/dist/tools/directory.d.ts.map +1 -1
  69. package/dist/tools/directory.js +7 -3
  70. package/dist/tools/directory.js.map +1 -1
  71. package/dist/tools/discovery.d.ts.map +1 -1
  72. package/dist/tools/discovery.js +31 -2
  73. package/dist/tools/discovery.js.map +1 -1
  74. package/dist/tools/documents.js +2 -2
  75. package/dist/tools/documents.js.map +1 -1
  76. package/dist/tools/duplicates.d.ts +15 -2
  77. package/dist/tools/duplicates.d.ts.map +1 -1
  78. package/dist/tools/duplicates.js +120 -14
  79. package/dist/tools/duplicates.js.map +1 -1
  80. package/dist/tools/enrichment.d.ts.map +1 -1
  81. package/dist/tools/enrichment.js +24 -32
  82. package/dist/tools/enrichment.js.map +1 -1
  83. package/dist/tools/handovers.d.ts +42 -0
  84. package/dist/tools/handovers.d.ts.map +1 -0
  85. package/dist/tools/handovers.js +302 -0
  86. package/dist/tools/handovers.js.map +1 -0
  87. package/dist/tools/import-documents.d.ts.map +1 -1
  88. package/dist/tools/import-documents.js +4 -0
  89. package/dist/tools/import-documents.js.map +1 -1
  90. package/dist/tools/index.d.ts +14 -1
  91. package/dist/tools/index.d.ts.map +1 -1
  92. package/dist/tools/index.js +102 -4
  93. package/dist/tools/index.js.map +1 -1
  94. package/dist/tools/labels.d.ts.map +1 -1
  95. package/dist/tools/labels.js +18 -2
  96. package/dist/tools/labels.js.map +1 -1
  97. package/dist/tools/licensing.d.ts.map +1 -1
  98. package/dist/tools/licensing.js +13 -6
  99. package/dist/tools/licensing.js.map +1 -1
  100. package/dist/tools/measured-audio.d.ts +32 -0
  101. package/dist/tools/measured-audio.d.ts.map +1 -0
  102. package/dist/tools/measured-audio.js +65 -0
  103. package/dist/tools/measured-audio.js.map +1 -0
  104. package/dist/tools/memory.d.ts.map +1 -1
  105. package/dist/tools/memory.js +2 -0
  106. package/dist/tools/memory.js.map +1 -1
  107. package/dist/tools/metadata.d.ts.map +1 -1
  108. package/dist/tools/metadata.js +115 -0
  109. package/dist/tools/metadata.js.map +1 -1
  110. package/dist/tools/multimedia.d.ts.map +1 -1
  111. package/dist/tools/multimedia.js +2 -0
  112. package/dist/tools/multimedia.js.map +1 -1
  113. package/dist/tools/my-recent-questions.d.ts.map +1 -1
  114. package/dist/tools/my-recent-questions.js +2 -0
  115. package/dist/tools/my-recent-questions.js.map +1 -1
  116. package/dist/tools/my-reported-issues.d.ts.map +1 -1
  117. package/dist/tools/my-reported-issues.js +2 -0
  118. package/dist/tools/my-reported-issues.js.map +1 -1
  119. package/dist/tools/notes.d.ts.map +1 -1
  120. package/dist/tools/notes.js +2 -0
  121. package/dist/tools/notes.js.map +1 -1
  122. package/dist/tools/notifications.d.ts.map +1 -1
  123. package/dist/tools/notifications.js +12 -3
  124. package/dist/tools/notifications.js.map +1 -1
  125. package/dist/tools/party-claims.d.ts.map +1 -1
  126. package/dist/tools/party-claims.js +14 -3
  127. package/dist/tools/party-claims.js.map +1 -1
  128. package/dist/tools/people.d.ts.map +1 -1
  129. package/dist/tools/people.js +58 -47
  130. package/dist/tools/people.js.map +1 -1
  131. package/dist/tools/profile-claims.d.ts +6 -0
  132. package/dist/tools/profile-claims.d.ts.map +1 -1
  133. package/dist/tools/profile-claims.js +7 -0
  134. package/dist/tools/profile-claims.js.map +1 -1
  135. package/dist/tools/projects.d.ts.map +1 -1
  136. package/dist/tools/projects.js +2 -0
  137. package/dist/tools/projects.js.map +1 -1
  138. package/dist/tools/publishers.d.ts.map +1 -1
  139. package/dist/tools/publishers.js +20 -5
  140. package/dist/tools/publishers.js.map +1 -1
  141. package/dist/tools/recordings.d.ts.map +1 -1
  142. package/dist/tools/recordings.js +49 -49
  143. package/dist/tools/recordings.js.map +1 -1
  144. package/dist/tools/recovery-hints.d.ts.map +1 -1
  145. package/dist/tools/recovery-hints.js +143 -0
  146. package/dist/tools/recovery-hints.js.map +1 -1
  147. package/dist/tools/relationship-change.d.ts +16 -0
  148. package/dist/tools/relationship-change.d.ts.map +1 -0
  149. package/dist/tools/relationship-change.js +60 -0
  150. package/dist/tools/relationship-change.js.map +1 -0
  151. package/dist/tools/relationship-copy.d.ts +99 -0
  152. package/dist/tools/relationship-copy.d.ts.map +1 -0
  153. package/dist/tools/relationship-copy.js +213 -0
  154. package/dist/tools/relationship-copy.js.map +1 -0
  155. package/dist/tools/relationship-scope.d.ts +104 -0
  156. package/dist/tools/relationship-scope.d.ts.map +1 -0
  157. package/dist/tools/relationship-scope.js +106 -0
  158. package/dist/tools/relationship-scope.js.map +1 -0
  159. package/dist/tools/relationships.d.ts +64 -0
  160. package/dist/tools/relationships.d.ts.map +1 -0
  161. package/dist/tools/relationships.js +1062 -0
  162. package/dist/tools/relationships.js.map +1 -0
  163. package/dist/tools/release-notes.d.ts.map +1 -1
  164. package/dist/tools/release-notes.js +2 -0
  165. package/dist/tools/release-notes.js.map +1 -1
  166. package/dist/tools/release-rich.d.ts.map +1 -1
  167. package/dist/tools/release-rich.js +4 -6
  168. package/dist/tools/release-rich.js.map +1 -1
  169. package/dist/tools/releases.d.ts.map +1 -1
  170. package/dist/tools/releases.js +16 -11
  171. package/dist/tools/releases.js.map +1 -1
  172. package/dist/tools/royalties.d.ts.map +1 -1
  173. package/dist/tools/royalties.js +10 -0
  174. package/dist/tools/royalties.js.map +1 -1
  175. package/dist/tools/search.d.ts.map +1 -1
  176. package/dist/tools/search.js +2 -0
  177. package/dist/tools/search.js.map +1 -1
  178. package/dist/tools/selections.d.ts.map +1 -1
  179. package/dist/tools/selections.js +4 -0
  180. package/dist/tools/selections.js.map +1 -1
  181. package/dist/tools/send.d.ts.map +1 -1
  182. package/dist/tools/send.js +2 -0
  183. package/dist/tools/send.js.map +1 -1
  184. package/dist/tools/sessions.d.ts.map +1 -1
  185. package/dist/tools/sessions.js +13 -7
  186. package/dist/tools/sessions.js.map +1 -1
  187. package/dist/tools/settings.d.ts.map +1 -1
  188. package/dist/tools/settings.js +4 -1
  189. package/dist/tools/settings.js.map +1 -1
  190. package/dist/tools/statements.d.ts.map +1 -1
  191. package/dist/tools/statements.js +2 -0
  192. package/dist/tools/statements.js.map +1 -1
  193. package/dist/tools/sync-fit.d.ts +27 -0
  194. package/dist/tools/sync-fit.d.ts.map +1 -0
  195. package/dist/tools/sync-fit.js +118 -0
  196. package/dist/tools/sync-fit.js.map +1 -0
  197. package/dist/tools/sync-placements.d.ts.map +1 -1
  198. package/dist/tools/sync-placements.js +2 -0
  199. package/dist/tools/sync-placements.js.map +1 -1
  200. package/dist/tools/users.d.ts.map +1 -1
  201. package/dist/tools/users.js +14 -3
  202. package/dist/tools/users.js.map +1 -1
  203. package/dist/tools/work-themes.d.ts +39 -0
  204. package/dist/tools/work-themes.d.ts.map +1 -0
  205. package/dist/tools/work-themes.js +330 -0
  206. package/dist/tools/work-themes.js.map +1 -0
  207. package/dist/tools/works.d.ts +11 -0
  208. package/dist/tools/works.d.ts.map +1 -1
  209. package/dist/tools/works.js +67 -5
  210. package/dist/tools/works.js.map +1 -1
  211. package/package.json +4 -4
  212. package/scripts/build-required-schemas.ts +6 -4
  213. package/server.json +2 -2
package/CHANGELOG.md CHANGED
@@ -11,6 +11,120 @@ 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
+
60
+ ## [2.103.0] - 2026-10-09
61
+
62
+ ### Security
63
+
64
+ - `@modelcontextprotocol/sdk` moves to 1.31.0 (GHSA-6qxp-vccf-f47h, high: the SDK's
65
+ OAuth client could send credentials to an authorization server the MCP server chose).
66
+
67
+ ### Fixed
68
+
69
+ - Tool titles: a title a tool declares is now advertised (it was discarded), so `pica_discover`, `pica_tool_details` and `pica_execute` show words instead of their names in connector tool lists. `pica_sign_in` and `pica_sign_out` gain titles. Eight catalog tools declared a title that differed from their display name; the declarations are removed so their advertised titles are unchanged. A test fails any tool without a title, or with a declared title that disagrees with its display name.
70
+
71
+ ### Changed
72
+
73
+ - **Measured audio facts are labelled.** `pica_audio_inspect` (analysis
74
+ section) and `pica_recordings_inspect` (audio section) carry a `measured`
75
+ block — `tempo_bpm`, `key`, `mode`, `energy`, `energy_method`,
76
+ `loudness_lufs`, `duration_seconds`, `analysis_version` — with a
77
+ `measured_basis` line. Energy is now measured from integrated loudness;
78
+ files analysed before that say `energy_method: "legacy_rms_capped"`.
79
+ - `pica_audio_analyze` no longer promises valence or mood: the analyser
80
+ measures neither, and both come back null.
81
+ - `pica_audio_inspect` no longer returns `detected_valence`, which read a
82
+ field the API never sent and was always absent.
83
+
84
+ ### Added
85
+
86
+ - **`pica_sync_fit_query`: which songs fit film and TV productions in
87
+ progress.** The same list as the sync page's "fit" section, per song
88
+ (`work_id`), per production (`screen_project_id`), or the whole catalogue
89
+ spread so each song's best three pairs come before any song's fourth.
90
+ Pages with `limit` (≤ 100) and `offset` and says how many pairs there are
91
+ in all. Each production carries its genres, themes, countries, language,
92
+ release date, stage, companies and networks; with `song_facts: true` each
93
+ row also carries the song's genres, lyric language and a `measured` entry
94
+ per analysed master (tempo_bpm, key, mode, duration_seconds: the same names
95
+ as the other tools' measured blocks), so the user's AI can judge the fit
96
+ itself. Read-only:
97
+ the description tells the AI its judgement belongs in its answer and is
98
+ never written back to PICA.
99
+ - **Directory topics from the owner** (`pica_topics_untagged`, `pica_topics_inspect`,
100
+ `pica_topics_propose`, `pica_topics_review`) and the `tag-my-songs` skill. The owner's
101
+ assistant reads the owner's lyrics and audio facts and proposes up to five topics from a
102
+ fixed list (and moods per recording); the owner approves before anything is public. PICA
103
+ runs no AI on lyrics.
104
+
105
+ ### Fixed — honest totals (row-cap T3)
106
+
107
+ - List tools report the REAL total and an honest `has_more` instead of the
108
+ page length: people, agreements, recordings (whose unfiltered list also
109
+ re-served page one), bookings, licence enquiries, party claims, releases,
110
+ sessions, collaborator invites, custody. Publishers and labels report
111
+ `total: null` (platform-wide rows are not counted) with an honest
112
+ `has_more`, and take `offset`.
113
+ - `pica_people_query`: a single `role` is filtered server-side when it can
114
+ be (real total); with `query` or `roles` it filters the page and `total`
115
+ is `null`.
116
+ - `pica_notifications_list` counted every notification as unread (it read
117
+ a `read_at` field the service never sends) and called a per-source-capped
118
+ list length a total.
119
+ - `pica_works_inspect`'s agreements section showed the org's first page of
120
+ agreements, not the work's.
121
+ - `pica_release_show` looked the label up by searching one page; it now
122
+ asks for the id.
123
+ - `pica_enrichment_proposals_bulk_reject`'s dry run previewed a different
124
+ set (the list route) from the one the real run rejects; both now use one
125
+ resolver, and the preview says when the real call would exceed its cap.
126
+ - Every tool `limit` declares its `maximum` (52 schemas), guarded by a test.
127
+
14
128
  ## [2.102.0] - 2026-10-07
15
129
 
16
130
  ### Added
package/README.md CHANGED
@@ -65,11 +65,11 @@ Read tools are annotated read-only and are safe to call freely. Write tools repo
65
65
 
66
66
  ## Tools
67
67
 
68
- 349 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
 
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_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_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
 
@@ -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`
@@ -265,7 +269,7 @@ Read tools are annotated read-only and are safe to call freely. Write tools repo
265
269
 
266
270
  **sync placements** — manage sync placements (films/TV/ads/games licensing your works) — placement records, evidence, verification state
267
271
 
268
- `pica_sync_placements_query`, `pica_sync_placements_inspect`, `pica_sync_placements_create`, `pica_sync_placements_update`, `pica_sync_placements_delete`, `pica_sync_placements_cite`
272
+ `pica_sync_placements_query`, `pica_sync_placements_inspect`, `pica_sync_placements_create`, `pica_sync_placements_update`, `pica_sync_placements_delete`, `pica_sync_placements_cite`, `pica_sync_fit_query`
269
273
 
270
274
  **notifications** — list and schedule notifications to users and people
271
275
 
@@ -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.102.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.