mcp-creatio 0.4.0 → 0.5.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 (215) hide show
  1. package/README.md +252 -212
  2. package/dist/cli.d.ts +5 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +18 -11
  5. package/dist/cli.js.map +1 -1
  6. package/dist/creatio/auth/auth.d.ts +2 -0
  7. package/dist/creatio/auth/auth.d.ts.map +1 -1
  8. package/dist/creatio/auth/auth.js.map +1 -1
  9. package/dist/creatio/auth/providers/base-provider.d.ts +1 -0
  10. package/dist/creatio/auth/providers/base-provider.d.ts.map +1 -1
  11. package/dist/creatio/auth/providers/base-provider.js +3 -0
  12. package/dist/creatio/auth/providers/base-provider.js.map +1 -1
  13. package/dist/creatio/auth/providers/oauth2-code-provider.d.ts +3 -0
  14. package/dist/creatio/auth/providers/oauth2-code-provider.d.ts.map +1 -1
  15. package/dist/creatio/auth/providers/oauth2-code-provider.js +30 -24
  16. package/dist/creatio/auth/providers/oauth2-code-provider.js.map +1 -1
  17. package/dist/creatio/providers/configuration-provider.d.ts +3 -2
  18. package/dist/creatio/providers/configuration-provider.d.ts.map +1 -1
  19. package/dist/creatio/providers/crud-provider.d.ts +2 -0
  20. package/dist/creatio/providers/crud-provider.d.ts.map +1 -1
  21. package/dist/creatio/services/configuration-service-provider.d.ts.map +1 -1
  22. package/dist/creatio/services/configuration-service-provider.js +11 -3
  23. package/dist/creatio/services/configuration-service-provider.js.map +1 -1
  24. package/dist/creatio/services/http-client.d.ts.map +1 -1
  25. package/dist/creatio/services/http-client.js +0 -1
  26. package/dist/creatio/services/http-client.js.map +1 -1
  27. package/dist/creatio/services/metadata-store.d.ts +5 -0
  28. package/dist/creatio/services/metadata-store.d.ts.map +1 -1
  29. package/dist/creatio/services/metadata-store.js +18 -6
  30. package/dist/creatio/services/metadata-store.js.map +1 -1
  31. package/dist/creatio/services/odata-crud-provider.d.ts +3 -1
  32. package/dist/creatio/services/odata-crud-provider.d.ts.map +1 -1
  33. package/dist/creatio/services/odata-crud-provider.js +31 -8
  34. package/dist/creatio/services/odata-crud-provider.js.map +1 -1
  35. package/dist/server/http/creatio-oauth-handlers.d.ts +0 -1
  36. package/dist/server/http/creatio-oauth-handlers.d.ts.map +1 -1
  37. package/dist/server/http/creatio-oauth-handlers.js +30 -23
  38. package/dist/server/http/creatio-oauth-handlers.js.map +1 -1
  39. package/dist/server/http/httpServer.d.ts +9 -0
  40. package/dist/server/http/httpServer.d.ts.map +1 -1
  41. package/dist/server/http/httpServer.js +34 -11
  42. package/dist/server/http/httpServer.js.map +1 -1
  43. package/dist/server/http/mcp-handlers.d.ts.map +1 -1
  44. package/dist/server/http/mcp-handlers.js +4 -1
  45. package/dist/server/http/mcp-handlers.js.map +1 -1
  46. package/dist/server/http/mcp-oauth-handlers.d.ts.map +1 -1
  47. package/dist/server/http/mcp-oauth-handlers.js +18 -6
  48. package/dist/server/http/mcp-oauth-handlers.js.map +1 -1
  49. package/dist/server/http/middleware.d.ts +7 -0
  50. package/dist/server/http/middleware.d.ts.map +1 -1
  51. package/dist/server/http/middleware.js +23 -0
  52. package/dist/server/http/middleware.js.map +1 -1
  53. package/dist/server/http/rate-limiter.d.ts +24 -0
  54. package/dist/server/http/rate-limiter.d.ts.map +1 -0
  55. package/dist/server/http/rate-limiter.js +42 -0
  56. package/dist/server/http/rate-limiter.js.map +1 -0
  57. package/dist/server/mcp/creatio-rest.d.ts +44 -0
  58. package/dist/server/mcp/creatio-rest.d.ts.map +1 -0
  59. package/dist/server/mcp/creatio-rest.js +26 -0
  60. package/dist/server/mcp/creatio-rest.js.map +1 -0
  61. package/dist/server/mcp/crtmcp/crt-mcp-client.d.ts +55 -0
  62. package/dist/server/mcp/crtmcp/crt-mcp-client.d.ts.map +1 -0
  63. package/dist/server/mcp/crtmcp/crt-mcp-client.js +67 -0
  64. package/dist/server/mcp/crtmcp/crt-mcp-client.js.map +1 -0
  65. package/dist/server/mcp/crtmcp/crt-mcp-tool-preparer.d.ts +20 -0
  66. package/dist/server/mcp/crtmcp/crt-mcp-tool-preparer.d.ts.map +1 -0
  67. package/dist/server/mcp/crtmcp/crt-mcp-tool-preparer.js +74 -0
  68. package/dist/server/mcp/crtmcp/crt-mcp-tool-preparer.js.map +1 -0
  69. package/dist/server/mcp/dataforge/dataforge-client.d.ts +64 -0
  70. package/dist/server/mcp/dataforge/dataforge-client.d.ts.map +1 -0
  71. package/dist/server/mcp/dataforge/dataforge-client.js +130 -0
  72. package/dist/server/mcp/dataforge/dataforge-client.js.map +1 -0
  73. package/dist/server/mcp/dataforge/dataforge-tool-preparer.d.ts +17 -0
  74. package/dist/server/mcp/dataforge/dataforge-tool-preparer.d.ts.map +1 -0
  75. package/dist/server/mcp/dataforge/dataforge-tool-preparer.js +42 -0
  76. package/dist/server/mcp/dataforge/dataforge-tool-preparer.js.map +1 -0
  77. package/dist/server/mcp/filters.d.ts.map +1 -1
  78. package/dist/server/mcp/filters.js +20 -4
  79. package/dist/server/mcp/filters.js.map +1 -1
  80. package/dist/server/mcp/globalsearch/globalsearch-client.d.ts +50 -0
  81. package/dist/server/mcp/globalsearch/globalsearch-client.d.ts.map +1 -0
  82. package/dist/server/mcp/globalsearch/globalsearch-client.js +118 -0
  83. package/dist/server/mcp/globalsearch/globalsearch-client.js.map +1 -0
  84. package/dist/server/mcp/globalsearch/globalsearch-tool-preparer.d.ts +16 -0
  85. package/dist/server/mcp/globalsearch/globalsearch-tool-preparer.d.ts.map +1 -0
  86. package/dist/server/mcp/globalsearch/globalsearch-tool-preparer.js +34 -0
  87. package/dist/server/mcp/globalsearch/globalsearch-tool-preparer.js.map +1 -0
  88. package/dist/server/mcp/json-schema-to-zod.d.ts +3 -0
  89. package/dist/server/mcp/json-schema-to-zod.d.ts.map +1 -0
  90. package/dist/server/mcp/json-schema-to-zod.js +54 -0
  91. package/dist/server/mcp/json-schema-to-zod.js.map +1 -0
  92. package/dist/server/mcp/server.d.ts +18 -0
  93. package/dist/server/mcp/server.d.ts.map +1 -1
  94. package/dist/server/mcp/server.js +93 -25
  95. package/dist/server/mcp/server.js.map +1 -1
  96. package/dist/server/mcp/tool-preparer.d.ts +26 -0
  97. package/dist/server/mcp/tool-preparer.d.ts.map +1 -0
  98. package/dist/server/mcp/tool-preparer.js +11 -0
  99. package/dist/server/mcp/tool-preparer.js.map +1 -0
  100. package/dist/server/mcp/tools-data.d.ts +69 -10
  101. package/dist/server/mcp/tools-data.d.ts.map +1 -1
  102. package/dist/server/mcp/tools-data.js +222 -32
  103. package/dist/server/mcp/tools-data.js.map +1 -1
  104. package/dist/server/oauth/oauth-server.d.ts +0 -1
  105. package/dist/server/oauth/oauth-server.d.ts.map +1 -1
  106. package/dist/server/oauth/oauth-server.js +11 -21
  107. package/dist/server/oauth/oauth-server.js.map +1 -1
  108. package/dist/server/oauth/storage.d.ts +0 -2
  109. package/dist/server/oauth/storage.d.ts.map +1 -1
  110. package/dist/server/oauth/storage.js +0 -6
  111. package/dist/server/oauth/storage.js.map +1 -1
  112. package/dist/server/oauth/validators.d.ts +6 -0
  113. package/dist/server/oauth/validators.d.ts.map +1 -1
  114. package/dist/server/oauth/validators.js +28 -0
  115. package/dist/server/oauth/validators.js.map +1 -1
  116. package/dist/services/session-context.d.ts +8 -7
  117. package/dist/services/session-context.d.ts.map +1 -1
  118. package/dist/services/session-context.js +7 -27
  119. package/dist/services/session-context.js.map +1 -1
  120. package/package.json +18 -9
  121. package/.dockerignore +0 -12
  122. package/.editorconfig +0 -14
  123. package/.eslintrc.cjs +0 -18
  124. package/.gitattributes +0 -8
  125. package/.github/workflows/docker-publish.yml +0 -50
  126. package/.prettierignore +0 -3
  127. package/.prettierrc +0 -9
  128. package/.vscode/launch.json +0 -23
  129. package/.vscode/mcp.json +0 -13
  130. package/.vscode/settings.json +0 -16
  131. package/Agent.md +0 -190
  132. package/Debug.md +0 -32
  133. package/Dockerfile +0 -23
  134. package/docs/coding-style.md +0 -30
  135. package/eslint.config.cjs +0 -95
  136. package/src/cli.ts +0 -162
  137. package/src/config-builder.ts +0 -76
  138. package/src/consts.ts +0 -3
  139. package/src/creatio/auth/auth-manager.ts +0 -27
  140. package/src/creatio/auth/auth.ts +0 -31
  141. package/src/creatio/auth/index.ts +0 -3
  142. package/src/creatio/auth/providers/base-oauth2-provider.ts +0 -62
  143. package/src/creatio/auth/providers/base-provider.ts +0 -42
  144. package/src/creatio/auth/providers/index.ts +0 -4
  145. package/src/creatio/auth/providers/legacy-provider.ts +0 -70
  146. package/src/creatio/auth/providers/oauth2-code-provider.ts +0 -252
  147. package/src/creatio/auth/providers/oauth2-provider.ts +0 -91
  148. package/src/creatio/auth/providers/type.ts +0 -5
  149. package/src/creatio/client-config.ts +0 -34
  150. package/src/creatio/engines/admin-operation/admin-operation-engine.ts +0 -44
  151. package/src/creatio/engines/configuration/configuration-engine.ts +0 -26
  152. package/src/creatio/engines/crud/crud-engine.ts +0 -47
  153. package/src/creatio/engines/engine-manager.ts +0 -157
  154. package/src/creatio/engines/engine-registry.ts +0 -39
  155. package/src/creatio/engines/engine.ts +0 -3
  156. package/src/creatio/engines/feature/feature-engine.ts +0 -20
  157. package/src/creatio/engines/index.ts +0 -10
  158. package/src/creatio/engines/process/process-engine.ts +0 -20
  159. package/src/creatio/engines/sys-settings/sys-settings-engine.ts +0 -41
  160. package/src/creatio/engines/user/user-engine.ts +0 -20
  161. package/src/creatio/index.ts +0 -6
  162. package/src/creatio/provider-context.ts +0 -21
  163. package/src/creatio/providers/admin-operation-provider.ts +0 -34
  164. package/src/creatio/providers/configuration-provider.ts +0 -22
  165. package/src/creatio/providers/crud-provider.ts +0 -45
  166. package/src/creatio/providers/feature-provider.ts +0 -10
  167. package/src/creatio/providers/index.ts +0 -7
  168. package/src/creatio/providers/process-provider.ts +0 -15
  169. package/src/creatio/providers/sys-settings-provider.ts +0 -63
  170. package/src/creatio/providers/user-provider.ts +0 -12
  171. package/src/creatio/services/admin-operation-service-provider.ts +0 -115
  172. package/src/creatio/services/configuration-service-provider.ts +0 -127
  173. package/src/creatio/services/creatio-service-context.ts +0 -55
  174. package/src/creatio/services/feature-service-provider.ts +0 -60
  175. package/src/creatio/services/http-client.ts +0 -174
  176. package/src/creatio/services/index.ts +0 -10
  177. package/src/creatio/services/metadata-store.ts +0 -181
  178. package/src/creatio/services/odata-crud-provider.ts +0 -210
  179. package/src/creatio/services/process-service-provider.ts +0 -76
  180. package/src/creatio/services/sys-settings-service-provider.ts +0 -192
  181. package/src/creatio/services/user-info-provider.ts +0 -41
  182. package/src/index.ts +0 -44
  183. package/src/log.ts +0 -183
  184. package/src/server/http/creatio-oauth-handlers.ts +0 -146
  185. package/src/server/http/httpServer.ts +0 -150
  186. package/src/server/http/index.ts +0 -5
  187. package/src/server/http/mcp-handlers.ts +0 -92
  188. package/src/server/http/mcp-oauth-handlers.ts +0 -108
  189. package/src/server/http/middleware.ts +0 -91
  190. package/src/server/index.ts +0 -2
  191. package/src/server/mcp/filters.ts +0 -97
  192. package/src/server/mcp/index.ts +0 -1
  193. package/src/server/mcp/prompts-data.ts +0 -1292
  194. package/src/server/mcp/server.ts +0 -442
  195. package/src/server/mcp/tools-data.ts +0 -748
  196. package/src/server/oauth/client-manager.ts +0 -47
  197. package/src/server/oauth/index.ts +0 -6
  198. package/src/server/oauth/oauth-server.ts +0 -185
  199. package/src/server/oauth/storage.ts +0 -106
  200. package/src/server/oauth/token-manager.ts +0 -80
  201. package/src/server/oauth/types.ts +0 -55
  202. package/src/server/oauth/validators.ts +0 -56
  203. package/src/services/index.ts +0 -2
  204. package/src/services/session-context.ts +0 -232
  205. package/src/services/token-refresh-scheduler.ts +0 -68
  206. package/src/types/index.ts +0 -1
  207. package/src/types/network.ts +0 -7
  208. package/src/utils/context.ts +0 -49
  209. package/src/utils/env.ts +0 -12
  210. package/src/utils/index.ts +0 -5
  211. package/src/utils/mcp.ts +0 -8
  212. package/src/utils/network.ts +0 -65
  213. package/src/utils/pkce.ts +0 -39
  214. package/src/version.ts +0 -15
  215. package/tsconfig.json +0 -28
