@icure/cardinal-mcp-server 1.0.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 (79) hide show
  1. package/dist/helpers/docs-loader.d.ts +56 -0
  2. package/dist/helpers/docs-loader.d.ts.map +1 -0
  3. package/dist/helpers/docs-loader.js +14 -0
  4. package/dist/helpers/docs-loader.js.map +1 -0
  5. package/dist/helpers/filter-builder.d.ts +7 -0
  6. package/dist/helpers/filter-builder.d.ts.map +1 -0
  7. package/dist/helpers/filter-builder.js +53 -0
  8. package/dist/helpers/filter-builder.js.map +1 -0
  9. package/dist/helpers/model-builder.d.ts +10 -0
  10. package/dist/helpers/model-builder.d.ts.map +1 -0
  11. package/dist/helpers/model-builder.js +64 -0
  12. package/dist/helpers/model-builder.js.map +1 -0
  13. package/dist/helpers/pagination.d.ts +13 -0
  14. package/dist/helpers/pagination.d.ts.map +1 -0
  15. package/dist/helpers/pagination.js +56 -0
  16. package/dist/helpers/pagination.js.map +1 -0
  17. package/dist/helpers/serialization.d.ts +7 -0
  18. package/dist/helpers/serialization.d.ts.map +1 -0
  19. package/dist/helpers/serialization.js +36 -0
  20. package/dist/helpers/serialization.js.map +1 -0
  21. package/dist/index.d.ts +3 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +13 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/resources/api-docs.d.ts +3 -0
  26. package/dist/resources/api-docs.d.ts.map +1 -0
  27. package/dist/resources/api-docs.js +63 -0
  28. package/dist/resources/api-docs.js.map +1 -0
  29. package/dist/resources/filter-docs.d.ts +3 -0
  30. package/dist/resources/filter-docs.d.ts.map +1 -0
  31. package/dist/resources/filter-docs.js +56 -0
  32. package/dist/resources/filter-docs.js.map +1 -0
  33. package/dist/resources/model-docs.d.ts +3 -0
  34. package/dist/resources/model-docs.d.ts.map +1 -0
  35. package/dist/resources/model-docs.js +59 -0
  36. package/dist/resources/model-docs.js.map +1 -0
  37. package/dist/resources/overview.d.ts +3 -0
  38. package/dist/resources/overview.d.ts.map +1 -0
  39. package/dist/resources/overview.js +76 -0
  40. package/dist/resources/overview.js.map +1 -0
  41. package/dist/resources/search.d.ts +3 -0
  42. package/dist/resources/search.d.ts.map +1 -0
  43. package/dist/resources/search.js +121 -0
  44. package/dist/resources/search.js.map +1 -0
  45. package/dist/resources/tutorial-docs.d.ts +3 -0
  46. package/dist/resources/tutorial-docs.d.ts.map +1 -0
  47. package/dist/resources/tutorial-docs.js +42 -0
  48. package/dist/resources/tutorial-docs.js.map +1 -0
  49. package/dist/server.d.ts +3 -0
  50. package/dist/server.d.ts.map +1 -0
  51. package/dist/server.js +38 -0
  52. package/dist/server.js.map +1 -0
  53. package/dist/tools/admin-tools.d.ts +3 -0
  54. package/dist/tools/admin-tools.d.ts.map +1 -0
  55. package/dist/tools/admin-tools.js +13 -0
  56. package/dist/tools/admin-tools.js.map +1 -0
  57. package/dist/tools/crypto-tools.d.ts +3 -0
  58. package/dist/tools/crypto-tools.d.ts.map +1 -0
  59. package/dist/tools/crypto-tools.js +13 -0
  60. package/dist/tools/crypto-tools.js.map +1 -0
  61. package/dist/tools/data-owner-tools.d.ts +3 -0
  62. package/dist/tools/data-owner-tools.d.ts.map +1 -0
  63. package/dist/tools/data-owner-tools.js +24 -0
  64. package/dist/tools/data-owner-tools.js.map +1 -0
  65. package/dist/tools/dispatch.d.ts +16 -0
  66. package/dist/tools/dispatch.d.ts.map +1 -0
  67. package/dist/tools/dispatch.js +141 -0
  68. package/dist/tools/dispatch.js.map +1 -0
  69. package/dist/tools/init.d.ts +3 -0
  70. package/dist/tools/init.d.ts.map +1 -0
  71. package/dist/tools/init.js +45 -0
  72. package/dist/tools/init.js.map +1 -0
  73. package/dist/tools/sdk-state.d.ts +5 -0
  74. package/dist/tools/sdk-state.d.ts.map +1 -0
  75. package/dist/tools/sdk-state.js +14 -0
  76. package/dist/tools/sdk-state.js.map +1 -0
  77. package/generated/docs-manifest.json +33264 -0
  78. package/generated/method-registry.ts +9453 -0
  79. package/package.json +45 -0
