@withpica/mcp-server 2.95.3 → 2.96.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 (206) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.intro.md +115 -0
  3. package/README.md +188 -204
  4. package/dist/lib/changelog.generated.d.ts +2 -2
  5. package/dist/lib/changelog.generated.d.ts.map +1 -1
  6. package/dist/lib/changelog.generated.js +2 -2
  7. package/dist/lib/changelog.generated.js.map +1 -1
  8. package/dist/prompts/creator-question-atlas.d.ts.map +1 -1
  9. package/dist/prompts/creator-question-atlas.js +11 -0
  10. package/dist/prompts/creator-question-atlas.js.map +1 -1
  11. package/dist/prompts/index.js +2 -2
  12. package/dist/resources/agent-guide.d.ts +50 -4
  13. package/dist/resources/agent-guide.d.ts.map +1 -1
  14. package/dist/resources/agent-guide.js +109 -18
  15. package/dist/resources/agent-guide.js.map +1 -1
  16. package/dist/resources/index.d.ts.map +1 -1
  17. package/dist/resources/index.js +81 -2
  18. package/dist/resources/index.js.map +1 -1
  19. package/dist/resources/llms-primer.d.ts +1 -1
  20. package/dist/resources/llms-primer.d.ts.map +1 -1
  21. package/dist/resources/llms-primer.js +1 -1
  22. package/dist/resources/required-schemas.generated.d.ts +3 -12
  23. package/dist/resources/required-schemas.generated.d.ts.map +1 -1
  24. package/dist/resources/required-schemas.generated.js +3 -18
  25. package/dist/resources/required-schemas.generated.js.map +1 -1
  26. package/dist/resources/required-schemas.source.d.ts.map +1 -1
  27. package/dist/resources/required-schemas.source.js +13 -15
  28. package/dist/resources/required-schemas.source.js.map +1 -1
  29. package/dist/server-instructions.d.ts +2 -2
  30. package/dist/server-instructions.d.ts.map +1 -1
  31. package/dist/server-instructions.js +3 -3
  32. package/dist/skills/skills.generated.d.ts.map +1 -1
  33. package/dist/skills/skills.generated.js +18 -9
  34. package/dist/skills/skills.generated.js.map +1 -1
  35. package/dist/tools/agent-identity.d.ts.map +1 -1
  36. package/dist/tools/agent-identity.js +2 -1
  37. package/dist/tools/agent-identity.js.map +1 -1
  38. package/dist/tools/agreement-types.d.ts.map +1 -1
  39. package/dist/tools/agreement-types.js +23 -11
  40. package/dist/tools/agreement-types.js.map +1 -1
  41. package/dist/tools/agreements.d.ts.map +1 -1
  42. package/dist/tools/agreements.js +17 -9
  43. package/dist/tools/agreements.js.map +1 -1
  44. package/dist/tools/analytics.d.ts.map +1 -1
  45. package/dist/tools/analytics.js +6 -3
  46. package/dist/tools/analytics.js.map +1 -1
  47. package/dist/tools/assets.d.ts.map +1 -1
  48. package/dist/tools/assets.js +20 -13
  49. package/dist/tools/assets.js.map +1 -1
  50. package/dist/tools/audio-files.d.ts.map +1 -1
  51. package/dist/tools/audio-files.js +5 -3
  52. package/dist/tools/audio-files.js.map +1 -1
  53. package/dist/tools/bulk.d.ts.map +1 -1
  54. package/dist/tools/bulk.js +15 -9
  55. package/dist/tools/bulk.js.map +1 -1
  56. package/dist/tools/collaborators.d.ts.map +1 -1
  57. package/dist/tools/collaborators.js +41 -16
  58. package/dist/tools/collaborators.js.map +1 -1
  59. package/dist/tools/comparisons.d.ts.map +1 -1
  60. package/dist/tools/comparisons.js +2 -1
  61. package/dist/tools/comparisons.js.map +1 -1
  62. package/dist/tools/credits.d.ts +4 -3
  63. package/dist/tools/credits.d.ts.map +1 -1
  64. package/dist/tools/credits.js +16 -88
  65. package/dist/tools/credits.js.map +1 -1
  66. package/dist/tools/custody.d.ts.map +1 -1
  67. package/dist/tools/custody.js +43 -10
  68. package/dist/tools/custody.js.map +1 -1
  69. package/dist/tools/dashboard.d.ts.map +1 -1
  70. package/dist/tools/dashboard.js +24 -20
  71. package/dist/tools/dashboard.js.map +1 -1
  72. package/dist/tools/deprecations.d.ts +14 -7
  73. package/dist/tools/deprecations.d.ts.map +1 -1
  74. package/dist/tools/deprecations.js +24 -17
  75. package/dist/tools/deprecations.js.map +1 -1
  76. package/dist/tools/directory.d.ts.map +1 -1
  77. package/dist/tools/directory.js +7 -4
  78. package/dist/tools/directory.js.map +1 -1
  79. package/dist/tools/discovery.d.ts +120 -11
  80. package/dist/tools/discovery.d.ts.map +1 -1
  81. package/dist/tools/discovery.js +414 -38
  82. package/dist/tools/discovery.js.map +1 -1
  83. package/dist/tools/disputes.d.ts.map +1 -1
  84. package/dist/tools/disputes.js +3 -0
  85. package/dist/tools/disputes.js.map +1 -1
  86. package/dist/tools/documents.d.ts.map +1 -1
  87. package/dist/tools/documents.js +9 -6
  88. package/dist/tools/documents.js.map +1 -1
  89. package/dist/tools/enrichment.d.ts.map +1 -1
  90. package/dist/tools/enrichment.js +92 -14
  91. package/dist/tools/enrichment.js.map +1 -1
  92. package/dist/tools/error-envelope.d.ts +44 -0
  93. package/dist/tools/error-envelope.d.ts.map +1 -0
  94. package/dist/tools/error-envelope.js +17 -0
  95. package/dist/tools/error-envelope.js.map +1 -0
  96. package/dist/tools/exports.d.ts.map +1 -1
  97. package/dist/tools/exports.js +24 -9
  98. package/dist/tools/exports.js.map +1 -1
  99. package/dist/tools/groups.d.ts.map +1 -1
  100. package/dist/tools/groups.js +1 -0
  101. package/dist/tools/groups.js.map +1 -1
  102. package/dist/tools/import-documents.d.ts.map +1 -1
  103. package/dist/tools/import-documents.js +3 -2
  104. package/dist/tools/import-documents.js.map +1 -1
  105. package/dist/tools/import.d.ts.map +1 -1
  106. package/dist/tools/import.js +71 -38
  107. package/dist/tools/import.js.map +1 -1
  108. package/dist/tools/index.d.ts +71 -4
  109. package/dist/tools/index.d.ts.map +1 -1
  110. package/dist/tools/index.js +160 -41
  111. package/dist/tools/index.js.map +1 -1
  112. package/dist/tools/licensing.d.ts.map +1 -1
  113. package/dist/tools/licensing.js +6 -2
  114. package/dist/tools/licensing.js.map +1 -1
  115. package/dist/tools/memory.d.ts.map +1 -1
  116. package/dist/tools/memory.js +8 -4
  117. package/dist/tools/memory.js.map +1 -1
  118. package/dist/tools/metadata.d.ts +7 -1
  119. package/dist/tools/metadata.d.ts.map +1 -1
  120. package/dist/tools/metadata.js +61 -12
  121. package/dist/tools/metadata.js.map +1 -1
  122. package/dist/tools/multimedia.d.ts.map +1 -1
  123. package/dist/tools/multimedia.js +7 -3
  124. package/dist/tools/multimedia.js.map +1 -1
  125. package/dist/tools/notes.d.ts.map +1 -1
  126. package/dist/tools/notes.js +9 -6
  127. package/dist/tools/notes.js.map +1 -1
  128. package/dist/tools/notifications.d.ts.map +1 -1
  129. package/dist/tools/notifications.js +16 -27
  130. package/dist/tools/notifications.js.map +1 -1
  131. package/dist/tools/people.d.ts.map +1 -1
  132. package/dist/tools/people.js +8 -5
  133. package/dist/tools/people.js.map +1 -1
  134. package/dist/tools/projects.d.ts.map +1 -1
  135. package/dist/tools/projects.js +16 -12
  136. package/dist/tools/projects.js.map +1 -1
  137. package/dist/tools/recording-custody.d.ts.map +1 -1
  138. package/dist/tools/recording-custody.js +9 -5
  139. package/dist/tools/recording-custody.js.map +1 -1
  140. package/dist/tools/recording-samples.d.ts.map +1 -1
  141. package/dist/tools/recording-samples.js +25 -6
  142. package/dist/tools/recording-samples.js.map +1 -1
  143. package/dist/tools/recordings.d.ts +10 -0
  144. package/dist/tools/recordings.d.ts.map +1 -1
  145. package/dist/tools/recordings.js +32 -19
  146. package/dist/tools/recordings.js.map +1 -1
  147. package/dist/tools/recovery-hints.d.ts.map +1 -1
  148. package/dist/tools/recovery-hints.js +58 -18
  149. package/dist/tools/recovery-hints.js.map +1 -1
  150. package/dist/tools/release-rich.js +5 -5
  151. package/dist/tools/release-rich.js.map +1 -1
  152. package/dist/tools/releases.d.ts.map +1 -1
  153. package/dist/tools/releases.js +21 -12
  154. package/dist/tools/releases.js.map +1 -1
  155. package/dist/tools/royalties.d.ts.map +1 -1
  156. package/dist/tools/royalties.js +12 -6
  157. package/dist/tools/royalties.js.map +1 -1
  158. package/dist/tools/send.d.ts.map +1 -1
  159. package/dist/tools/send.js +7 -4
  160. package/dist/tools/send.js.map +1 -1
  161. package/dist/tools/sessions.d.ts.map +1 -1
  162. package/dist/tools/sessions.js +8 -4
  163. package/dist/tools/sessions.js.map +1 -1
  164. package/dist/tools/settings.d.ts.map +1 -1
  165. package/dist/tools/settings.js +13 -6
  166. package/dist/tools/settings.js.map +1 -1
  167. package/dist/tools/share-links.d.ts.map +1 -1
  168. package/dist/tools/share-links.js +7 -3
  169. package/dist/tools/share-links.js.map +1 -1
  170. package/dist/tools/share-send.d.ts.map +1 -1
  171. package/dist/tools/share-send.js +15 -5
  172. package/dist/tools/share-send.js.map +1 -1
  173. package/dist/tools/shows.d.ts +31 -0
  174. package/dist/tools/shows.d.ts.map +1 -0
  175. package/dist/tools/shows.js +307 -0
  176. package/dist/tools/shows.js.map +1 -0
  177. package/dist/tools/skills.d.ts.map +1 -1
  178. package/dist/tools/skills.js +7 -0
  179. package/dist/tools/skills.js.map +1 -1
  180. package/dist/tools/split-sheets.d.ts.map +1 -1
  181. package/dist/tools/split-sheets.js +19 -12
  182. package/dist/tools/split-sheets.js.map +1 -1
  183. package/dist/tools/statements.js +2 -2
  184. package/dist/tools/statements.js.map +1 -1
  185. package/dist/tools/storage-config.d.ts.map +1 -1
  186. package/dist/tools/storage-config.js +5 -3
  187. package/dist/tools/storage-config.js.map +1 -1
  188. package/dist/tools/subscription.d.ts +162 -26
  189. package/dist/tools/subscription.d.ts.map +1 -1
  190. package/dist/tools/subscription.js +479 -241
  191. package/dist/tools/subscription.js.map +1 -1
  192. package/dist/tools/sync-placements.d.ts.map +1 -1
  193. package/dist/tools/sync-placements.js +10 -5
  194. package/dist/tools/sync-placements.js.map +1 -1
  195. package/dist/tools/telegram.d.ts.map +1 -1
  196. package/dist/tools/telegram.js +16 -24
  197. package/dist/tools/telegram.js.map +1 -1
  198. package/dist/tools/users.d.ts.map +1 -1
  199. package/dist/tools/users.js +12 -6
  200. package/dist/tools/users.js.map +1 -1
  201. package/dist/tools/works.d.ts.map +1 -1
  202. package/dist/tools/works.js +13 -10
  203. package/dist/tools/works.js.map +1 -1
  204. package/package.json +8 -4
  205. package/server.json +2 -2
  206. package/.claude/settings.local.json +0 -5
