@withpica/mcp-server 2.6.2 → 2.7.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 (256) hide show
  1. package/dist/config.d.ts +25 -4
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.js +12 -36
  4. package/dist/config.js.map +1 -1
  5. package/dist/index.d.ts +1 -1
  6. package/dist/index.js +3 -3
  7. package/dist/index.js.map +1 -1
  8. package/dist/pica-sdk.d.ts +1231 -0
  9. package/dist/pica-sdk.d.ts.map +1 -0
  10. package/dist/pica-sdk.js +1403 -0
  11. package/dist/pica-sdk.js.map +1 -0
  12. package/dist/prompts/index.d.ts +64 -64
  13. package/dist/prompts/index.js +24 -24
  14. package/dist/prompts/index.js.map +1 -1
  15. package/dist/resources/index.d.ts +53 -55
  16. package/dist/resources/index.d.ts.map +1 -1
  17. package/dist/resources/index.js +54 -133
  18. package/dist/resources/index.js.map +1 -1
  19. package/dist/server.d.ts +32 -49
  20. package/dist/server.d.ts.map +1 -1
  21. package/dist/server.js +14 -103
  22. package/dist/server.js.map +1 -1
  23. package/dist/tools/index.d.ts +37 -83
  24. package/dist/tools/index.d.ts.map +1 -1
  25. package/dist/tools/index.js +84 -442
  26. package/dist/tools/index.js.map +1 -1
  27. package/dist/tools/people.d.ts +47 -39
  28. package/dist/tools/people.d.ts.map +1 -1
  29. package/dist/tools/people.js +109 -148
  30. package/dist/tools/people.js.map +1 -1
  31. package/dist/tools/recordings.d.ts +9 -9
  32. package/dist/tools/recordings.d.ts.map +1 -1
  33. package/dist/tools/recordings.js +48 -121
  34. package/dist/tools/recordings.js.map +1 -1
  35. package/dist/tools/search.d.ts +21 -21
  36. package/dist/tools/search.d.ts.map +1 -1
  37. package/dist/tools/search.js +3 -3
  38. package/dist/tools/search.js.map +1 -1
  39. package/dist/tools/works.d.ts +47 -39
  40. package/dist/tools/works.d.ts.map +1 -1
  41. package/dist/tools/works.js +116 -201
  42. package/dist/tools/works.js.map +1 -1
  43. package/dist/utils/errors.d.ts +29 -0
  44. package/dist/utils/errors.d.ts.map +1 -0
  45. package/dist/utils/errors.js +115 -0
  46. package/dist/utils/errors.js.map +1 -0
  47. package/dist/utils/formatting.d.ts +82 -0
  48. package/dist/utils/formatting.d.ts.map +1 -0
  49. package/dist/utils/formatting.js +125 -0
  50. package/dist/utils/formatting.js.map +1 -0
  51. package/package.json +1 -1
  52. package/server.json +1 -1
  53. package/dist/__mocks__/mppx-mcp-sdk-server.d.ts +0 -6
  54. package/dist/__mocks__/mppx-mcp-sdk-server.d.ts.map +0 -1
  55. package/dist/__mocks__/mppx-mcp-sdk-server.js +0 -6
  56. package/dist/__mocks__/mppx-mcp-sdk-server.js.map +0 -1
  57. package/dist/__mocks__/mppx-server.d.ts +0 -12
  58. package/dist/__mocks__/mppx-server.d.ts.map +0 -1
  59. package/dist/__mocks__/mppx-server.js +0 -12
  60. package/dist/__mocks__/mppx-server.js.map +0 -1
  61. package/dist/apps/download.d.ts +0 -2
  62. package/dist/apps/download.d.ts.map +0 -1
  63. package/dist/apps/download.js +0 -125
  64. package/dist/apps/download.js.map +0 -1
  65. package/dist/apps/generated/shared-bundle.d.ts +0 -5
  66. package/dist/apps/generated/shared-bundle.d.ts.map +0 -1
  67. package/dist/apps/generated/shared-bundle.js +0 -7
  68. package/dist/apps/generated/shared-bundle.js.map +0 -1
  69. package/dist/apps/shared.d.ts +0 -15
  70. package/dist/apps/shared.d.ts.map +0 -1
  71. package/dist/apps/shared.js +0 -480
  72. package/dist/apps/shared.js.map +0 -1
  73. package/dist/apps/upload.d.ts +0 -2
  74. package/dist/apps/upload.d.ts.map +0 -1
  75. package/dist/apps/upload.js +0 -280
  76. package/dist/apps/upload.js.map +0 -1
  77. package/dist/resources/llms-primer.d.ts +0 -2
  78. package/dist/resources/llms-primer.d.ts.map +0 -1
  79. package/dist/resources/llms-primer.js +0 -68
  80. package/dist/resources/llms-primer.js.map +0 -1
  81. package/dist/server-instructions.d.ts +0 -9
  82. package/dist/server-instructions.d.ts.map +0 -1
  83. package/dist/server-instructions.js +0 -34
  84. package/dist/server-instructions.js.map +0 -1
  85. package/dist/tools/agreement-types.d.ts +0 -27
  86. package/dist/tools/agreement-types.d.ts.map +0 -1
  87. package/dist/tools/agreement-types.js +0 -387
  88. package/dist/tools/agreement-types.js.map +0 -1
  89. package/dist/tools/agreements.d.ts +0 -20
  90. package/dist/tools/agreements.d.ts.map +0 -1
  91. package/dist/tools/agreements.js +0 -363
  92. package/dist/tools/agreements.js.map +0 -1
  93. package/dist/tools/analytics.d.ts +0 -20
  94. package/dist/tools/analytics.d.ts.map +0 -1
  95. package/dist/tools/analytics.js +0 -124
  96. package/dist/tools/analytics.js.map +0 -1
  97. package/dist/tools/app-tools.d.ts +0 -21
  98. package/dist/tools/app-tools.d.ts.map +0 -1
  99. package/dist/tools/app-tools.js +0 -248
  100. package/dist/tools/app-tools.js.map +0 -1
  101. package/dist/tools/assets.d.ts +0 -21
  102. package/dist/tools/assets.d.ts.map +0 -1
  103. package/dist/tools/assets.js +0 -441
  104. package/dist/tools/assets.js.map +0 -1
  105. package/dist/tools/audio-files.d.ts +0 -20
  106. package/dist/tools/audio-files.d.ts.map +0 -1
  107. package/dist/tools/audio-files.js +0 -384
  108. package/dist/tools/audio-files.js.map +0 -1
  109. package/dist/tools/auth.d.ts +0 -22
  110. package/dist/tools/auth.d.ts.map +0 -1
  111. package/dist/tools/auth.js +0 -210
  112. package/dist/tools/auth.js.map +0 -1
  113. package/dist/tools/bulk.d.ts +0 -16
  114. package/dist/tools/bulk.d.ts.map +0 -1
  115. package/dist/tools/bulk.js +0 -85
  116. package/dist/tools/bulk.js.map +0 -1
  117. package/dist/tools/calendar.d.ts +0 -15
  118. package/dist/tools/calendar.d.ts.map +0 -1
  119. package/dist/tools/calendar.js +0 -67
  120. package/dist/tools/calendar.js.map +0 -1
  121. package/dist/tools/collaborators.d.ts +0 -17
  122. package/dist/tools/collaborators.d.ts.map +0 -1
  123. package/dist/tools/collaborators.js +0 -131
  124. package/dist/tools/collaborators.js.map +0 -1
  125. package/dist/tools/comparisons.d.ts +0 -22
  126. package/dist/tools/comparisons.d.ts.map +0 -1
  127. package/dist/tools/comparisons.js +0 -78
  128. package/dist/tools/comparisons.js.map +0 -1
  129. package/dist/tools/credits.d.ts +0 -17
  130. package/dist/tools/credits.d.ts.map +0 -1
  131. package/dist/tools/credits.js +0 -312
  132. package/dist/tools/credits.js.map +0 -1
  133. package/dist/tools/dashboard.d.ts +0 -19
  134. package/dist/tools/dashboard.d.ts.map +0 -1
  135. package/dist/tools/dashboard.js +0 -146
  136. package/dist/tools/dashboard.js.map +0 -1
  137. package/dist/tools/directory.d.ts +0 -15
  138. package/dist/tools/directory.d.ts.map +0 -1
  139. package/dist/tools/directory.js +0 -106
  140. package/dist/tools/directory.js.map +0 -1
  141. package/dist/tools/discovery.d.ts +0 -28
  142. package/dist/tools/discovery.d.ts.map +0 -1
  143. package/dist/tools/discovery.js +0 -560
  144. package/dist/tools/discovery.js.map +0 -1
  145. package/dist/tools/disputes.d.ts +0 -18
  146. package/dist/tools/disputes.d.ts.map +0 -1
  147. package/dist/tools/disputes.js +0 -61
  148. package/dist/tools/disputes.js.map +0 -1
  149. package/dist/tools/documents.d.ts +0 -15
  150. package/dist/tools/documents.d.ts.map +0 -1
  151. package/dist/tools/documents.js +0 -36
  152. package/dist/tools/documents.js.map +0 -1
  153. package/dist/tools/duplicates.d.ts +0 -16
  154. package/dist/tools/duplicates.d.ts.map +0 -1
  155. package/dist/tools/duplicates.js +0 -87
  156. package/dist/tools/duplicates.js.map +0 -1
  157. package/dist/tools/enrichment.d.ts +0 -20
  158. package/dist/tools/enrichment.d.ts.map +0 -1
  159. package/dist/tools/enrichment.js +0 -154
  160. package/dist/tools/enrichment.js.map +0 -1
  161. package/dist/tools/exports.d.ts +0 -19
  162. package/dist/tools/exports.d.ts.map +0 -1
  163. package/dist/tools/exports.js +0 -175
  164. package/dist/tools/exports.js.map +0 -1
  165. package/dist/tools/import-documents.d.ts +0 -21
  166. package/dist/tools/import-documents.d.ts.map +0 -1
  167. package/dist/tools/import-documents.js +0 -203
  168. package/dist/tools/import-documents.js.map +0 -1
  169. package/dist/tools/import.d.ts +0 -30
  170. package/dist/tools/import.d.ts.map +0 -1
  171. package/dist/tools/import.js +0 -455
  172. package/dist/tools/import.js.map +0 -1
  173. package/dist/tools/integrations.d.ts +0 -15
  174. package/dist/tools/integrations.d.ts.map +0 -1
  175. package/dist/tools/integrations.js +0 -100
  176. package/dist/tools/integrations.js.map +0 -1
  177. package/dist/tools/licensing.d.ts +0 -40
  178. package/dist/tools/licensing.d.ts.map +0 -1
  179. package/dist/tools/licensing.js +0 -431
  180. package/dist/tools/licensing.js.map +0 -1
  181. package/dist/tools/memory.d.ts +0 -21
  182. package/dist/tools/memory.d.ts.map +0 -1
  183. package/dist/tools/memory.js +0 -116
  184. package/dist/tools/memory.js.map +0 -1
  185. package/dist/tools/metadata.d.ts +0 -15
  186. package/dist/tools/metadata.d.ts.map +0 -1
  187. package/dist/tools/metadata.js +0 -1069
  188. package/dist/tools/metadata.js.map +0 -1
  189. package/dist/tools/multimedia.d.ts +0 -19
  190. package/dist/tools/multimedia.d.ts.map +0 -1
  191. package/dist/tools/multimedia.js +0 -291
  192. package/dist/tools/multimedia.js.map +0 -1
  193. package/dist/tools/notes.d.ts +0 -21
  194. package/dist/tools/notes.d.ts.map +0 -1
  195. package/dist/tools/notes.js +0 -108
  196. package/dist/tools/notes.js.map +0 -1
  197. package/dist/tools/notifications.d.ts +0 -17
  198. package/dist/tools/notifications.d.ts.map +0 -1
  199. package/dist/tools/notifications.js +0 -117
  200. package/dist/tools/notifications.js.map +0 -1
  201. package/dist/tools/projects.d.ts +0 -19
  202. package/dist/tools/projects.d.ts.map +0 -1
  203. package/dist/tools/projects.js +0 -140
  204. package/dist/tools/projects.js.map +0 -1
  205. package/dist/tools/publishers.d.ts +0 -16
  206. package/dist/tools/publishers.d.ts.map +0 -1
  207. package/dist/tools/publishers.js +0 -69
  208. package/dist/tools/publishers.js.map +0 -1
  209. package/dist/tools/purchases.d.ts +0 -15
  210. package/dist/tools/purchases.d.ts.map +0 -1
  211. package/dist/tools/purchases.js +0 -63
  212. package/dist/tools/purchases.js.map +0 -1
  213. package/dist/tools/recovery-hints.d.ts +0 -14
  214. package/dist/tools/recovery-hints.d.ts.map +0 -1
  215. package/dist/tools/recovery-hints.js +0 -277
  216. package/dist/tools/recovery-hints.js.map +0 -1
  217. package/dist/tools/releases.d.ts +0 -18
  218. package/dist/tools/releases.d.ts.map +0 -1
  219. package/dist/tools/releases.js +0 -128
  220. package/dist/tools/releases.js.map +0 -1
  221. package/dist/tools/royalties.d.ts +0 -23
  222. package/dist/tools/royalties.d.ts.map +0 -1
  223. package/dist/tools/royalties.js +0 -257
  224. package/dist/tools/royalties.js.map +0 -1
  225. package/dist/tools/send.d.ts +0 -17
  226. package/dist/tools/send.d.ts.map +0 -1
  227. package/dist/tools/send.js +0 -185
  228. package/dist/tools/send.js.map +0 -1
  229. package/dist/tools/sessions.d.ts +0 -18
  230. package/dist/tools/sessions.d.ts.map +0 -1
  231. package/dist/tools/sessions.js +0 -115
  232. package/dist/tools/sessions.js.map +0 -1
  233. package/dist/tools/settings.d.ts +0 -18
  234. package/dist/tools/settings.d.ts.map +0 -1
  235. package/dist/tools/settings.js +0 -96
  236. package/dist/tools/settings.js.map +0 -1
  237. package/dist/tools/share-links.d.ts +0 -19
  238. package/dist/tools/share-links.d.ts.map +0 -1
  239. package/dist/tools/share-links.js +0 -121
  240. package/dist/tools/share-links.js.map +0 -1
  241. package/dist/tools/split-sheets.d.ts +0 -25
  242. package/dist/tools/split-sheets.d.ts.map +0 -1
  243. package/dist/tools/split-sheets.js +0 -307
  244. package/dist/tools/split-sheets.js.map +0 -1
  245. package/dist/tools/team.d.ts +0 -22
  246. package/dist/tools/team.d.ts.map +0 -1
  247. package/dist/tools/team.js +0 -134
  248. package/dist/tools/team.js.map +0 -1
  249. package/dist/tools/telegram.d.ts +0 -20
  250. package/dist/tools/telegram.d.ts.map +0 -1
  251. package/dist/tools/telegram.js +0 -88
  252. package/dist/tools/telegram.js.map +0 -1
  253. package/dist/tools/uploads.d.ts +0 -17
  254. package/dist/tools/uploads.d.ts.map +0 -1
  255. package/dist/tools/uploads.js +0 -156
  256. package/dist/tools/uploads.js.map +0 -1