@@ -0,0 +1,45 @@
1
+ import { z } from "zod";
2
+ import { setSdk } from "./sdk-state.js";
3
+ export function registerInitTool(server) {
4
+ server.tool("cardinal_init", "Initialize the Cardinal SDK with credentials. Required before using operational tools.", {
5
+ baseUrl: z.string().describe("Cardinal API URL (e.g., https://api.icure.cloud)"),
6
+ username: z.string().describe("User login (User.id, Group:User.id, User.login, or User.email)"),
7
+ password: z.string().describe("User password"),
8
+ projectId: z.string().optional().describe("Optional project ID"),
9
+ storageDir: z.string().optional().default("./cardinal-mcp-storage")
10
+ .describe("Directory for crypto key storage"),
11
+ }, async ({ baseUrl, username, password, projectId, storageDir }) => {
12
+ try {
13
+ // Dynamic import to avoid loading the SDK until needed
14
+ const { CardinalSdk } = await import("@icure/cardinal-sdk/sdk/CardinalSdk.mjs");
15
+ const { AuthenticationMethod } = await import("@icure/cardinal-sdk/options/AuthenticationMethod.mjs");
16
+ const { StorageFacade } = await import("@icure/cardinal-sdk/storage/StorageFacade.mjs");
17
+ const authMethod = new AuthenticationMethod.UsingCredentials.UsernamePassword(username, password);
18
+ const storage = StorageFacade.usingFileSystem(storageDir);
19
+ const sdk = await CardinalSdk.initialize(projectId || undefined, baseUrl, authMethod, storage);
20
+ setSdk(sdk);
21
+ return {
22
+ content: [{
23
+ type: "text",
24
+ text: JSON.stringify({
25
+ status: "initialized",
26
+ baseUrl,
27
+ username,
28
+ message: "Cardinal SDK initialized successfully. You can now use operational tools.",
29
+ }, null, 2),
30
+ }],
31
+ };
32
+ }
33
+ catch (err) {
34
+ const message = err instanceof Error ? err.message : String(err);
35
+ return {
36
+ content: [{
37
+ type: "text",
38
+ text: JSON.stringify({ error: `Failed to initialize SDK: ${message}` }),
39
+ }],
40
+ isError: true,
41
+ };
42
+ }
43
+ });
44
+ }
45
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/tools/init.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IACjD,MAAM,CAAC,IAAI,CACV,eAAe,EACf,wFAAwF,EACxF;QACC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;QAChF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;QAC/F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC9C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAChE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC;aACjE,QAAQ,CAAC,kCAAkC,CAAC;KAC9C,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE;QAChE,IAAI,CAAC;YACJ,uDAAuD;YACvD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,yCAAyC,CAAC,CAAC;YAChF,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,sDAAsD,CAAC,CAAC;YACtG,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,+CAA+C,CAAC,CAAC;YAExF,MAAM,UAAU,GAAG,IAAI,oBAAoB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAClG,MAAM,OAAO,GAAG,aAAa,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YAE1D,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,UAAU,CACvC,SAAS,IAAI,SAAS,EACtB,OAAO,EACP,UAAU,EACV,OAAO,CACP,CAAC;YAEF,MAAM,CAAC,GAAG,CAAC,CAAC;YAEZ,OAAO;gBACN,OAAO,EAAE,CAAC;wBACT,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACpB,MAAM,EAAE,aAAa;4BACrB,OAAO;4BACP,QAAQ;4BACR,OAAO,EAAE,2EAA2E;yBACpF,EAAE,IAAI,EAAE,CAAC,CAAC;qBACX,CAAC;aACF,CAAC;QACH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO;gBACN,OAAO,EAAE,CAAC;wBACT,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,6BAA6B,OAAO,EAAE,EAAE,CAAC;qBACvE,CAAC;gBACF,OAAO,EAAE,IAAI;aACb,CAAC;QACH,CAAC;IACF,CAAC,CACD,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { CardinalSdk } from "@icure/cardinal-sdk";
2
+ export declare function getSdk(): CardinalSdk;
3
+ export declare function setSdk(sdk: CardinalSdk): void;
4
+ export declare function isSdkInitialized(): boolean;
5
+ //# sourceMappingURL=sdk-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-state.d.ts","sourceRoot":"","sources":["../../src/tools/sdk-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIvD,wBAAgB,MAAM,IAAI,WAAW,CAKpC;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAE7C;AAED,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C"}
@@ -0,0 +1,14 @@
1
+ let sdkInstance = null;
2
+ export function getSdk() {
3
+ if (!sdkInstance) {
4
+ throw new Error("SDK not initialized. Call cardinal_init first.");
5
+ }
6
+ return sdkInstance;
7
+ }
8
+ export function setSdk(sdk) {
9
+ sdkInstance = sdk;
10
+ }
11
+ export function isSdkInitialized() {
12
+ return sdkInstance !== null;
13
+ }
14
+ //# sourceMappingURL=sdk-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-state.js","sourceRoot":"","sources":["../../src/tools/sdk-state.ts"],"names":[],"mappings":"AAEA,IAAI,WAAW,GAAuB,IAAI,CAAC;AAE3C,MAAM,UAAU,MAAM;IACrB,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAgB;IACtC,WAAW,GAAG,GAAG,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC/B,OAAO,WAAW,KAAK,IAAI,CAAC;AAC7B,CAAC"}