package/README.md CHANGED
@@ -1,304 +1,288 @@
1
- # withPICA MCP Server
1
+ <!-- GENERATED FILE — do not edit by hand.
2
+ Prose lives in mcp-server/README.intro.md; the tool inventory is
3
+ derived from the source registries. Regenerate with
4
+ `node scripts/build-mcp-readmes.mjs`; `--check` fails on drift. -->
2
5
 
3
- Model Context Protocol (MCP) server for withPICA. Enables **any MCP-compatible AI assistant** to interact with your withPICA music catalog.
6
+ # @withpica/mcp-server
4
7
 
5
- ## What is MCP?
8
+ MCP server for **withPICA** — music catalog management through conversation. Works, recordings, credits, agreements, rights, royalties, enrichment and registration-ready exports, from Claude, ChatGPT, Cursor, or any MCP-compatible client.
6
9
 
7
- The Model Context Protocol (MCP) is an open standard that enables AI assistants to securely access external data and functionality. With this MCP server, any MCP-compatible AI can interact with your withPICA catalog.
10
+ > **Not the same product as `@picahq/mcp`.** That is Pica / picaos.com, an unrelated API-integrations tool that happens to share the short name. If your assistant starts talking about integrations it never set up, or asks you to paste credentials into a dashboard, you have the other one installed.
8
11
 