@@ -0,0 +1,50 @@
1
+ import { ConfigurationCaller, SysSettingReader } from '../creatio-rest';
2
+ /**
3
+ * Global Search access layer.
4
+ *
5
+ * Single responsibility: call the Creatio-hosted `GlobalSearchService` (which
6
+ * proxies Elasticsearch) and expose an availability probe. Knows nothing about
7
+ * MCP tool registration.
8
+ *
9
+ * `GlobalSearchService.Search` uses `[WebInvoke(BodyStyle = Wrapped)]` with
10
+ * several primitive parameters, so the request body is a FLAT object with one
11
+ * top-level key per parameter (unlike DataForge's single wrapped `request`).
12
+ */
13
+ export interface GlobalSearchQuery {
14
+ /** Free-text search string. */
15
+ query: string;
16
+ /** Optional comma-separated entity schema names to restrict the search to. */
17
+ type?: string | undefined;
18
+ /** Optional current section entity name (UI context). */
19
+ sectionEntityName?: string | undefined;
20
+ /** Max records to return. */
21
+ recordCount?: number | undefined;
22
+ /** Pagination offset. */
23
+ from?: number | undefined;
24
+ }
25
+ export declare class GlobalSearchClient {
26
+ private readonly _configuration;
27
+ private readonly _sysSettings;
28
+ constructor(configuration: ConfigurationCaller, sysSettings: SysSettingReader);
29
+ /**
30
+ * Whether Global Search is configured on this environment. Gated on a non-empty
31
+ * `GlobalSearchUrl`. Note: the platform additionally requires the `GlobalSearch_V2`
32
+ * feature; a configured URL is the cheap operator-facing signal used to decide
33
+ * whether to expose the tool. Probe failures degrade to "disabled".
34
+ */
35
+ isEnabled(): Promise<boolean>;
36
+ /**
37
+ * Run a global search and return a compact, UI-like result: per match the
38
+ * entity, record id, a display title, and the highlighted `matched` columns —
39
+ * plus `total`/`nextFrom` for paging. (The raw service returns every indexed
40
+ * column of every record as a stringified `SearchResult`; that is far too large
41
+ * to hand to an LLM, so we parse and project it. Use `read` with the id for the
42
+ * full record.)
43
+ */
44
+ search(q: GlobalSearchQuery): Promise<unknown>;
45
+ /** Parse the stringified `SearchResult` envelope and project it to a compact shape. */
46
+ private _project;
47
+ /** Best-effort human title from a record's column values (string or `{ displayValue }`). */
48
+ private _displayName;
49
+ }
50
+ //# sourceMappingURL=globalsearch-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globalsearch-client.d.ts","sourceRoot":"","sources":["../../../../src/server/mcp/globalsearch/globalsearch-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAsB,MAAM,iBAAiB,CAAC;AAE5F;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,iBAAiB;IACjC,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,yBAAyB;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAQD,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;gBAEpC,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,gBAAgB;IAK7E;;;;;OAKG;IACU,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAU1C;;;;;;;OAOG;IACU,MAAM,CAAC,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAuB3D,uFAAuF;IACvF,OAAO,CAAC,QAAQ;IAoChB,4FAA4F;IAC5F,OAAO,CAAC,YAAY;CAmBpB"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.GlobalSearchClient = void 0;
7
+ const log_1 = __importDefault(require("../../../log"));
8
+ const creatio_rest_1 = require("../creatio-rest");
9
+ const SEARCH_SERVICE = 'GlobalSearchService';
10
+ // Either URL being set is the operator-facing signal that Global Search is wired;
11
+ // `GlobalSearchUrl` (the Elasticsearch endpoint) is the core requirement.
12
+ const SEARCH_URL_SETTING = 'GlobalSearchUrl';
13
+ const DEFAULT_RECORD_COUNT = 15;
14
+ class GlobalSearchClient {
15
+ _configuration;
16
+ _sysSettings;
17
+ constructor(configuration, sysSettings) {
18
+ this._configuration = configuration;
19
+ this._sysSettings = sysSettings;
20
+ }
21
+ /**
22
+ * Whether Global Search is configured on this environment. Gated on a non-empty
23
+ * `GlobalSearchUrl`. Note: the platform additionally requires the `GlobalSearch_V2`
24
+ * feature; a configured URL is the cheap operator-facing signal used to decide
25
+ * whether to expose the tool. Probe failures degrade to "disabled".
26
+ */
27
+ async isEnabled() {
28
+ try {
29
+ const response = await this._sysSettings.queryValues([SEARCH_URL_SETTING]);
30
+ return (0, creatio_rest_1.hasNonEmptySetting)(response, SEARCH_URL_SETTING);
31
+ }
32
+ catch (err) {
33
+ log_1.default.warn('globalsearch.probe.failed', { error: String(err) });
34
+ return false;
35
+ }
36
+ }
37
+ /**
38
+ * Run a global search and return a compact, UI-like result: per match the
39
+ * entity, record id, a display title, and the highlighted `matched` columns —
40
+ * plus `total`/`nextFrom` for paging. (The raw service returns every indexed
41
+ * column of every record as a stringified `SearchResult`; that is far too large
42
+ * to hand to an LLM, so we parse and project it. Use `read` with the id for the
43
+ * full record.)
44
+ */
45
+ async search(q) {
46
+ // `GlobalSearchService.Search(queryString, sectionEntityName, recordCount, type="", from=0)`
47
+ // — the first three parameters have no defaults, so the WCF Wrapped body MUST
48
+ // include them or binding fails with HTTP 400. `type` is optional; only send it
49
+ // when filtering, mirroring the UI call.
50
+ const body = {
51
+ queryString: q.query,
52
+ sectionEntityName: q.sectionEntityName ?? '',
53
+ recordCount: q.recordCount ?? DEFAULT_RECORD_COUNT,
54
+ from: q.from ?? 0,
55
+ };
56
+ if (q.type) {
57
+ body.type = q.type;
58
+ }
59
+ const response = await this._configuration.call({
60
+ service: SEARCH_SERVICE,
61
+ method: 'Search',
62
+ httpMethod: 'POST',
63
+ body,
64
+ });
65
+ return this._project(response.body);
66
+ }
67
+ /** Parse the stringified `SearchResult` envelope and project it to a compact shape. */
68
+ _project(body) {
69
+ const raw = body?.SearchResult;
70
+ let parsed = raw;
71
+ if (typeof raw === 'string') {
72
+ try {
73
+ parsed = JSON.parse(raw);
74
+ }
75
+ catch {
76
+ return body;
77
+ }
78
+ }
79
+ const p = parsed;
80
+ if (!p || !Array.isArray(p.data)) {
81
+ return parsed ?? body;
82
+ }
83
+ return {
84
+ success: p.success,
85
+ total: p.total,
86
+ nextFrom: p.nextFrom,
87
+ took: p.took,
88
+ errorInfo: p.errorInfo ?? null,
89
+ results: p.data.map((r) => ({
90
+ entityName: r.entityName,
91
+ id: r.id,
92
+ title: this._displayName(r.columnValues),
93
+ matched: r.foundColumns,
94
+ })),
95
+ };
96
+ }
97
+ /** Best-effort human title from a record's column values (string or `{ displayValue }`). */
98
+ _displayName(columnValues) {
99
+ if (!columnValues || typeof columnValues !== 'object') {
100
+ return undefined;
101
+ }
102
+ const cv = columnValues;
103
+ for (const key of ['Name', 'Title', 'LeadName', 'BpmName', 'Subject', 'Number', 'Email']) {
104
+ const v = cv[key];
105
+ const s = typeof v === 'string'
106
+ ? v
107
+ : v && typeof v === 'object'
108
+ ? v.displayValue
109
+ : undefined;
110
+ if (typeof s === 'string' && s.trim().length > 0) {
111
+ return s.trim();
112
+ }
113
+ }
114
+ return undefined;
115
+ }
116
+ }
117
+ exports.GlobalSearchClient = GlobalSearchClient;
118
+ //# sourceMappingURL=globalsearch-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globalsearch-client.js","sourceRoot":"","sources":["../../../../src/server/mcp/globalsearch/globalsearch-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { ToolPreparer, ToolRegistrar } from '../tool-preparer';
2
+ import { GlobalSearchClient } from './globalsearch-client';
3
+ /** Stable capability key. */
4
+ export declare const GLOBAL_SEARCH_CAPABILITY = "global-search";
5
+ /**
6
+ * Registers the `global-search` tool, but only when Global Search is enabled on
7
+ * the environment. Encapsulates everything Global-Search-specific so the Server
8
+ * stays agnostic (Open/Closed: adding capabilities = adding preparers).
9
+ */
10
+ export declare class GlobalSearchToolPreparer implements ToolPreparer {
11
+ readonly name = "global-search";
12
+ private readonly _client;
13
+ constructor(client: GlobalSearchClient);
14
+ prepare(registrar: ToolRegistrar): Promise<boolean>;
15
+ }
16
+ //# sourceMappingURL=globalsearch-tool-preparer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globalsearch-tool-preparer.d.ts","sourceRoot":"","sources":["../../../../src/server/mcp/globalsearch/globalsearch-tool-preparer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAG/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,6BAA6B;AAC7B,eAAO,MAAM,wBAAwB,kBAAkB,CAAC;AAExD;;;;GAIG;AACH,qBAAa,wBAAyB,YAAW,YAAY;IAC5D,SAAgB,IAAI,mBAA4B;IAEhD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;gBAEjC,MAAM,EAAE,kBAAkB;IAIzB,OAAO,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;CAmBhE"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GlobalSearchToolPreparer = exports.GLOBAL_SEARCH_CAPABILITY = void 0;
4
+ const utils_1 = require("../../../utils");
5
+ const tools_data_1 = require("../tools-data");
6
+ /** Stable capability key. */
7
+ exports.GLOBAL_SEARCH_CAPABILITY = 'global-search';
8
+ /**
9
+ * Registers the `global-search` tool, but only when Global Search is enabled on
10
+ * the environment. Encapsulates everything Global-Search-specific so the Server
11
+ * stays agnostic (Open/Closed: adding capabilities = adding preparers).
12
+ */
13
+ class GlobalSearchToolPreparer {
14
+ name = exports.GLOBAL_SEARCH_CAPABILITY;
15
+ _client;
16
+ constructor(client) {
17
+ this._client = client;
18
+ }
19
+ async prepare(registrar) {
20
+ const enabled = await this._client.isEnabled();
21
+ if (!enabled) {
22
+ return false;
23
+ }
24
+ registrar.register('global-search', tools_data_1.globalSearchDescriptor, (0, utils_1.withValidation)(tools_data_1.globalSearchInput, ({ query, entities, limit, from }) => this._client.search({
25
+ query,
26
+ type: entities && entities.length > 0 ? entities.join(',') : undefined,
27
+ recordCount: limit,
28
+ from,
29
+ })));
30
+ return true;
31
+ }
32
+ }
33
+ exports.GlobalSearchToolPreparer = GlobalSearchToolPreparer;
34
+ //# sourceMappingURL=globalsearch-tool-preparer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globalsearch-tool-preparer.js","sourceRoot":"","sources":["../../../../src/server/mcp/globalsearch/globalsearch-tool-preparer.ts"],"names":[],"mappings":";;;AAAA,0CAAgD;AAEhD,8CAA0E;AAI1E,6BAA6B;AAChB,QAAA,wBAAwB,GAAG,eAAe,CAAC;AAExD;;;;GAIG;AACH,MAAa,wBAAwB;IACpB,IAAI,GAAG,gCAAwB,CAAC;IAE/B,OAAO,CAAqB;IAE7C,YAAY,MAA0B;QACrC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,SAAwB;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,KAAK,CAAC;QACd,CAAC;QACD,SAAS,CAAC,QAAQ,CACjB,eAAe,EACf,mCAAsB,EACtB,IAAA,sBAAc,EAAC,8BAAiB,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CACtE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACnB,KAAK;YACL,IAAI,EAAE,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;YACtE,WAAW,EAAE,KAAK;YAClB,IAAI;SACJ,CAAC,CACF,CACD,CAAC;QACF,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AA5BD,4DA4BC"}
@@ -0,0 +1,3 @@
1
+ import { z } from 'zod';
2
+ export declare function jsonSchemaToZodShape(schema: unknown): Record<string, z.ZodTypeAny>;
3
+ //# sourceMappingURL=json-schema-to-zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema-to-zod.d.ts","sourceRoot":"","sources":["../../../src/server/mcp/json-schema-to-zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsBxB,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAUlF"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.jsonSchemaToZodShape = jsonSchemaToZodShape;
4
+ const zod_1 = require("zod");
5
+ function jsonSchemaToZodShape(schema) {
6
+ const node = asNode(schema);
7
+ const properties = isRecord(node.properties) ? node.properties : {};
8
+ const required = new Set(Array.isArray(node.required) ? node.required : []);
9
+ const shape = {};
10
+ for (const [key, raw] of Object.entries(properties)) {
11
+ const zodType = nodeToZod(raw);
12
+ shape[key] = required.has(key) ? zodType : zodType.optional();
13
+ }
14
+ return shape;
15
+ }
16
+ function nodeToZod(raw) {
17
+ const node = asNode(raw);
18
+ let zodType = baseType(node);
19
+ if (typeof node.description === 'string' && node.description.length > 0) {
20
+ zodType = zodType.describe(node.description);
21
+ }
22
+ return zodType;
23
+ }
24
+ function baseType(node) {
25
+ if (Array.isArray(node.enum) && node.enum.length > 0) {
26
+ const literals = node.enum.map((value) => zod_1.z.literal(value));
27
+ return literals.length === 1
28
+ ? literals[0]
29
+ : zod_1.z.union(literals);
30
+ }
31
+ switch (node.type) {
32
+ case 'string':
33
+ return zod_1.z.string();
34
+ case 'integer':
35
+ return zod_1.z.number().int();
36
+ case 'number':
37
+ return zod_1.z.number();
38
+ case 'boolean':
39
+ return zod_1.z.boolean();
40
+ case 'array':
41
+ return zod_1.z.array(node.items === undefined ? zod_1.z.any() : nodeToZod(node.items));
42
+ case 'object':
43
+ return zod_1.z.record(zod_1.z.string(), zod_1.z.any());
44
+ default:
45
+ return zod_1.z.any();
46
+ }
47
+ }
48
+ function asNode(value) {
49
+ return isRecord(value) ? value : {};
50
+ }
51
+ function isRecord(value) {
52
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
53
+ }
54
+ //# sourceMappingURL=json-schema-to-zod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema-to-zod.js","sourceRoot":"","sources":["../../../src/server/mcp/json-schema-to-zod.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,12 @@ export declare class Server {
11
11
  private _readonly;
