@withpica/mcp-server 2.7.0 → 2.8.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 (251) hide show
  1. package/dist/__mocks__/mppx-mcp-sdk-server.d.ts +6 -0
  2. package/dist/__mocks__/mppx-mcp-sdk-server.d.ts.map +1 -0
  3. package/dist/__mocks__/mppx-mcp-sdk-server.js +6 -0
  4. package/dist/__mocks__/mppx-mcp-sdk-server.js.map +1 -0
  5. package/dist/__mocks__/mppx-server.d.ts +12 -0
  6. package/dist/__mocks__/mppx-server.d.ts.map +1 -0
  7. package/dist/__mocks__/mppx-server.js +12 -0
  8. package/dist/__mocks__/mppx-server.js.map +1 -0
  9. package/dist/apps/download.d.ts +2 -0
  10. package/dist/apps/download.d.ts.map +1 -0
  11. package/dist/apps/download.js +125 -0
  12. package/dist/apps/download.js.map +1 -0
  13. package/dist/apps/generated/shared-bundle.d.ts +5 -0
  14. package/dist/apps/generated/shared-bundle.d.ts.map +1 -0
  15. package/dist/apps/generated/shared-bundle.js +7 -0
  16. package/dist/apps/generated/shared-bundle.js.map +1 -0
  17. package/dist/apps/shared.d.ts +15 -0
  18. package/dist/apps/shared.d.ts.map +1 -0
  19. package/dist/apps/shared.js +480 -0
  20. package/dist/apps/shared.js.map +1 -0
  21. package/dist/apps/upload.d.ts +2 -0
  22. package/dist/apps/upload.d.ts.map +1 -0
  23. package/dist/apps/upload.js +280 -0
  24. package/dist/apps/upload.js.map +1 -0
  25. package/dist/config.d.ts +4 -25
  26. package/dist/config.d.ts.map +1 -1
  27. package/dist/config.js +36 -12
  28. package/dist/config.js.map +1 -1
  29. package/dist/index.d.ts +1 -1
  30. package/dist/index.js +3 -3
  31. package/dist/index.js.map +1 -1
  32. package/dist/prompts/index.d.ts +64 -64
  33. package/dist/prompts/index.js +24 -24
  34. package/dist/prompts/index.js.map +1 -1
  35. package/dist/resources/index.d.ts +55 -53
  36. package/dist/resources/index.d.ts.map +1 -1
  37. package/dist/resources/index.js +133 -54
  38. package/dist/resources/index.js.map +1 -1
  39. package/dist/resources/llms-primer.d.ts +2 -0
  40. package/dist/resources/llms-primer.d.ts.map +1 -0
  41. package/dist/resources/llms-primer.js +68 -0
  42. package/dist/resources/llms-primer.js.map +1 -0
  43. package/dist/server-instructions.d.ts +9 -0
  44. package/dist/server-instructions.d.ts.map +1 -0
  45. package/dist/server-instructions.js +34 -0
  46. package/dist/server-instructions.js.map +1 -0
  47. package/dist/server.d.ts +49 -32
  48. package/dist/server.d.ts.map +1 -1
  49. package/dist/server.js +103 -14
  50. package/dist/server.js.map +1 -1
  51. package/dist/tools/agreement-types.d.ts +27 -0
  52. package/dist/tools/agreement-types.d.ts.map +1 -0
  53. package/dist/tools/agreement-types.js +387 -0
  54. package/dist/tools/agreement-types.js.map +1 -0
  55. package/dist/tools/agreements.d.ts +20 -0
  56. package/dist/tools/agreements.d.ts.map +1 -0
  57. package/dist/tools/agreements.js +363 -0
  58. package/dist/tools/agreements.js.map +1 -0
  59. package/dist/tools/analytics.d.ts +20 -0
  60. package/dist/tools/analytics.d.ts.map +1 -0
  61. package/dist/tools/analytics.js +124 -0
  62. package/dist/tools/analytics.js.map +1 -0
  63. package/dist/tools/app-tools.d.ts +21 -0
  64. package/dist/tools/app-tools.d.ts.map +1 -0
  65. package/dist/tools/app-tools.js +248 -0
  66. package/dist/tools/app-tools.js.map +1 -0
  67. package/dist/tools/assets.d.ts +25 -0
  68. package/dist/tools/assets.d.ts.map +1 -0
  69. package/dist/tools/assets.js +631 -0
  70. package/dist/tools/assets.js.map +1 -0
  71. package/dist/tools/audio-files.d.ts +20 -0
  72. package/dist/tools/audio-files.d.ts.map +1 -0
  73. package/dist/tools/audio-files.js +384 -0
  74. package/dist/tools/audio-files.js.map +1 -0
  75. package/dist/tools/auth.d.ts +22 -0
  76. package/dist/tools/auth.d.ts.map +1 -0
  77. package/dist/tools/auth.js +210 -0
  78. package/dist/tools/auth.js.map +1 -0
  79. package/dist/tools/bulk.d.ts +16 -0
  80. package/dist/tools/bulk.d.ts.map +1 -0
  81. package/dist/tools/bulk.js +85 -0
  82. package/dist/tools/bulk.js.map +1 -0
  83. package/dist/tools/calendar.d.ts +15 -0
  84. package/dist/tools/calendar.d.ts.map +1 -0
  85. package/dist/tools/calendar.js +67 -0
  86. package/dist/tools/calendar.js.map +1 -0
  87. package/dist/tools/collaborators.d.ts +21 -0
  88. package/dist/tools/collaborators.d.ts.map +1 -0
  89. package/dist/tools/collaborators.js +311 -0
  90. package/dist/tools/collaborators.js.map +1 -0
  91. package/dist/tools/comparisons.d.ts +22 -0
  92. package/dist/tools/comparisons.d.ts.map +1 -0
  93. package/dist/tools/comparisons.js +78 -0
  94. package/dist/tools/comparisons.js.map +1 -0
  95. package/dist/tools/credits.d.ts +17 -0
  96. package/dist/tools/credits.d.ts.map +1 -0
  97. package/dist/tools/credits.js +312 -0
  98. package/dist/tools/credits.js.map +1 -0
  99. package/dist/tools/custody-hints.d.ts +16 -0
  100. package/dist/tools/custody-hints.d.ts.map +1 -0
  101. package/dist/tools/custody-hints.js +27 -0
  102. package/dist/tools/custody-hints.js.map +1 -0
  103. package/dist/tools/custody.d.ts +38 -0
  104. package/dist/tools/custody.d.ts.map +1 -0
  105. package/dist/tools/custody.js +274 -0
  106. package/dist/tools/custody.js.map +1 -0
  107. package/dist/tools/dashboard.d.ts +19 -0
  108. package/dist/tools/dashboard.d.ts.map +1 -0
  109. package/dist/tools/dashboard.js +146 -0
  110. package/dist/tools/dashboard.js.map +1 -0
  111. package/dist/tools/directory.d.ts +15 -0
  112. package/dist/tools/directory.d.ts.map +1 -0
  113. package/dist/tools/directory.js +106 -0
  114. package/dist/tools/directory.js.map +1 -0
  115. package/dist/tools/discovery.d.ts +28 -0
  116. package/dist/tools/discovery.d.ts.map +1 -0
  117. package/dist/tools/discovery.js +560 -0
  118. package/dist/tools/discovery.js.map +1 -0
  119. package/dist/tools/disputes.d.ts +18 -0
  120. package/dist/tools/disputes.d.ts.map +1 -0
  121. package/dist/tools/disputes.js +61 -0
  122. package/dist/tools/disputes.js.map +1 -0
  123. package/dist/tools/documents.d.ts +15 -0
  124. package/dist/tools/documents.d.ts.map +1 -0
  125. package/dist/tools/documents.js +36 -0
  126. package/dist/tools/documents.js.map +1 -0
  127. package/dist/tools/duplicates.d.ts +16 -0
  128. package/dist/tools/duplicates.d.ts.map +1 -0
  129. package/dist/tools/duplicates.js +87 -0
  130. package/dist/tools/duplicates.js.map +1 -0
  131. package/dist/tools/enrichment.d.ts +20 -0
  132. package/dist/tools/enrichment.d.ts.map +1 -0
  133. package/dist/tools/enrichment.js +154 -0
  134. package/dist/tools/enrichment.js.map +1 -0
  135. package/dist/tools/exports.d.ts +19 -0
  136. package/dist/tools/exports.d.ts.map +1 -0
  137. package/dist/tools/exports.js +175 -0
  138. package/dist/tools/exports.js.map +1 -0
  139. package/dist/tools/import-documents.d.ts +21 -0
  140. package/dist/tools/import-documents.d.ts.map +1 -0
  141. package/dist/tools/import-documents.js +203 -0
  142. package/dist/tools/import-documents.js.map +1 -0
  143. package/dist/tools/import.d.ts +30 -0
  144. package/dist/tools/import.d.ts.map +1 -0
  145. package/dist/tools/import.js +455 -0
  146. package/dist/tools/import.js.map +1 -0
  147. package/dist/tools/index.d.ts +83 -37
  148. package/dist/tools/index.d.ts.map +1 -1
  149. package/dist/tools/index.js +448 -84
  150. package/dist/tools/index.js.map +1 -1
  151. package/dist/tools/integrations.d.ts +15 -0
  152. package/dist/tools/integrations.d.ts.map +1 -0
  153. package/dist/tools/integrations.js +100 -0
  154. package/dist/tools/integrations.js.map +1 -0
  155. package/dist/tools/licensing.d.ts +40 -0
  156. package/dist/tools/licensing.d.ts.map +1 -0
  157. package/dist/tools/licensing.js +431 -0
  158. package/dist/tools/licensing.js.map +1 -0
  159. package/dist/tools/memory.d.ts +21 -0
  160. package/dist/tools/memory.d.ts.map +1 -0
  161. package/dist/tools/memory.js +116 -0
  162. package/dist/tools/memory.js.map +1 -0
  163. package/dist/tools/metadata.d.ts +15 -0
  164. package/dist/tools/metadata.d.ts.map +1 -0
  165. package/dist/tools/metadata.js +1106 -0
  166. package/dist/tools/metadata.js.map +1 -0
  167. package/dist/tools/multimedia.d.ts +19 -0
  168. package/dist/tools/multimedia.d.ts.map +1 -0
  169. package/dist/tools/multimedia.js +291 -0
  170. package/dist/tools/multimedia.js.map +1 -0
  171. package/dist/tools/notes.d.ts +21 -0
  172. package/dist/tools/notes.d.ts.map +1 -0
  173. package/dist/tools/notes.js +108 -0
  174. package/dist/tools/notes.js.map +1 -0
  175. package/dist/tools/notifications.d.ts +20 -0
  176. package/dist/tools/notifications.d.ts.map +1 -0
  177. package/dist/tools/notifications.js +266 -0
  178. package/dist/tools/notifications.js.map +1 -0
  179. package/dist/tools/people.d.ts +39 -47
  180. package/dist/tools/people.d.ts.map +1 -1
  181. package/dist/tools/people.js +148 -109
  182. package/dist/tools/people.js.map +1 -1
  183. package/dist/tools/projects.d.ts +19 -0
  184. package/dist/tools/projects.d.ts.map +1 -0
  185. package/dist/tools/projects.js +140 -0
  186. package/dist/tools/projects.js.map +1 -0
  187. package/dist/tools/publishers.d.ts +16 -0
  188. package/dist/tools/publishers.d.ts.map +1 -0
  189. package/dist/tools/publishers.js +69 -0
  190. package/dist/tools/publishers.js.map +1 -0
  191. package/dist/tools/purchases.d.ts +15 -0
  192. package/dist/tools/purchases.d.ts.map +1 -0
  193. package/dist/tools/purchases.js +63 -0
  194. package/dist/tools/purchases.js.map +1 -0
  195. package/dist/tools/recordings.d.ts +9 -9
  196. package/dist/tools/recordings.d.ts.map +1 -1
  197. package/dist/tools/recordings.js +136 -48
  198. package/dist/tools/recordings.js.map +1 -1
  199. package/dist/tools/recovery-hints.d.ts +14 -0
  200. package/dist/tools/recovery-hints.d.ts.map +1 -0
  201. package/dist/tools/recovery-hints.js +277 -0
  202. package/dist/tools/recovery-hints.js.map +1 -0
  203. package/dist/tools/releases.d.ts +18 -0
  204. package/dist/tools/releases.d.ts.map +1 -0
  205. package/dist/tools/releases.js +128 -0
  206. package/dist/tools/releases.js.map +1 -0
  207. package/dist/tools/royalties.d.ts +23 -0
  208. package/dist/tools/royalties.d.ts.map +1 -0
  209. package/dist/tools/royalties.js +257 -0
  210. package/dist/tools/royalties.js.map +1 -0
  211. package/dist/tools/search.d.ts +21 -21
  212. package/dist/tools/search.d.ts.map +1 -1
  213. package/dist/tools/search.js +3 -3
  214. package/dist/tools/search.js.map +1 -1
  215. package/dist/tools/send.d.ts +17 -0
  216. package/dist/tools/send.d.ts.map +1 -0
  217. package/dist/tools/send.js +185 -0
  218. package/dist/tools/send.js.map +1 -0
  219. package/dist/tools/sessions.d.ts +18 -0
  220. package/dist/tools/sessions.d.ts.map +1 -0
  221. package/dist/tools/sessions.js +115 -0
  222. package/dist/tools/sessions.js.map +1 -0
  223. package/dist/tools/settings.d.ts +18 -0
  224. package/dist/tools/settings.d.ts.map +1 -0
  225. package/dist/tools/settings.js +96 -0
  226. package/dist/tools/settings.js.map +1 -0
  227. package/dist/tools/share-links.d.ts +19 -0
  228. package/dist/tools/share-links.d.ts.map +1 -0
  229. package/dist/tools/share-links.js +121 -0
  230. package/dist/tools/share-links.js.map +1 -0
  231. package/dist/tools/split-sheets.d.ts +25 -0
  232. package/dist/tools/split-sheets.d.ts.map +1 -0
  233. package/dist/tools/split-sheets.js +307 -0
  234. package/dist/tools/split-sheets.js.map +1 -0
  235. package/dist/tools/team.d.ts +22 -0
  236. package/dist/tools/team.d.ts.map +1 -0
  237. package/dist/tools/team.js +134 -0
  238. package/dist/tools/team.js.map +1 -0
  239. package/dist/tools/telegram.d.ts +21 -0
  240. package/dist/tools/telegram.d.ts.map +1 -0
  241. package/dist/tools/telegram.js +141 -0
  242. package/dist/tools/telegram.js.map +1 -0
  243. package/dist/tools/uploads.d.ts +17 -0
  244. package/dist/tools/uploads.d.ts.map +1 -0
  245. package/dist/tools/uploads.js +156 -0
  246. package/dist/tools/uploads.js.map +1 -0
  247. package/dist/tools/works.d.ts +39 -47
  248. package/dist/tools/works.d.ts.map +1 -1
  249. package/dist/tools/works.js +216 -116
  250. package/dist/tools/works.js.map +1 -1
  251. package/package.json +1 -1
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Server-level instructions sent to agents on MCP handshake.
3
+ * Keep under 2000 chars — this is context budget, not documentation.
4
+ *
5
+ * Block playbook: "document the high level of your server"
6
+ * Lowin: "instructions are context — design them as context"
7
+ */
8
+ export declare const SERVER_INSTRUCTIONS = "PICA manages music catalog metadata \u2014 works, recordings, people, credits, agreements, and rights.\n\nStart here:\n- pica_dashboard_briefing \u2014 daily summary of what needs attention\n- pica_search_all \u2014 find any entity by name, ISWC, ISRC, or IPI\n- pica_works_query / pica_people_query \u2014 browse the catalog\n\nKey patterns:\n- Read tools are safe to call freely (annotated readOnlyHint=true)\n- Use _inspect tools with sections param for targeted data (e.g., pica_works_inspect with sections: [\"basic\", \"credits\"])\n- Write tools (create/update) confirm what changed after execution\n- Destructive tools (delete/merge) require a two-step confirmation with a token\n- Errors include a \"suggestion\" field with recovery instructions and a \"next_tool\" to try\n\nTool categories: catalog, enrichment, business, discovery, media, comms, settings.\nUse pica_dashboard_attention for items needing action.\nUse pica_works_inspect with sections: [\"health\", \"completeness\"] to check data quality.\nEnrichment tools (pica_enrich_work_*) pull from external sources \u2014 Spotify, MusicBrainz, MLC, ISNI, Discogs, YouTube.\nThe agent orchestrates enrichment \u2014 try sources based on available identifiers, follow recovery hints.\n\nAll query endpoints accept \"limit\" (default 50) and return paginated results.\nIDs are UUIDs. When unsure of an ID, use a _query tool first.\n\nWhen calling write tools: briefly tell the user what you're about to do before calling. After execution, confirm what changed.\nWhen calling destructive tools: describe exactly what will be deleted/merged and get explicit user confirmation before calling.";
9
+ //# sourceMappingURL=server-instructions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-instructions.d.ts","sourceRoot":"","sources":["../src/server-instructions.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,2nDAwBgG,CAAC"}
@@ -0,0 +1,34 @@
1
+ // Copyright (c) 2024-2026 Withpica Ltd. All rights reserved.
2
+ /**
3
+ * Server-level instructions sent to agents on MCP handshake.
4
+ * Keep under 2000 chars — this is context budget, not documentation.
5
+ *
6
+ * Block playbook: "document the high level of your server"
7
+ * Lowin: "instructions are context — design them as context"
8
+ */
9
+ export const SERVER_INSTRUCTIONS = `PICA manages music catalog metadata — works, recordings, people, credits, agreements, and rights.
10
+
11
+ Start here:
12
+ - pica_dashboard_briefing — daily summary of what needs attention
13
+ - pica_search_all — find any entity by name, ISWC, ISRC, or IPI
14
+ - pica_works_query / pica_people_query — browse the catalog
15
+
16
+ Key patterns:
17
+ - Read tools are safe to call freely (annotated readOnlyHint=true)
18
+ - Use _inspect tools with sections param for targeted data (e.g., pica_works_inspect with sections: ["basic", "credits"])
19
+ - Write tools (create/update) confirm what changed after execution
20
+ - Destructive tools (delete/merge) require a two-step confirmation with a token
21
+ - Errors include a "suggestion" field with recovery instructions and a "next_tool" to try
22
+
23
+ Tool categories: catalog, enrichment, business, discovery, media, comms, settings.
24
+ Use pica_dashboard_attention for items needing action.
25
+ Use pica_works_inspect with sections: ["health", "completeness"] to check data quality.
26
+ Enrichment tools (pica_enrich_work_*) pull from external sources — Spotify, MusicBrainz, MLC, ISNI, Discogs, YouTube.
27
+ The agent orchestrates enrichment — try sources based on available identifiers, follow recovery hints.
28
+
29
+ All query endpoints accept "limit" (default 50) and return paginated results.
30
+ IDs are UUIDs. When unsure of an ID, use a _query tool first.
31
+
32
+ When calling write tools: briefly tell the user what you're about to do before calling. After execution, confirm what changed.
33
+ When calling destructive tools: describe exactly what will be deleted/merged and get explicit user confirmation before calling.`;
34
+ //# sourceMappingURL=server-instructions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-instructions.js","sourceRoot":"","sources":["../src/server-instructions.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAE7D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;gIAwB6F,CAAC"}
package/dist/server.d.ts CHANGED
@@ -1,35 +1,52 @@
1
1
  import { ServerConfig } from "./config.js";