9
- ## Compatible AI Assistants
12
+ ## Install
10
13
 
11
- - **Claude Desktop** - Anthropic's desktop AI assistant
12
- - **ChatGPT** - OpenAI's assistant (when MCP support is available)
13
- - **Custom AI tools** - Any application that implements the MCP protocol
14
- - **Future AI assistants** - As more tools adopt MCP
14
+ ```bash
15
+ claude mcp add withpica -- npx --yes @withpica/mcp-server@latest
16
+ ```
15
17
 
16
- ## Features
18
+ Or, in any client that reads an `mcpServers` config:
17
19
 
18
- ### 24 AI-Callable Tools
20
+ ```json
21
+ {
22
+ "mcpServers": {
23
+ "withpica": {
24
+ "command": "npx",
25
+ "args": ["@withpica/mcp-server"]
26
+ }
27
+ }
28
+ }
29
+ ```
19
30
 
20
- **Works Management (8 tools)**
31
+ ## Signing in
21
32
 
22
- - `pica_works_list` - List musical works
23
- - `pica_works_get` - Get work details
24
- - `pica_works_create` - Create new work
25
- - `pica_works_update` - Update work
26
- - `pica_works_delete` - Delete work
27
- - `pica_works_verify` - Verify work
28
- - `pica_works_search` - Search works
29
- - `pica_works_bulk_delete` - Delete multiple works
33
+ **On stdio (this package), no API key is needed up front.** Say _"sign me in to withpica"_ in chat; `pica_sign_in` emails you a magic link, you click it, and your tools unlock. `PICA_API_KEY` in the environment also works and skips the link.
30
34
 