@@ -1,431 +0,0 @@
1
- // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
2
- import { formatAsText, formatList, formatSuccess } from "@withpica/mcp-utils";
3
- export class LicensingTools {
4
- pica;
5
- constructor(pica) {
6
- this.pica = pica;
7
- }
8
- /**
9
- * Get all licensing tools
10
- */
11
- getTools() {
12
- return [
13
- {
14
- definition: {
15
- name: "pica_search_for_sync",
16
- description: "Search for licensable tracks by audio characteristics. " +
17
- "This is a powerful sync licensing search that finds tracks based on " +
18
- "mood, genre, BPM, musical key, energy level, and other audio features. " +
19
- "Use this when a music supervisor or client is looking for specific types of music.",
20
- inputSchema: {
21
- type: "object",
22
- properties: {
23
- mood: {
24
- type: "string",
25
- description: "Comma-separated mood tags to search for (e.g., 'uplifting,energetic' or 'melancholic,introspective')",
26
- },
27
- genre: {
28
- type: "string",
29
- description: "Genre to filter by (e.g., 'electronic', 'acoustic', 'orchestral')",
30
- },
31
- min_bpm: {
32
- type: "number",
33
- description: "Minimum BPM (beats per minute)",
34
- },
35
- max_bpm: {
36
- type: "number",
37
- description: "Maximum BPM (beats per minute)",
38
- },
39
- key: {
40
- type: "string",
41
- description: "Musical key to filter by (e.g., 'C', 'Am', 'F#', 'Bb')",
42
- },
43
- min_energy: {
44
- type: "number",
45
- description: "Minimum energy level (0.0 to 1.0, where 1.0 is highest energy)",
46
- },
47
- max_energy: {
48
- type: "number",
49
- description: "Maximum energy level (0.0 to 1.0)",
50
- },
51
- min_valence: {
52
- type: "number",
53
- description: "Minimum valence/positivity (0.0 to 1.0, where 1.0 is most positive/happy)",
54
- },
55
- max_valence: {
56
- type: "number",
57
- description: "Maximum valence/positivity (0.0 to 1.0)",
58
- },
59
- min_duration: {
60
- type: "number",
61
- description: "Minimum duration in seconds",
62
- },
63
- max_duration: {
64
- type: "number",
65
- description: "Maximum duration in seconds",
66
- },
67
- instrumental_only: {
68
- type: "boolean",
69
- description: "Only return instrumental tracks (no vocals)",
70
- },
71
- available_for_sync: {
72
- type: "boolean",
73
- description: "Only return tracks marked as available for sync licensing",
74
- },
75
- limit: {
76
- type: "number",
77
- description: "Maximum number of results (default: 20, max: 100)",
78
- },
79
- },
80
- },
81
- },
82
- executor: this.searchForSync.bind(this),
83
- },
84
- {
85
- definition: {
86
- name: "pica_submit_license_enquiry",
87
- description: "Submit a license enquiry for a track. Use this when a client wants to " +
88
- "license a specific track for their project. Captures project details, " +
89
- "territory, duration, and proposed budget.",
90
- inputSchema: {
91
- type: "object",
92
- properties: {
93
- work_id: {
94
- type: "string",
95
- description: "ID of the work to license",
96
- },
97
- track_title: {
98
- type: "string",
99
- description: "Title of the track (for reference)",
100
- },
101
- contact_name: {
102
- type: "string",
103
- description: "Name of the person making the enquiry",
104
- },
105
- contact_email: {
106
- type: "string",
107
- description: "Email address for contact",
108
- },
109
- company_name: {
110
- type: "string",
111
- description: "Company or organization name (optional)",
112
- },
113
- project_type: {
114
- type: "string",
115
- description: "Type of project",
116
- enum: [
117
- "tv_ad",
118
- "film",
119
- "social_media",
120
- "game",
121
- "podcast",
122
- "corporate",
123
- "other",
124
- ],
125
- },
126
- project_description: {
127
- type: "string",
128
- description: "Description of how the music will be used in the project",
129
- },
130
- territory: {
131
- type: "string",
132
- description: "Geographic territory for the license (e.g., 'uk', 'eu', 'worldwide', 'north_america')",
133
- },
134
- duration: {
135
- type: "string",
136
- description: "License duration (e.g., '1_year', '3_years', 'perpetual')",
137
- },
138
- distribution: {
139
- type: "array",
140
- description: "Distribution channels (e.g., ['streaming', 'broadcast', 'cinema', 'social', 'web'])",
141
- items: {
142
- type: "string",
143
- },
144
- },
145
- proposed_budget_amount: {
146
- type: "number",
147
- description: "Proposed license fee amount",
148
- },
149
- proposed_budget_currency: {
150
- type: "string",
151
- description: "Currency for the budget (e.g., 'GBP', 'USD', 'EUR')",
152
- },
153
- budget_notes: {
154
- type: "string",
155
- description: "Additional notes about the budget or negotiation flexibility",
156
- },
157
- },
158
- required: [
159
- "work_id",
160
- "track_title",
161
- "contact_name",
162
- "contact_email",
163
- "project_type",
164
- "project_description",
165
- "territory",
166
- "duration",
167
- "proposed_budget_amount",
168
- "proposed_budget_currency",
169
- ],
170
- },
171
- },
172
- executor: this.submitLicenseEnquiry.bind(this),
173
- },
174
- {
175
- definition: {
176
- name: "pica_list_license_enquiries",
177
- description: "List license enquiries with optional filters. View pending, reviewed, " +
178
- "quoted, accepted, or declined enquiries.",
179
- inputSchema: {
180
- type: "object",
181
- properties: {
182
- work_id: {
183
- type: "string",
184
- description: "Filter by work ID",
185
- },
186
- status: {
187
- type: "string",
188
- description: "Filter by status",
189
- enum: [
190
- "pending",
191
- "reviewing",
192
- "quoted",
193
- "accepted",
194
- "declined",
195
- "expired",
196
- ],
197
- },
198
- project_type: {
199
- type: "string",
200
- description: "Filter by project type",
201
- enum: [
202
- "tv_ad",
203
- "film",
204
- "social_media",
205
- "game",
206
- "podcast",
207
- "corporate",
208
- "other",
209
- ],
210
- },
211
- territory: {
212
- type: "string",
213
- description: "Filter by territory",
214
- },
215
- limit: {
216
- type: "number",
217
- description: "Maximum number of results (default: 50)",
218
- },
219
- offset: {
220
- type: "number",
221
- description: "Pagination offset (default: 0)",
222
- },
223
- },
224
- },
225
- },
226
- executor: this.listLicenseEnquiries.bind(this),
227
- },
228
- {
229
- definition: {
230
- name: "pica_get_license_enquiry",
231
- description: "Get details of a specific license enquiry by ID",
232
- inputSchema: {
233
- type: "object",
234
- properties: {
235
- id: {
236
- type: "string",
237
- description: "License enquiry ID",
238
- },
239
- },
240
- required: ["id"],
241
- },
242
- },
243
- executor: this.getLicenseEnquiry.bind(this),
244
- },
245
- {
246
- definition: {
247
- name: "pica_update_license_enquiry_status",
248
- description: "Update the status of a license enquiry. Use this to move enquiries " +
249
- "through the workflow (reviewing, quoted, accepted, declined).",
250
- inputSchema: {
251
- type: "object",
252
- properties: {
253
- id: {
254
- type: "string",
255
- description: "License enquiry ID",
256
- },
257
- status: {
258
- type: "string",
259
- description: "New status",
260
- enum: [
261
- "pending",
262
- "reviewing",
263
- "quoted",
264
- "accepted",
265
- "declined",
266
- "expired",
267
- ],
268
- },
269
- notes: {
270
- type: "string",
271
- description: "Internal notes about the status change",
272
- },
273
- },
274
- required: ["id", "status"],
275
- },
276
- },
277
- executor: this.updateLicenseEnquiryStatus.bind(this),
278
- },
279
- ];
280
- }
281
- /**
282
- * Search for sync-licensable tracks
283
- */
284
- async searchForSync(args) {
285
- const result = await this.pica.licensing.searchForSync({
286
- mood: args.mood,
287
- genre: args.genre,
288
- min_bpm: args.min_bpm,
289
- max_bpm: args.max_bpm,
290
- key: args.key,
291
- min_energy: args.min_energy,
292
- max_energy: args.max_energy,
293
- min_valence: args.min_valence,
294
- max_valence: args.max_valence,
295
- min_duration: args.min_duration,
296
- max_duration: args.max_duration,
297
- instrumental_only: args.instrumental_only,
298
- available_for_sync: args.available_for_sync,
299
- limit: args.limit,
300
- });
301
- // Format tracks for display
302
- const formattedTracks = result.tracks.map((track) => ({
303
- id: track.id,
304
- title: track.title,
305
- work: track.work?.title || "No linked work",
306
- artist: track.work?.primary_artist || "Unknown",
307
- bpm: track.detected_bpm
308
- ? `${Math.round(track.detected_bpm)} BPM`
309
- : "Unknown",
310
- key: track.detected_key || "Unknown",
311
- energy: track.detected_energy
312
- ? `${Math.round(track.detected_energy * 100)}%`
313
- : "Unknown",
314
- mood: track.detected_mood?.join(", ") || "Not analyzed",
315
- duration: track.duration_seconds
316
- ? `${Math.floor(track.duration_seconds / 60)}:${String(Math.floor(track.duration_seconds % 60)).padStart(2, "0")}`
317
- : "Unknown",
318
- available: track.published ? "Yes" : "No",
319
- }));
320
- return formatList(formattedTracks, {
321
- title: "Sync Licensing Search Results",
322
- total: result.count,
323
- filters: result.filters,
324
- });
325
- }
326
- /**
327
- * Submit a license enquiry
328
- */
329
- async submitLicenseEnquiry(args) {
330
- const enquiry = await this.pica.licensing.submitEnquiry({
331
- work_id: args.work_id,
332
- track_title: args.track_title,
333
- contact_name: args.contact_name,
334
- contact_email: args.contact_email,
335
- company_name: args.company_name,
336
- project_type: args.project_type,
337
- project_description: args.project_description,
338
- territory: args.territory,
339
- duration: args.duration,
340
- distribution: args.distribution,
341
- proposed_budget_amount: args.proposed_budget_amount,
342
- proposed_budget_currency: args.proposed_budget_currency,
343
- budget_notes: args.budget_notes,
344
- });
345
- return formatSuccess("License enquiry submitted successfully", {
346
- id: enquiry.id,
347
- track: enquiry.track_title,
348
- project_type: enquiry.project_type,
349
- territory: enquiry.territory,
350
- proposed_budget: `${enquiry.proposed_budget_currency} ${enquiry.proposed_budget_amount}`,
351
- status: enquiry.status,
352
- });
353
- }
354
- /**
355
- * List license enquiries
356
- */
357
- async listLicenseEnquiries(args) {
358
- const enquiries = await this.pica.licensing.listEnquiries({
359
- work_id: args.work_id,
360
- status: args.status,
361
- project_type: args.project_type,
362
- territory: args.territory,
363
- limit: args.limit || 50,
364
- offset: args.offset || 0,
365
- });
366
- // Format enquiries for display
367
- const formattedEnquiries = enquiries.map((enquiry) => ({
368
- id: enquiry.id,
369
- track: enquiry.track_title,
370
- contact: `${enquiry.contact_name} (${enquiry.contact_email})`,
371
- company: enquiry.company_name || "Individual",
372
- project: enquiry.project_type,
373
- territory: enquiry.territory,
374
- budget: `${enquiry.proposed_budget_currency} ${enquiry.proposed_budget_amount}`,
375
- status: enquiry.status,
376
- created: new Date(enquiry.created_at).toLocaleDateString(),
377
- }));
378
- return formatList(formattedEnquiries, {
379
- title: "License Enquiries",
380
- total: enquiries.length,
381
- });
382
- }
383
- /**
384
- * Get license enquiry by ID
385
- */
386
- async getLicenseEnquiry(args) {
387
- const enquiry = await this.pica.licensing.getEnquiry(args.id);
388
- const formatted = {
389
- id: enquiry.id,
390
- track: enquiry.track_title,
391
- work_id: enquiry.work_id,
392
- contact: {
393
- name: enquiry.contact_name,
394
- email: enquiry.contact_email,
395
- company: enquiry.company_name,
396
- },
397
- project: {
398
- type: enquiry.project_type,
399
- description: enquiry.project_description,
400
- territory: enquiry.territory,
401
- duration: enquiry.duration,
402
- distribution: enquiry.distribution,
403
- },
404
- budget: {
405
- proposed: `${enquiry.proposed_budget_currency} ${enquiry.proposed_budget_amount}`,
406
- counter_offer: enquiry.your_counter_offer
407
- ? `${enquiry.proposed_budget_currency} ${enquiry.your_counter_offer}`
408
- : null,
409
- notes: enquiry.budget_notes,
410
- },
411
- status: enquiry.status,
412
- internal_notes: enquiry.your_notes,
413
- responded_at: enquiry.responded_at,
414
- created_at: enquiry.created_at,
415
- };
416
- return formatAsText(formatted);
417
- }
418
- /**
419
- * Update license enquiry status
420
- */
421
- async updateLicenseEnquiryStatus(args) {
422
- const enquiry = await this.pica.licensing.updateEnquiryStatus(args.id, args.status, args.notes);
423
- return formatSuccess("License enquiry status updated", {
424
- id: enquiry.id,
425
- track: enquiry.track_title,
426
- status: enquiry.status,
427
- notes: enquiry.your_notes,
428
- });
429
- }
430
- }
431
- //# sourceMappingURL=licensing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"licensing.js","sourceRoot":"","sources":["../../src/tools/licensing.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Memory Tools — MCP tools for persistent workspace memory
3
- *
4
- * Backed by the assistant_memory system via REST routes (/api/admin/memory/*).
5
- * Allows AI agents to save and retrieve workspace-specific knowledge.
6
- */
7
- import { PicaClient } from "@withpica/mcp-sdk";
8
- import { ToolDefinition, ToolExecutor } from "./index.js";
9
- export declare class MemoryTools {
10
- private pica;
11
- constructor(pica: PicaClient);
12
- getTools(): Array<{
13
- definition: ToolDefinition;
14
- executor: ToolExecutor;
15
- }>;
16
- private listMemories;
17
- private searchMemories;
18
- private saveMemory;
19
- private deleteMemory;
20
- }
21
- //# sourceMappingURL=memory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/tools/memory.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAOtE,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;YA8F3D,YAAY;YAKZ,cAAc;YAKd,UAAU;YAUV,YAAY;CAI3B"}
@@ -1,116 +0,0 @@
1
- // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
2
- import { formatSuccess, formatStructuredList, } from "@withpica/mcp-utils";
3
- export class MemoryTools {
4
- pica;
5
- constructor(pica) {
6
- this.pica = pica;
7
- }
8
- getTools() {
9
- return [
10
- {
11
- definition: {
12
- name: "pica_memory_list",
13
- description: "List all memories for this workspace (personal + organisation-wide). Use to recall stored context.",
14
- inputSchema: {
15
- type: "object",
16
- properties: {},
17
- },
18
- },
19
- executor: this.listMemories.bind(this),
20
- },
21
- {
22
- definition: {
23
- name: "pica_memory_search",
24
- description: "Search memories by keyword. Use when you need to find specific stored context.",
25
- inputSchema: {
26
- type: "object",
27
- properties: {
28
- query: {
29
- type: "string",
30
- description: "Search query to match against memory keys and content",
31
- },
32
- },
33
- required: ["query"],
34
- },
35
- },
36
- executor: this.searchMemories.bind(this),
37
- },
38
- {
39
- definition: {
40
- name: "pica_memory_save",
41
- description: "Save a memory for this workspace. Use to store important context, decisions, or preferences.",
42
- inputSchema: {
43
- type: "object",
44
- properties: {
45
- key: {
46
- type: "string",
47
- description: "Short identifier for this memory (e.g., 'sync_licensing_priority', 'publisher_x_requirements')",
48
- },
49
- content: {
50
- type: "string",
51
- description: "The memory content to store",
52
- },
53
- scope: {
54
- type: "string",
55
- enum: ["personal", "organisation"],
56
- description: "Scope: 'personal' (only this user) or 'organisation' (shared with team). Default: personal.",
57
- },
58
- type: {
59
- type: "string",
60
- enum: [
61
- "preference",
62
- "business_rule",
63
- "catalog_fact",
64
- "decision",
65
- "relationship",
66
- ],
67
- description: "Type of memory. Default: preference.",
68
- },
69
- },
70
- required: ["key", "content"],
71
- },
72
- },
73
- executor: this.saveMemory.bind(this),
74
- },
75
- {
76
- definition: {
77
- name: "pica_memory_delete",
78
- description: "Delete a memory by ID. Use to remove outdated or incorrect stored context.",
79
- inputSchema: {
80
- type: "object",
81
- properties: {
82
- id: {
83
- type: "string",
84
- description: "Memory ID to delete",
85
- },
86
- },
87
- required: ["id"],
88
- },
89
- },
90
- executor: this.deleteMemory.bind(this),
91
- },
92
- ];
93
- }
94
- async listMemories(_args) {
95
- const memories = await this.pica.memory.list();
96
- return formatStructuredList(memories, "memory");
97
- }
98
- async searchMemories(args) {
99
- const memories = await this.pica.memory.search(args.query);
100
- return formatStructuredList(memories, "memory", { query: args.query });
101
- }
102
- async saveMemory(args) {
103
- const memory = await this.pica.memory.save({
104
- key: args.key,
105
- content: args.content,
106
- scope: args.scope,
107
- type: args.type,
108
- });
109
- return formatSuccess("Memory saved successfully", memory);
110
- }
111
- async deleteMemory(args) {
112
- await this.pica.memory.delete(args.id);
113
- return formatSuccess(`Memory ${args.id} deleted successfully`);
114
- }
115
- }
116
- //# sourceMappingURL=memory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/tools/memory.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAW7D,OAAO,EAEL,aAAa,EACb,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,OAAO,WAAW;IACd,IAAI,CAAa;IAEzB,YAAY,IAAgB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,QAAQ;QACN,OAAO;YACL;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,kBAAkB;oBACxB,WAAW,EACT,oGAAoG;oBACtG,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,EAAE;qBACf;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;aACvC;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,oBAAoB;oBAC1B,WAAW,EACT,gFAAgF;oBAClF,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,uDAAuD;6BAC1D;yBACF;wBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;qBACpB;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;aACzC;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,kBAAkB;oBACxB,WAAW,EACT,8FAA8F;oBAChG,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,GAAG,EAAE;gCACH,IAAI,EAAE,QAAQ;gCACd,WAAW,EACT,gGAAgG;6BACnG;4BACD,OAAO,EAAE;gCACP,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,6BAA6B;6BAC3C;4BACD,KAAK,EAAE;gCACL,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC;gCAClC,WAAW,EACT,6FAA6F;6BAChG;4BACD,IAAI,EAAE;gCACJ,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE;oCACJ,YAAY;oCACZ,eAAe;oCACf,cAAc;oCACd,UAAU;oCACV,cAAc;iCACf;gCACD,WAAW,EAAE,sCAAsC;6BACpD;yBACF;wBACD,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC;qBAC7B;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;aACrC;YACD;gBACE,UAAU,EAAE;oBACV,IAAI,EAAE,oBAAoB;oBAC1B,WAAW,EACT,4EAA4E;oBAC9E,WAAW,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,EAAE,EAAE;gCACF,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,qBAAqB;6BACnC;yBACF;wBACD,QAAQ,EAAE,CAAC,IAAI,CAAC;qBACjB;iBACF;gBACD,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;aACvC;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,KAA0B;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/C,OAAO,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,IAAyB;QACpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3D,OAAO,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACzE,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,IAAyB;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACzC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;QACH,OAAO,aAAa,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,IAAyB;QAClD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvC,OAAO,aAAa,CAAC,UAAU,IAAI,CAAC,EAAE,uBAAuB,CAAC,CAAC;IACjE,CAAC;CACF"}
@@ -1,15 +0,0 @@
1
- import type { ToolMetadata } from "./index.js";
2
- /**
3
- * Metadata registry for all 193 MCP tools.
4
- *
5
- * Categories: catalog, enrichment, business, discovery, media, comms, settings
6
- * Risk: safe (read-only), mutating (creates/modifies), destructive (deletes/merges)
7
- * retry_safe: true for safe tools, false for destructive, varies for mutating
8
- */
9
- export declare const TOOL_METADATA: Record<string, ToolMetadata>;
10
- /**
11
- * Look up metadata for a tool by name.
12
- * Returns undefined if the tool is not registered.
13
- */
14
- export declare function getToolMetadata(name: string): ToolMetadata | undefined;
15
- //# sourceMappingURL=metadata.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/tools/metadata.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAgkCtD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEtE"}