2
2
  export declare class PicaMcpServer {
3
- private server;
4
- private pica;
5
- private toolRegistry;
6
- private resourceRegistry;
7
- private promptRegistry;
8
- private config;
9
- private httpServer?;
10
- constructor(config: ServerConfig);
11
- /**
12
- * Set up MCP protocol handlers on the main server instance (for stdio)
13
- */
14
- private setupHandlers;
15
- /**
16
- * Start the MCP server.
17
- *
18
- * Transport is selected by environment:
19
- * - MCP_TRANSPORT=http → HTTP server on MCP_PORT (default 3100)
20
- * - Otherwise → stdio (default, for Claude Code / Cursor / VS Code)
21
- */
22
- start(): Promise<void>;
23
- private startStdio;
24
- private startHttp;
25
- /**
26
- * Register protocol handlers on a server instance.
27
- * Used by both the main server (stdio) and per-request servers (HTTP).
28
- */
29
- private registerHandlers;
30
- /**
31
- * Stop the MCP server
32
- */
33
- stop(): Promise<void>;
3
+ private server;
4
+ private pica;
5
+ private toolRegistry;
6
+ private resourceRegistry;
7
+ private promptRegistry;
8
+ private config;
9
+ private httpServer?;
10
+ constructor(config: ServerConfig);
11
+ /**
12
+ * Reinitialize server with new credentials (called after successful auth)
13
+ */
14
+ reinitialize(apiKey: string): void;
15
+ /**
16
+ * Reset the server back to lobby mode (called after sign_out).
17
+ * Mirrors reinitialize() but in reverse: clears the PicaClient,
18
+ * sets lobbyMode=true, and rebuilds the tool/resource registries so
19
+ * the next tools/list call returns only [pica_sign_in, pica_sign_out].
20
+ *
21
+ * Without this the server would keep advertising the full authenticated
22
+ * tool surface after sign_out until the process is restarted, which
23
+ * lies about what's actually available — every privileged tool call
24
+ * would still fail at the API layer (no PicaClient), but the surface
25
+ * itself shouldn't pretend the catalog is reachable.
26
+ */
27
+ signOut(): void;
28
+ /**
29
+ * Set up MCP protocol handlers on the main server instance (for stdio)
30
+ */
31
+ private setupHandlers;
32
+ /**
33
+ * Start the MCP server.
34
+ *
35
+ * Transport is selected by environment:
36
+ * - MCP_TRANSPORT=http → HTTP server on MCP_PORT (default 3100)
37
+ * - Otherwise → stdio (default, for Claude Code / Cursor / VS Code)
38
+ */
39
+ start(): Promise<void>;
40
+ private startStdio;
41
+ private startHttp;
42
+ /**
43
+ * Register protocol handlers on a server instance.
44
+ * Used by both the main server (stdio) and per-request servers (HTTP).
45
+ */
46
+ private registerHandlers;
47
+ /**
48
+ * Stop the MCP server
49
+ */
50
+ stop(): Promise<void>;
34
51
  }