31
- **People Management (8 tools)**
35
+ **On the hosted HTTP transport** (`https://withpica.com/api/mcp`) there is no in-chat sign-in — `pica_sign_in` and `pica_sign_out` are stdio-only, because the credential file they write would land on an ephemeral filesystem your client never reads. Connect over OAuth 2.1 instead (dynamic client registration + PKCE S256, discovery at `https://withpica.com/.well-known/oauth-protected-resource`), or send an API key as a Bearer token. A Bearer caller should call `pica_introduce_self` first: PICA stamps that declaration onto every audit row that follows, so the owner can later reconstruct what their agent did.
32
36
 
33
- - `pica_people_list` - List people
34
- - `pica_people_get` - Get person details
35
- - `pica_people_create` - Create new person
36
- - `pica_people_update` - Update person
37
- - `pica_people_delete` - Delete person
38
- - `pica_people_search` - Search people
39
- - `pica_people_enrich_isni` - Enrich from ISNI
40
- - `pica_people_enrich_musicbrainz` - Enrich from MusicBrainz
37
+ API keys are created and revoked at <https://withpica.com/settings?tab=connections>.
41
38
 
42
- **Recordings Management (5 tools)**
39
+ ## How the tools are surfaced
43
40
 
44
- - `pica_recordings_query` - List/search recordings; filter by `work_id` (replaces removed `pica_recordings_by_work`)
45
- - `pica_recordings_inspect` - Get recording details (sections-based)
46
- - `pica_recordings_create` - Create new recording
47
- - `pica_recordings_update` - Update recording
48
- - `pica_recordings_delete` - Delete recording
41
+ Over HTTP the server advertises a small meta-tool surface by default — `pica_discover` → `pica_tool_details` → `pica_execute` — so a schema-constrained client is not handed the whole registry at once. Every tool stays callable by name. Add `?layered=0` to the endpoint for the eager list.
49
42
 
50
- **Search & Analytics (2 tools)**
43
+ Over stdio the full set is listed directly.
51
44
 
52
- - `pica_search_all` - Search across all entities
53
- - `pica_catalog_stats` - Get catalog statistics
45
+ `pica_skill_list` / `pica_skill_get` load methodologies (catalog-audit, register-my-works, prepare-for-sync) as needed, rather than at handshake.
54
46
 
55
- ### 4 Data Resources
47
+ ## Safety
56
48
 
57
- Read-only access to catalog data:
49
+ Read tools are annotated read-only and are safe to call freely. Write tools report what changed. Destructive tools (delete, merge) require a two-step confirmation token and an elevated scope that ordinary agent grants cannot hold.
58
50
 
59
- - `works://list` - All works
60
- - `people://list` - All people
61
- - `recordings://list` - All recordings
62
- - `catalog://stats` - Catalog statistics
51
+ ## Environment variables
63
52
 
64
- ### 4 Workflow Prompts
53
+ | variable | required | meaning |
54
+ | -------------- | -------- | ------------------------------------------------- |
55
+ | `PICA_API_KEY` | no | skips the magic-link flow |
56
+ | `PICA_API_URL` | no | API base URL (default `https://withpica.com/api`) |
57
+ | `DEBUG` | no | verbose logging to stderr (`true` / `1`) |
65
58
 
66
- Pre-configured prompts for common tasks:
59
+ ## Links
67
60
 
68
- - `analyze-catalog` - Comprehensive catalog analysis
69
- - `find-duplicates` - Find duplicate entries
70
- - `enrich-metadata` - Identify enrichment opportunities
71
- - `verify-works` - Review unverified works
61
+ - Connect guide: <https://withpica.com/connect>
62
+ - Machine-readable: <https://withpica.com/llms.txt>, <https://withpica.com/connect/llms.txt>
63
+ - Discovery: <https://withpica.com/.well-known/mcp.json>
64
+ - Support: support@withpica.com
72
65
 
73
- ## Installation
66
+ ## Tools
74
67
 
75
- ### NPM (Recommended)
68
+ 329 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.
76
69
 
77
- ```bash
78
- npm install -g @withpica/mcp-server
79
- ```
70
+ **works** — manage your musical works
80
71
 