12
12
  private _serverName;
13
13
  private _serverVersion;
14
+ private readonly _dataForge;
15
+ private readonly _dataForgePreparer;
16
+ private readonly _globalSearchPreparer;
17
+ private readonly _publishedToolsPreparer;
18
+ private readonly _preparers;
19
+ private readonly _capabilities;
14
20
  get authProvider(): ICreatioAuthProvider;
15
21
  constructor(engines: CreatioEngineManager, config: ServerConfig);
16
22
  private _registerData;
@@ -18,6 +24,18 @@ export declare class Server {
18
24
  private _normalizeToToolHandler;
19
25
  private _registerAsTool;
20
26
  private _registerPrompts;
27
+ private _textResult;
28
+ /** Adapter exposing handler registration to {@link ToolPreparer}s. */
29
+ private _toolRegistrar;
30
+ /**
31
+ * Run every optional-capability preparer once: probe the environment and let
32
+ * each register its tools only when available. A failing preparer is isolated
33
+ * and recorded as disabled. Invoked from {@link startMcp} after the core tools
34
+ * are in place.
35
+ */
36
+ private _prepareTools;
37
+ /** Whether DataForge was probed as enabled at startup. */
38
+ private _isDataForgeReady;
21
39
  private _registerClientTools;
22
40
  startMcp(): Promise<McpServer>;
23
41
  stopMcp(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/server/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EACN,oBAAoB,EACpB,oBAAoB,EAEpB,MAAM,eAAe,CAAC;AAgDvB,MAAM,WAAW,YAAY;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,qBAAa,MAAM;IAClB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,IAAI,CAAC,CAAY;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,cAAc,CAAW;IAEjC,IAAW,YAAY,IAAI,oBAAoB,CAE9C;gBAEW,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,YAAY;IAM/D,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,8BAA8B;IAQtC,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,oBAAoB;IAyQf,QAAQ;IAaR,OAAO;CAWpB"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/server/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EACN,oBAAoB,EACpB,oBAAoB,EAEpB,MAAM,eAAe,CAAC;AA0DvB,MAAM,WAAW,YAAY;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,qBAAa,MAAM;IAClB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,IAAI,CAAC,CAAY;IACzB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,cAAc,CAAW;IAIjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwB;IAC3D,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA2B;IACjE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA+B;IACvE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA8B;IAE5D,IAAW,YAAY,IAAI,oBAAoB,CAE9C;gBAEW,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,YAAY;IAoB/D,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,8BAA8B;IAQtC,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,gBAAgB;IAsBxB,OAAO,CAAC,WAAW;IAWnB,sEAAsE;IACtE,OAAO,CAAC,cAAc;IAOtB;;;;;OAKG;YACW,aAAa;IAc3B,0DAA0D;IAC1D,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,oBAAoB;IAsQf,QAAQ;IAqBR,OAAO;CAWpB"}
@@ -8,9 +8,19 @@ const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
8
8
  const log_1 = __importDefault(require("../../log"));
9
9
  const utils_1 = require("../../utils");
10
10
  const version_1 = require("../../version");
11
+ const crt_mcp_client_1 = require("./crtmcp/crt-mcp-client");
12
+ const crt_mcp_tool_preparer_1 = require("./crtmcp/crt-mcp-tool-preparer");
13
+ const dataforge_client_1 = require("./dataforge/dataforge-client");
14
+ const dataforge_tool_preparer_1 = require("./dataforge/dataforge-tool-preparer");
15
+ const globalsearch_client_1 = require("./globalsearch/globalsearch-client");
16
+ const globalsearch_tool_preparer_1 = require("./globalsearch/globalsearch-tool-preparer");
11
17
  const filters_1 = require("./filters");
12
18
  const prompts_data_1 = require("./prompts-data");
13
19
  const tools_data_1 = require("./tools-data");
20
+ /** Default page size for `read` when the caller omits `top`, so we never dump an
21
+ * unbounded result set into the model. Explicit `top` (incl. `0` for count-only)
22
+ * is always respected; paginate further with `skip`. */
23
+ const DEFAULT_READ_TOP = 50;
14
24
  class Server {
15
25
  _engines;
16
26
  _descriptors = new Map();
@@ -19,12 +29,30 @@ class Server {
19
29
  _readonly = false;
20
30
  _serverName = version_1.NAME;
21
31
  _serverVersion = version_1.VERSION;
32
+ // DataForge access layer + optional-capability preparers. `_capabilities`
33
+ // records each preparer's startup verdict so core tools (describe-entity)
34
+ // can route through a capability only when it is actually enabled.
35
+ _dataForge;
36
+ _dataForgePreparer;
37
+ _globalSearchPreparer;
38
+ _publishedToolsPreparer;
39
+ _preparers;
40
+ _capabilities = new Map();
22
41
  get authProvider() {
23
42
  return this._engines.authProvider;
24
43
  }
25
44
  constructor(engines, config) {
26
45
  this._engines = engines;
27
46
  this._readonly = config.readonlyMode ?? false;
47
+ this._dataForge = new dataforge_client_1.DataForgeClient(engines.configuration, engines.sysSettings);
48
+ this._dataForgePreparer = new dataforge_tool_preparer_1.DataForgeToolPreparer(this._dataForge);
49
+ this._globalSearchPreparer = new globalsearch_tool_preparer_1.GlobalSearchToolPreparer(new globalsearch_client_1.GlobalSearchClient(engines.configuration, engines.sysSettings));
50
+ this._publishedToolsPreparer = new crt_mcp_tool_preparer_1.CrtMcpPublishingToolPreparer(new crt_mcp_client_1.CrtMcpPublishingClient(engines.configuration, engines.crud), (0, utils_1.envBool)('ENABLE_PUBLISHED_TOOLS', false));
51
+ this._preparers = [
52
+ this._dataForgePreparer,
53
+ this._globalSearchPreparer,
54
+ this._publishedToolsPreparer,
55
+ ];
28
56
  this._registerClientTools();
29
57
  }
30
58
  _registerData() {
@@ -94,6 +122,46 @@ class Server {
94
122
  log_1.default.warn('mcp.prompts.register.failed', { error: String(err) });
95
123
  }
96
124
  }
125
+ _textResult(payload) {
126
+ return {
127
+ content: [
128
+ {
129
+ type: 'text',
130
+ text: typeof payload === 'string' ? payload : JSON.stringify(payload, null, 2),
131
+ },
132
+ ],
133
+ };
134
+ }
135
+ /** Adapter exposing handler registration to {@link ToolPreparer}s. */
136
+ _toolRegistrar() {
137
+ return {
138
+ register: (name, descriptor, handler) => this._registerHandlerWithDescriptor(name, descriptor, handler),
139
+ };
140
+ }
141
+ /**
142
+ * Run every optional-capability preparer once: probe the environment and let
143
+ * each register its tools only when available. A failing preparer is isolated
144
+ * and recorded as disabled. Invoked from {@link startMcp} after the core tools
145
+ * are in place.
146
+ */
147
+ async _prepareTools() {
148
+ const registrar = this._toolRegistrar();
149
+ for (const preparer of this._preparers) {
150
+ let enabled = false;
151
+ try {
152
+ enabled = await preparer.prepare(registrar);
153
+ }
154
+ catch (err) {
155
+ log_1.default.warn('mcp.prepare.failed', { preparer: preparer.name, error: String(err) });
156
+ }
157
+ this._capabilities.set(preparer.name, enabled);
158
+ log_1.default.info('mcp.prepare', { preparer: preparer.name, enabled });
159
+ }
160
+ }
161
+ /** Whether DataForge was probed as enabled at startup. */
162
+ _isDataForgeReady() {
163
+ return this._capabilities.get(this._dataForgePreparer.name) === true;
164
+ }
97
165
  _registerClientTools() {
98
166
  const crud = this._engines.crud;
99
167
  const user = this._engines.user;
@@ -111,17 +179,19 @@ class Server {
111
179
  };
112
180
  }));
113
181
  this._registerHandlerWithDescriptor('describe-entity', tools_data_1.describeEntityDescriptor, (0, utils_1.withValidation)(tools_data_1.describeEntityInput, async ({ entitySet }) => {
182
+ // When DataForge is enabled, prefer its richer column details and
183
+ // fall back to exact OData $metadata on a per-call miss; when it is
184
+ // not enabled, go straight to OData without any remote attempt.
185
+ if (this._isDataForgeReady()) {
186
+ const dataForge = await this._dataForge.getColumnsOrNull(entitySet);
187
+ if (dataForge !== null) {
188
+ return this._textResult({ source: 'dataforge', entitySet, dataForge });
189
+ }
190
+ }
114
191
  const schema = await crud.describeEntity(entitySet);
115
- return {
116
- content: [
117
- {
118
- type: 'text',
119
- text: JSON.stringify(schema),
120
- },
121
- ],
122
- };
192
+ return this._textResult({ source: 'odata', entitySet, metadata: schema });
123
193
  }));
124
- this._registerHandlerWithDescriptor('read', tools_data_1.readDescriptor, (0, utils_1.withValidation)(tools_data_1.readInput, async ({ entity, filter, filters, select, top, expand, orderBy }) => {
194
+ this._registerHandlerWithDescriptor('read', tools_data_1.readDescriptor, (0, utils_1.withValidation)(tools_data_1.readInput, async ({ entity, filter, filters, select, top, expand, orderBy, skip, count }) => {
125
195
  const structured = (0, filters_1.buildFilterFromStructured)(filters);
126
196
  let finalFilter = filter || structured;
127
197
  if (filter && structured) {
@@ -131,9 +201,11 @@ class Server {
131
201
  entity,
132
202
  filter: finalFilter ?? undefined,
133
203
  select,
134
- top,
204
+ top: top ?? DEFAULT_READ_TOP,
135
205
  expand,
136
206
  orderBy,
207
+ skip,
208
+ count,
137
209
  });
138
210
  }));
139
211
  this._registerHandlerWithDescriptor('query-sys-settings', tools_data_1.querySysSettingsDescriptor, (0, utils_1.withValidation)(tools_data_1.querySysSettingsInput, async ({ sysSettingCodes }) => {
@@ -224,17 +296,13 @@ class Server {
224
296
  ...(description !== undefined ? { description } : {}),
225
297
  });
226
298
  return {
227
- content: [
228
- { type: 'text', text: JSON.stringify(result, null, 2) },
229
- ],
299
+ content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
230
300
  };
231
301
  }));
232
302
  this._registerHandlerWithDescriptor('delete-admin-operation', tools_data_1.deleteAdminOperationDescriptor, (0, utils_1.withValidation)(tools_data_1.deleteAdminOperationInput, async ({ ids }) => {
233
303
  const result = await adminOperation.deleteAdminOperation(ids);
234
304
  return {
235
- content: [
236
- { type: 'text', text: JSON.stringify(result, null, 2) },
237
- ],
305
+ content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
238
306
  };
239
307
  }));
240
308
  this._registerHandlerWithDescriptor('set-admin-operation-grantee', tools_data_1.setAdminOperationGranteeDescriptor, (0, utils_1.withValidation)(tools_data_1.setAdminOperationGranteeInput, async ({ adminOperationId, adminUnitIds, canExecute }) => {
@@ -244,17 +312,13 @@ class Server {
244
312
  canExecute,
245
313
  });
246
314
  return {
247
- content: [
248
- { type: 'text', text: JSON.stringify(result, null, 2) },
249
- ],
315
+ content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
250
316
  };
251
317
  }));
252
318
  this._registerHandlerWithDescriptor('delete-admin-operation-grantee', tools_data_1.deleteAdminOperationGranteeDescriptor, (0, utils_1.withValidation)(tools_data_1.deleteAdminOperationGranteeInput, async ({ ids }) => {
253
319
  const result = await adminOperation.deleteAdminOperationGrantee(ids);
254
320
  return {
255
- content: [
256
- { type: 'text', text: JSON.stringify(result, null, 2) },
257
- ],
321
+ content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
258
322
  };
259
323
  }));
260
324
  this._registerHandlerWithDescriptor('call-configuration-service', tools_data_1.callConfigurationServiceDescriptor, (0, utils_1.withValidation)(tools_data_1.callConfigurationServiceInput, async ({ service, method, httpMethod, body, query }) => {
@@ -266,9 +330,7 @@ class Server {
266
330
  ...(query !== undefined ? { query } : {}),
267
331
  });
268
332
  return {
269
- content: [
270
- { type: 'text', text: JSON.stringify(result, null, 2) },
271
- ],
333
+ content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
272
334
  };
273
335
  }));
274
336
  }