35
- //# sourceMappingURL=server.d.ts.map
52
+ //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAM3C,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAAC,CAAkC;gBAEzC,MAAM,EAAE,YAAY;IAiChC;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAkBd,UAAU;YAKV,SAAS;IAwHvB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA6CxB;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAS5B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAY3C,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAAC,CAAkC;gBAEzC,MAAM,EAAE,YAAY;IA4DhC;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAgDlC;;;;;;;;;;;OAWG;IACH,OAAO,IAAI,IAAI;IAqCf;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;;;;;OAMG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAqBd,UAAU;YAKV,SAAS;IA6HvB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA6CxB;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAS5B"}
package/dist/server.js CHANGED
@@ -8,11 +8,14 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
8
8
  import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
9
9
  import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
10
10
  import { createServer } from "node:http";
11
- import { PicaClient } from "./pica-sdk.js";
11
+ import { timingSafeEqual } from "node:crypto";
12
+ import { PicaClient } from "@withpica/mcp-sdk";
12
13
  import { ToolRegistry } from "./tools/index.js";
13
14
  import { ResourceRegistry } from "./resources/index.js";
14
15
  import { PromptRegistry } from "./prompts/index.js";
15
- import { logError } from "./utils/errors.js";
16
+ import { logError } from "@withpica/mcp-utils";
17
+ import { makeStdioCallerContext, makeHttpAuditFn, McpAuditLogger, } from "@withpica/mcp-utils";
18
+ import { SERVER_INSTRUCTIONS } from "./server-instructions.js";
16
19
  export class PicaMcpServer {
17
20
  server;
18
21
  pica;
@@ -23,29 +26,110 @@ export class PicaMcpServer {
23
26
  httpServer;
24
27
  constructor(config) {
25
28
  this.config = config;
26
- // Initialize PICA SDK client
27
- this.pica = new PicaClient({
28
- apiKey: config.picaApiKey,
29
- baseUrl: config.picaApiUrl,
30
- debug: config.debug,
31
- });
29
+ // Initialize PICA SDK client (null in lobby mode)
30
+ if (config.picaApiKey) {
31
+ this.pica = new PicaClient({
32
+ apiKey: config.picaApiKey,
33
+ baseUrl: config.picaApiUrl,
34
+ debug: config.debug,
35
+ });
36
+ }
37
+ else {
38
+ this.pica = null;
39
+ }
32
40
  // Initialize MCP server
33
41
  this.server = new Server({
34
42
  name: config.serverName,
35
43
  version: config.version,
36
44
  }, {
37
45
  capabilities: {
38
- tools: {},
39
- resources: {},
46
+ // listChanged: true on tools + resources tells the client we
47
+ // may emit `notifications/tools/list_changed` and
48
+ // `notifications/resources/list_changed` after sign-in or
49
+ // sign-out hot-swaps the registries. Without this declaration
50
+ // the client won't subscribe to those notifications, and the
51
+ // tool surface stays frozen at the lobby pair forever.
52
+ tools: { listChanged: true },
53
+ resources: { listChanged: true },
40
54
  prompts: {},
41
55
  },
56
+ instructions: SERVER_INSTRUCTIONS,
42
57
  });
43
- // Initialize registries
44
- this.toolRegistry = new ToolRegistry(this.pica);
45
- this.resourceRegistry = new ResourceRegistry(this.pica);
58
+ // Initialize registries with stdio caller context (api key hash)
59
+ this.toolRegistry = new ToolRegistry(this.pica, config, (apiKey) => this.reinitialize(apiKey), makeStdioCallerContext(config.picaApiKey), () => this.signOut());
60
+ this.resourceRegistry = new ResourceRegistry(this.pica, config);
46
61
  this.promptRegistry = new PromptRegistry();
62
+ // Wire audit logger — fire-and-forget POST to /api/mcp/audit
63
+ this.toolRegistry.setAuditLogger(new McpAuditLogger(makeHttpAuditFn({
64
+ baseUrl: config.picaApiUrl,
65
+ apiKey: config.picaApiKey,
66
+ })));
47
67
  this.setupHandlers();
48
68
  }
69
+ /**
70
+ * Reinitialize server with new credentials (called after successful auth)
71
+ */
72
+ reinitialize(apiKey) {
73
+ this.pica = new PicaClient({
74
+ apiKey,
75
+ baseUrl: this.config.picaApiUrl,
76
+ debug: this.config.debug,
77
+ });
78
+ this.config = { ...this.config, picaApiKey: apiKey, lobbyMode: false };
79
+ this.toolRegistry = new ToolRegistry(this.pica, this.config, (key) => this.reinitialize(key), makeStdioCallerContext(apiKey), () => this.signOut());
80
+ this.toolRegistry.setAuditLogger(new McpAuditLogger(makeHttpAuditFn({ baseUrl: this.config.picaApiUrl, apiKey })));
81
+ this.resourceRegistry = new ResourceRegistry(this.pica, this.config);
82
+ console.error("[MCP Server] Reinitialized with new credentials");
83
+ // Tell the client the tool + resource lists have changed so it
84
+ // re-fetches and discovers the full authenticated surface. Without
85
+ // these notifications the client keeps showing the lobby pair
86
+ // (sign_in/sign_out) even though sign-in succeeded — the in-memory
87
+ // registries on the server know about the 168 catalog tools but
88
+ // the client never asks for them again.
89
+ //
90
+ // Fire-and-forget: a failure to notify is a soft error (the user
91
+ // can manually trigger another tool call which will work since the
92
+ // server's internal state is correct), so we log and continue
93
+ // rather than throwing inside the callback path that just rebuilt
94
+ // the registries.
95
+ this.server.sendToolListChanged().catch((err) => {
96
+ console.error("[MCP Server] Failed to send tools/list_changed notification:", err);
97
+ });
98
+ this.server.sendResourceListChanged().catch((err) => {
99
+ console.error("[MCP Server] Failed to send resources/list_changed notification:", err);
100
+ });
101
+ }
102
+ /**
103
+ * Reset the server back to lobby mode (called after sign_out).
104
+ * Mirrors reinitialize() but in reverse: clears the PicaClient,
105
+ * sets lobbyMode=true, and rebuilds the tool/resource registries so
106
+ * the next tools/list call returns only [pica_sign_in, pica_sign_out].
107
+ *
108
+ * Without this the server would keep advertising the full authenticated
109
+ * tool surface after sign_out until the process is restarted, which
110
+ * lies about what's actually available — every privileged tool call
111
+ * would still fail at the API layer (no PicaClient), but the surface
112
+ * itself shouldn't pretend the catalog is reachable.
113
+ */
114
+ signOut() {
115
+ this.pica = null;
116
+ this.config = { ...this.config, picaApiKey: "", lobbyMode: true };
117
+ this.toolRegistry = new ToolRegistry(this.pica, this.config, (key) => this.reinitialize(key), makeStdioCallerContext(""), () => this.signOut());
118
+ this.toolRegistry.setAuditLogger(new McpAuditLogger(makeHttpAuditFn({ baseUrl: this.config.picaApiUrl, apiKey: "" })));
119
+ this.resourceRegistry = new ResourceRegistry(this.pica, this.config);
120
+ console.error("[MCP Server] Reset to lobby mode after sign_out");
121
+ // Same listChanged story as reinitialize() — without these the
122
+ // client keeps advertising the full authenticated surface to the
123
+ // model after sign-out, and any tool call would fail at the API
124
+ // layer with a confusing "no credentials" error instead of the
125
+ // model saying "you need to sign in first."
126
+ this.server.sendToolListChanged().catch((err) => {
127
+ console.error("[MCP Server] Failed to send tools/list_changed notification (signOut):", err);
128
+ });
129
+ this.server.sendResourceListChanged().catch((err) => {
130
+ console.error("[MCP Server] Failed to send resources/list_changed notification (signOut):", err);
131
+ });
132
+ }
49
133
  /**
50
134
  * Set up MCP protocol handlers on the main server instance (for stdio)
51
135
  */
@@ -70,6 +154,7 @@ export class PicaMcpServer {
70
154
  console.error("[MCP Server] PICA MCP Server started");
71
155
  console.error(`[MCP Server] Version: ${this.config.version}`);
72
156
  console.error(`[MCP Server] Transport: ${mode === "http" ? "HTTP" : "stdio"}`);
157
+ console.error(`[MCP Server] Mode: ${this.config.lobbyMode ? "lobby (sign in to connect)" : "authenticated"}`);
73
158
  console.error(`[MCP Server] API URL: ${this.config.picaApiUrl}`);
74
159
  console.error("[MCP Server] Ready to accept connections");
75
160
  }
@@ -98,7 +183,11 @@ export class PicaMcpServer {
98
183
  const token = authHeader.startsWith("Bearer ")
99
184
  ? authHeader.slice(7)
100
185
  : "";
101
- if (token !== httpSecret) {
186
+ const tokenBuf = Buffer.from(token);
187
+ const secretBuf = Buffer.from(httpSecret);
188
+ const isValid = tokenBuf.length === secretBuf.length &&
189
+ timingSafeEqual(tokenBuf, secretBuf);
190
+ if (!isValid) {
102
191
  res.writeHead(401, { "Content-Type": "application/json" });
103
192
  res.end(JSON.stringify({ error: "Unauthorized" }));
104
193
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Agreement Types Tools — templates, producer agreements, and work-for-hire
3
+ *
4
+ * Unified CRUD via type-routed tools, plus template-specific operations
5
+ * (render, duplicate, set_default).
6
+ */
7
+ import { PicaClient } from "@withpica/mcp-sdk";
8
+ import { ToolDefinition, ToolExecutor } from "./index.js";
9
+ export declare class AgreementTypesTools {
10
+ private pica;
11
+ constructor(pica: PicaClient);
12
+ private getResource;
13
+ private labelFor;
14
+ getTools(): Array<{
15
+ definition: ToolDefinition;
16
+ executor: ToolExecutor;
17
+ }>;
18
+ private query;
19
+ private inspect;
20
+ private create;
21
+ private update;
22
+ private delete;
23
+ private renderTemplate;
24
+ private duplicateTemplate;
25
+ private setDefaultTemplate;
26
+ }
27
+ //# sourceMappingURL=agreement-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agreement-types.d.ts","sourceRoot":"","sources":["../../src/tools/agreement-types.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,YAAY,CAAC;AAMtE,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,IAAI,CAAa;gBAEb,IAAI,EAAE,UAAU;IAI5B,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,QAAQ;IAWhB,QAAQ,IAAI,KAAK,CAAC;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;YAyS3D,KAAK;YAML,OAAO;YAMP,MAAM;YA8CN,MAAM;YAON,MAAM;YASN,cAAc;YAMd,iBAAiB;YAOjB,kBAAkB;CAMjC"}