81
- ### From Source
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`
82
73
 
83
- ```bash
84
- cd mcp-server
85
- npm install
86
- npm run build
87
- npm link
88
- ```
74
+ **people** — manage people in your catalog
89
75
 
90
- ## Configuration
76
+ `pica_people_query`, `pica_people_inspect`, `pica_people_create`, `pica_people_update`, `pica_people_delete`, `pica_people_bulk_delete`, `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`
91
77
 
92
- ### Get Your withPICA API Key
78
+ **groups** manage group member relationships on people
93
79
 
94
- 1. Log into withPICA at https://withpica.com
95
- 2. Go to Settings → API Keys
96
- 3. Generate a new API key
97
- 4. Copy the key for use below
80
+ `pica_group_add_member`, `pica_group_remove_member`, `pica_group_list_members`, `pica_person_list_groups`
98
81
 
99
- ### Claude Desktop Setup
82
+ **recordings** manage recordings linked to works
100
83
 
101
- Add to your Claude Desktop configuration file:
84
+ `pica_recordings_query`, `pica_recordings_inspect`, `pica_recordings_create`, `pica_recordings_update`, `pica_recordings_delete`, `pica_recordings_bulk_reassign_artist`
102
85
 
103
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
104
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
86
+ **credits** manage work credits, contributors, and first-party recording-side production credits
105
87
 
106
- ```json
107
- {
108
- "mcpServers": {
109
- "pica": {
110
- "command": "npx",
111
- "args": ["-y", "@withpica/mcp-server"],
112
- "env": {
113
- "PICA_API_KEY": "your-api-key-here"
114
- }
115
- }
116
- }
117
- }
118
- ```
88
+ `pica_credits_list`, `pica_credits_update`
119
89
 
120
- ### Other MCP-Compatible AI Assistants
90
+ **sharing** explain why a user or org can see a work, recording, or person — surfaces the chain of reasons (org membership, custody chain, share links, cross-org grants); send works to named recipients via withPICA-branded email
121
91
 
122
- The setup process is similar for any MCP-compatible tool:
92
+ `pica_share_trace`, `pica_share_send`
123
93
 
124
- 1. Configure the MCP server command: `npx -y @withpica/mcp-server`
125
- 2. Set the `PICA_API_KEY` environment variable
126
- 3. The AI can now access all withPICA tools and resources
94
+ **explainability** explain dashboard / briefing count discrepancies — when a number doesn't match what the user sees elsewhere
127
95
 
128
- ## Usage Examples
96
+ `pica_count_explain`
129
97
 
130
- ### Example 1: List Your Works
98
+ **multimedia** manage photos, videos, and media linked to works
131
99
 
132
- **User**: "Show me my musical works"
100
+ `pica_multimedia_search`, `pica_multimedia_create`, `pica_multimedia_import_url`, `pica_multimedia_link_youtube`, `pica_multimedia_link_work`, `pica_upload`
133
101
 
134
- **AI** uses: `pica_works_list`
102
+ **audio** manage and analyze audio files
135
103
 
136
- **Result**: List of works with titles, ISWCs, verification status, etc.
104
+ `pica_audio_query`, `pica_audio_inspect`, `pica_audio_presigned_upload`, `pica_audio_complete_upload`, `pica_audio_analyze`, `pica_audio_identify`, `pica_audio_assign`, `pica_audio_bulk_assign_suggested`, `pica_audio_dismiss_match`, `pica_audio_update`, `pica_audio_delete`, `pica_upload`, `pica_audio_pipeline_status`
137
105
 
138
- ### Example 2: Create a Work
106
+ **projects** manage albums, EPs, and work groupings
139
107
 
140
- **User**: "Create a new composition called 'Moonlight Sonata No. 2'"
108
+ `pica_projects_query`, `pica_projects_inspect`, `pica_projects_create`, `pica_projects_update`, `pica_projects_delete`, `pica_projects_attach_works`, `pica_projects_participants`, `pica_projects_multimedia`
141
109
 
142
- **AI** uses: `pica_works_create` with appropriate parameters
110
+ **releases** manage releases with dates, labels, and UPCs
143
111
 
144
- **Result**: New work created with generated ID
112
+ `pica_releases_query`, `pica_releases_inspect`, `pica_releases_create`, `pica_releases_update`, `pica_releases_delete`, `pica_releases_move_track`, `pica_releases_create_with_tracks`, `pica_releases_completeness_check`, `pica_releases_attach_track`, `pica_releases_attach_recording_with_work`, `pica_releases_detach_track`, `pica_releases_list_tracks`, `pica_releases_reorder_tracks`, `pica_release_show`
145
113
 
146
- ### Example 3: Analyze Catalog
114
+ **sessions** track work sessions and studio time
147
115
 
148
- **User**: "Analyze my catalog"
116
+ `pica_sessions_query`, `pica_sessions_inspect`, `pica_sessions_create`, `pica_sessions_types`
149
117
 
150
- **AI** uses: `analyze-catalog` prompt
118
+ **notes** create and manage catalog notes
151
119
 
152
- **AI calls**:
120
+ `pica_notes_query`, `pica_notes_inspect`, `pica_notes_create`, `pica_notes_delete`
153
121
 
154
- - `pica_catalog_stats` - Get statistics
155
- - `pica_works_list` - Review works
156
- - `pica_people_list` - Review people
122
+ **duplicates** detect and merge duplicate records
157
123
 
158
- **Result**: Comprehensive analysis with insights and recommendations
124
+ `pica_find_duplicates`, `pica_merge_duplicates`
159
125
 
160
- ### Example 4: Find Duplicates
126
+ **import** import catalog data from files and streaming services
161
127
 
162
- **User**: "Find duplicate entries"
128
+ `pica_import_fields`, `pica_import_template`, `pica_import_analyze`, `pica_import_validate`, `pica_import_execute`, `pica_import_streaming_link`, `pica_import_documents_query`, `pica_import_documents_inspect`, `pica_import_youtube_link`, `pica_ingest_statement`
163
129
 
164
- **AI** uses: `find-duplicates` prompt
130
+ **export** export catalog data in various formats
165
131
 
166
- **AI calls**:
132
+ `pica_export_catalog_csv`, `pica_export_song_registration`, `pica_export_industry_ready`, `pica_export_catalog_asset_report`, `pica_export_ai_consent`, `pica_export_snapshot`, `pica_export_ownership_record`, `pica_export_rights_proof`, `pica_export_diligence_pack`, `pica_download`, `pica_export_my_data`
167
133
 
168
- - `pica_works_list` - Get all works
169
- - `pica_people_list` - Get all people
134
+ **search** search across the catalog and discover content
170
135
 
171
- **Result**: List of potential duplicates with merge recommendations
136
+ `pica_search_all`, `pica_catalog_stats`, `pica_graph_traverse`, `pica_discoveries_query`, `pica_discoveries_review`, `pica_claim_credit`, `pica_claim_custody`, `pica_claim_artist`
172
137
 
173
- ### Example 5: Enrich Metadata
138
+ **analytics** provenance, carbon, and catalog analytics
174
139
 
175
- **User**: "Enrich Mozart's profile from ISNI"
140
+ `pica_provenance_stats`, `pica_provenance_work`, `pica_provenance_certificate`, `pica_provenance_certificate_get`, `pica_carbon_footprint`, `pica_carbon_live`, `pica_catalog_diligence`, `pica_run_person_cascade`, `pica_run_work_cascade`, `pica_cascade_health`, `pica_car_preview`, `pica_audit_list`
176
141
 
177
- **AI** uses: `pica_people_enrich_isni` with person ID and ISNI
142
+ **documents** analyse documents with ai
178
143
 
179
- **Result**: Person record updated with enriched data from ISNI
144
+ `pica_documents_analyse`, `pica_documents_query`, `pica_documents_inspect`, `pica_documents_link`, `pica_documents_delete`, `pica_upload`
180
145
 
181
- ## Use Cases
146
+ **calendar** view catalog calendar events
182
147
 
183
- ### For Catalog Managers
148
+ `pica_calendar_events`
184
149
 
185
- - "Show me all unverified works"
186
- - "Find duplicate entries"
187
- - "List works missing ISWC codes"
188
- - "Enrich all people from ISNI"
150
+ **publishers** look up and create publishers
189
151
 
190
- ### For Data Analysis
152
+ `pica_publishers_query`, `pica_publishers_create`
191
153
 
192
- - "What's the average duration of my compositions?"
193
- - "Who are my most prolific composers?"
194
- - "Which works have the most recordings?"
195
- - "Show me catalog statistics"
154
+ **briefing** get your daily catalog briefing and dashboard
196
155
 
197
- ### For Enrichment
156
+ `pica_dashboard_attention`, `pica_dashboard_briefing`, `pica_catalog_health`, `pica_catalog_health_plan`, `pica_catalog_health_fix`, `pica_integrity_waive`
198
157
 
199
- - "Find all people that could be enriched from MusicBrainz"
200
- - "Suggest ISNI matches for unverified artists"
201
- - "Which works are missing metadata?"
158
+ **enrichment** enrich your catalog metadata from external sources
202
159
 
203
- ### For Bulk Operations
160
+ `pica_resolve_work`, `pica_resolve_person`, `pica_resolve_recording`, `pica_resolve_release`, `pica_people_triangulate`, `pica_enrichment_candidates`, `pica_enrichment_compare`, `pica_registrations_compare`, `pica_enrichment_propose`, `pica_enrichment_proposal_apply`, `pica_enrichment_proposal_reject`, `pica_enrichment_proposals_list`, `pica_enrichment_proposals_bulk_reject`, `pica_enrichment_proposals_bulk_apply`, `pica_enrichment_clear`
204
161
 
205
- - "Create works from this list"
206
- - "Verify all completed works"
207
- - "Delete test entries"
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'
208
163
 
209
- ## Environment Variables
164
+ `pica_report_issue`, `pica_my_reported_issues`, `pica_submit_feedback`
210
165
 
211
- - `PICA_API_KEY` (required) - Your PICA API key
212
- - `PICA_API_URL` (optional) - API base URL (default: https://withpica.com/api)
213
- - `DEBUG` (optional) - Enable debug logging (set to 'true' or '1')
166
+ **onboarding** acknowledge MCP onboarding for OAuth-arrived users call after walking the user through identity, security, and intent
214
167
 
215
- ## Development
168
+ `pica_acknowledge_onboarding`
216
169
 
217
- ### Build
170
+ **agent hygiene** — declare who you are, log workflow milestones, read what's been getting done, and check whether a deferred write has been approved — agent observability
218
171
 
219
- ```bash
220
- npm run build
221
- ```
172
+ `pica_introduce_self`, `pica_outcome_log`, `pica_outcomes_recent`, `pica_approval_status`
222
173
 
223
- ### Development Mode
174
+ **signup** create a new withPICA account from inside the agent — for users without a connection key. existing users use pica_sign_in instead.
224
175
 
225
- ```bash
226
- npm run dev
227
- ```
176
+ `pica_signup_start`
228
177
 
229
- ### Local Testing
178
+ **memory** save and recall workspace memories across sessions; review your recent assistant activity
230
179
 
231
- ```bash
232
- PICA_API_KEY=your-key npm run dev
233
- ```
180
+ `pica_memory_list`, `pica_memory_search`, `pica_memory_save`, `pica_memory_delete`, `pica_memory_update`, `pica_my_recent_questions`
234
181
 
235
- ## Troubleshooting
182
+ **skills** — discover and load PICA's named methodologies (catalog-audit, register-my-works, prepare-for-sync, etc.) — triggered by phrases like 'audit my catalog'
236
183
 
237
- ### "PICA_API_KEY environment variable is required"
184
+ `pica_skill_list`, `pica_skill_get`
238
185
 
239
- Make sure you've set the API key in your MCP server configuration:
186
+ **platform** platform release notes for the PICA MCP server — what's new, what changed, version history. NOT for catalog activity (use briefing / works / recordings for that)
240
187
 
241
- ```json
242
- {
243
- "env": {
244
- "PICA_API_KEY": "your-actual-api-key"
245
- }
246
- }
247
- ```
188
+ `pica_release_notes`
248
189
 
249
- ### "Authentication failed"
190
+ **account** check storage and integrations; connect your own cloud storage (BYOC) or revert to PICA-managed
250
191
 
251
- - Verify your API key is correct
252
- - Check that the API key hasn't been revoked
253
- - Generate a new API key if needed
192
+ `pica_storage_status`, `pica_storage_configure_start`, `pica_storage_disconnect`, `pica_delete_my_account`
254
193
 
255
- ### Tools Not Showing Up
194
+ **subscription** what does pica cost, how do I pay, and what is pica holding — read your billing state and get a pay link
256
195
 
257
- 1. Restart your AI assistant after configuring the MCP server
258
- 2. Check the MCP server logs for errors
259
- 3. Verify the configuration file syntax is correct
196
+ `pica_subscription_status`, `pica_billing_pay`, `pica_subscription_manage`
260
197
 
261
- ### Connection Issues
198
+ **profile** manage your user, organisation, and directory profile
262
199
 
263
- - Ensure you have an internet connection
264
- - Check that https://withpica.com is accessible
265
- - Verify no firewall is blocking the connection
200
+ `pica_user_profile`, `pica_organisation_profile`, `pica_directory_settings`, `pica_update_my_identity`, `pica_update_organisation_profile`, `pica_users_get_my_profile`, `pica_users_set_handle`, `pica_users_clear_handle`, `pica_users_set_bio`, `pica_users_set_avatar_url`, `pica_users_import_bio_from_person`, `pica_users_find_by_handle`
266
201
 
267
- ## Architecture
202
+ **privacy** — self-service privacy & account controls — read/update marketing opt-ins, request GDPR data export, delete your account
268
203
 
269
- ```
270
- MCP Server for withPICA
271
- ├── Protocol Handler (MCP standard)
272
- ├── Authentication (API key)
273
- ├── Tools (24 AI-callable functions)
274
- │ ├── Works Management (8)
275
- │ ├── People Management (8)
276
- │ ├── Recordings Management (6)
277
- │ └── Search & Analytics (2)
278
- ├── Resources (4 data providers)
279
- └── Prompts (4 workflows)
280
- ```
204
+ `pica_get_privacy_settings`, `pica_update_privacy_settings`, `pica_export_my_data`, `pica_delete_my_account`, `pica_export_ai_consent`
205
+
206
+ **uploads** upload files to the platform and share them out via secure delivery links
207
+
208
+ `pica_upload`, `pica_upload_file`, `pica_upload_complete`, `pica_file_deliver`, `pica_file_revoke_delivery`
209
+
210
+ **agreements** manage agreements, agreement templates, and agreement types
211
+
212
+ `pica_agreements_query`, `pica_agreements_inspect`, `pica_agreements_create`, `pica_agreements_create_from_template`, `pica_agreements_update`, `pica_agreements_delete`, `pica_agreements_link_work`, `pica_agreements_send_for_signature`, `pica_agreement_source_splits`, `pica_agreement_templates_duplicate`, `pica_agreement_templates_render`, `pica_agreement_templates_set_default`, `pica_agreement_types_query`, `pica_agreement_types_inspect`, `pica_agreement_types_create`, `pica_agreement_types_update`, `pica_agreement_types_delete`
213
+
214
+ **collaborators** invite, accept, dispute, and claim-by-code catalog collaborators
215
+
216
+ `pica_collaborators_invite`, `pica_collaborators_invite_bulk`, `pica_collaborators_invite_resend`, `pica_collaborators_invites_list`, `pica_collaborators_incoming_list`, `pica_collaborators_accept`, `pica_collaborators_dispute`, `pica_disputes_list`, `pica_collaborators_claim_by_code`, `pica_collaborators_decline_by_code`, `pica_collaborators_invite_status`, `pica_collaborators_invite_revoke`, `pica_collaborations_received`, `pica_collaborators_counter_propose`, `pica_collaborators_accept_counter`, `pica_collaborators_decline_counter`, `pica_collaborators_counter_back`
217
+
218
+ **consent** — read what the catalogue is cleared for under AI/usage consent, and who is blocking
219
+
220
+ `pica_consent_readiness`, `pica_export_ai_consent`
221
+
222
+ **custody** — manage catalog custody claims and reconciliation
223
+
224
+ `pica_custody_list`, `pica_custody_history`, `pica_custody_claim`, `pica_custody_respond`, `pica_custody_reconcile`, `pica_custody_resolve_pending`, `pica_recording_custody_assign`, `pica_recording_provenance`, `pica_recording_samples_list`, `pica_recording_samples_add`, `pica_recording_samples_set_status`, `pica_recording_samples_remove`, `pica_claim_custody`
225
+
226
+ **physical assets** — manage physical assets (master tapes, hardware, artefacts)
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`
229
+
230
+ **recording splits** — manage recording (master) splits between contributors
231
+
232
+ `pica_recording_splits_list`, `pica_recording_splits_create`, `pica_recording_splits_verify`, `pica_split_sheet_generate`, `pica_recording_credits_update`
233
+
234
+ **royalties statements** — view royalties and ingested statements
235
+
236
+ `pica_royalties_summary`, `pica_royalties_list`, `pica_royalties_get`, `pica_statements_query`, `pica_statements_inspect`, `pica_ingest_statement`, `pica_statements_pending`, `pica_statement_ingest_document`, `pica_royalties_unmatched`, `pica_royalties_attribute`
237
+
238
+ **share links** — create, inspect, update, and delete share links for catalog content
239
+
240
+ `pica_share_links_create`, `pica_share_links_query`, `pica_share_links_inspect`, `pica_share_links_update`, `pica_share_links_delete`
241
+
242
+ **access simulation** — simulate who would see what before mutating — share-link previews and access decisions
243
+
244
+ `pica_access_simulate`
245
+
246
+ **split sheets** — generate, send, and look up split sheets
247
+
248
+ `pica_split_sheet_generate`, `pica_split_sheet_send`, `pica_split_sheet_get`, `pica_split_sheet_list`
249
+
250
+ **licensing** — submit, list, and respond to license enquiries; search for sync
251
+
252
+ `pica_submit_license_enquiry`, `pica_get_license_enquiry`, `pica_list_license_enquiries`, `pica_update_license_enquiry_status`, `pica_search_for_sync`
253
+
254
+ **bookings** — search, list, and respond to internal-team booking enquiries (session/production requests)
255
+
256
+ `pica_bookings_query`, `pica_bookings_update`
257
+
258
+ **sync placements** — manage sync placements (films/TV/ads/games licensing your works) — placement records, evidence, verification state
259
+
260
+ `pica_sync_placements_query`, `pica_sync_placements_inspect`, `pica_sync_placements_create`, `pica_sync_placements_update`, `pica_sync_placements_delete`, `pica_sync_placements_cite`
261
+
262
+ **notifications** — list and schedule notifications to users and people
263
+
264
+ `pica_notifications_list`, `pica_notifications_mark_read`, `pica_notify_user`, `pica_notify_user_at`, `pica_notify_user_cancel`, `pica_notify_user_list_pending`, `pica_notify_person`, `pica_notifications_recent`, `pica_notification_acknowledge`
265
+
266
+ **messaging** — send and resend messages to collaborators and contacts
267
+
268
+ `pica_send_message`, `pica_send_resend`, `pica_send_query`, `pica_send_cancel`
269
+
270
+ **agent identity** — manage AI agent identities, grants, and activity
281
271
 