@@ -279,6 +341,12 @@ class Server {
279
341
  }
280
342
  this._mcp = new mcp_js_1.McpServer({ name: this._serverName, version: this._serverVersion });
281
343
  this._registerData();
344
+ // Probe optional capabilities WITHOUT blocking the MCP handshake. These do
345
+ // network I/O (DataForge/Global Search probes, and the publishing app's
346
+ // tools/list, which can be slow) — awaiting here would delay connect past the
347
+ // client's init timeout. They register into the live _mcp as they resolve and
348
+ // the SDK emits notifications/tools/list_changed so clients pick them up.
349
+ void this._prepareTools().catch((err) => log_1.default.warn('mcp.prepare.error', { error: String(err) }));
282
350
  log_1.default.serverStart(this._serverName, this._serverVersion, {
283
351
  tools: Array.from(this._handlers.keys()),
284
352
  prompts: prompts_data_1.ALL_PROMPTS.length,
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/server/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/server/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Tool preparation contracts.
3
+ *
4
+ * A {@link ToolPreparer} encapsulates one optional capability: it probes the
5
+ * environment once at startup and, only when the capability is available,
6
+ * registers the MCP tools it owns through a {@link ToolRegistrar}. This keeps
7
+ * the Server open for extension (add a preparer) and closed for modification.
8
+ */
9
+ export type ToolHandler = (payload: any) => Promise<any>;
10
+ /** Sink for tool registration, decoupling preparers from the Server internals. */
11
+ export interface ToolRegistrar {
12
+ register(name: string, descriptor: unknown, handler: ToolHandler): void;
13
+ }
14
+ /** A self-contained, probe-then-register unit for one optional capability. */
15
+ export interface ToolPreparer {
16
+ /** Stable capability key, also used to look up the prepare result. */
17
+ readonly name: string;
18
+ /**
19
+ * Probe the environment and, when the capability is available, register its
20
+ * tools via {@link registrar}.
21
+ *
22
+ * @returns `true` when the capability is enabled and its tools were registered.
23
+ */
24
+ prepare(registrar: ToolRegistrar): Promise<boolean>;
25
+ }
26
+ //# sourceMappingURL=tool-preparer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-preparer.d.ts","sourceRoot":"","sources":["../../../src/server/mcp/tool-preparer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAEzD,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;CACxE;AAED,8EAA8E;AAC9E,MAAM,WAAW,YAAY;IAC5B,sEAAsE;IACtE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,OAAO,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpD"}