282
- ## Security
272
+ `pica_create_agent_identity`, `pica_issue_agent_grant`, `pica_revoke_agent_grant`, `pica_list_my_agent_grants`, `pica_get_agent_activity`
283
273
 
284
- - All requests require a valid withPICA API key
285
- - API keys are transmitted securely over HTTPS
286
- - Data access is scoped to your organization
287
- - No data is stored by the MCP server
274
+ **telegram** connect and inspect Telegram channel for the workspace
288
275
 
289
- ## Support
276
+ `pica_telegram_connect`, `pica_telegram_status`, `pica_telegram_config`
290
277
 
291
- - **Documentation**: https://docs.withpica.com
292
- - **Issues**: https://github.com/withpica/pica/issues
293
- - **Email**: support@withpica.com
278
+ **labels** — look up and create record labels / distributors, and invite them to claim their organisation
294
279
 
295
- ## License
280
+ `pica_labels_query`, `pica_labels_create`, `pica_party_claim_invite`, `pica_party_claim_status`
296
281
 
297
- MIT
282
+ **shows** — log live shows and tour credits, and confirm setlist matches against your catalogue
298
283
 
299
- ## Credits
284
+ `pica_log_show`, `pica_shows_query`, `pica_setlist_match`
300
285
 
301
- Built with:
286
+ ---
302
287
 
303
- - [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/sdk) - MCP SDK
304
- - [@withpica/sdk](https://www.npmjs.com/package/@withpica/sdk) - withPICA TypeScript SDK
288
+ Generated for `@withpica/mcp-server@2.95.4`. © 2024-2026 Withpica Ltd. All rights reserved. MIT licensed.