fa-mcp-sdk 0.4.120 → 0.4.122

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 (33) hide show
  1. package/cli-template/FA-MCP-SDK-DOC/00-FA-MCP-SDK-index.md +4 -1
  2. package/cli-template/FA-MCP-SDK-DOC/06-utilities.md +67 -0
  3. package/cli-template/package.json +1 -1
  4. package/dist/core/_types_/types.d.ts +45 -0
  5. package/dist/core/_types_/types.d.ts.map +1 -1
  6. package/dist/core/debug.d.ts +32 -0
  7. package/dist/core/debug.d.ts.map +1 -1
  8. package/dist/core/debug.js +42 -1
  9. package/dist/core/debug.js.map +1 -1
  10. package/dist/core/index.d.ts +3 -2
  11. package/dist/core/index.d.ts.map +1 -1
  12. package/dist/core/index.js +2 -1
  13. package/dist/core/index.js.map +1 -1
  14. package/dist/core/init-mcp-server.d.ts.map +1 -1
  15. package/dist/core/init-mcp-server.js +46 -1
  16. package/dist/core/init-mcp-server.js.map +1 -1
  17. package/dist/core/mcp/mcp-apps.d.ts.map +1 -1
  18. package/dist/core/mcp/mcp-apps.js +2 -4
  19. package/dist/core/mcp/mcp-apps.js.map +1 -1
  20. package/dist/core/mcp/prompts.d.ts.map +1 -1
  21. package/dist/core/mcp/prompts.js +17 -2
  22. package/dist/core/mcp/prompts.js.map +1 -1
  23. package/dist/core/mcp/resources.d.ts.map +1 -1
  24. package/dist/core/mcp/resources.js +19 -2
  25. package/dist/core/mcp/resources.js.map +1 -1
  26. package/dist/core/web/server-http.d.ts.map +1 -1
  27. package/dist/core/web/server-http.js +4 -0
  28. package/dist/core/web/server-http.js.map +1 -1
  29. package/dist/core/web/static/agent-tester/index.html +116 -120
  30. package/dist/core/web/static/agent-tester/script.js +77 -53
  31. package/dist/core/web/static/agent-tester/styles.css +203 -78
  32. package/package.json +1 -1
  33. package/src/template/tools/handle-tool-call.ts +25 -2
@@ -18,7 +18,7 @@ npm install fa-mcp-sdk
18
18
  | [03-configuration](03-configuration.md) | `appConfig`, YAML config, access points for external services, cache | Server configuration, external services |
19
19
  | [04-authentication](04-authentication.md) | JWT, Basic auth, server tokens, `createAuthMW()`, Token Generator, CLI Token Generator, JWT Generation API | Authentication setup |
20
20
  | [05-ad-authorization](05-ad-authorization.md) | AD group authorization at HTTP/tool levels | AD group restrictions |
21
- | [06-utilities](06-utilities.md) | `ServerError`, `normalizeHeaders`, logging, Consul, graceful shutdown | Error handling, utilities |
21
+ | [06-utilities](06-utilities.md) | `ServerError`, `normalizeHeaders`, logging, MCP debug switches (`DEBUG=mcp:*`), Consul, graceful shutdown | Error handling, utilities, request tracing |
22
22
  | [07-testing-and-operations](07-testing-and-operations.md) | Test clients (STDIO, HTTP, SSE, Streamable HTTP) | Testing, deployment |
23
23
  | [08-agent-tester-and-headless-api](08-agent-tester-and-headless-api.md) | Agent Tester, Headless API, structured logging, automated testing, UI `data-testid` reference | Agent-driven tool development, CLI automation, UI E2E tests |
24
24
  | [09-database](09-database.md) | PostgreSQL sugar layer (`queryMAIN`, `execMAIN`, `getInsertSqlMAIN`, `getMergeSqlMAIN`, `mergeByBatch`), `pgvector`, secondary DBs | Database access, upserts, batching |
@@ -52,6 +52,9 @@ import {
52
52
  // Utilities
53
53
  import { logger, fileLogger, Logger, applyLoggerSettings, trim, ppj, toError, toStr, normalizeHeaders } from 'fa-mcp-sdk';
54
54
 
55
+ // MCP debug switches (DEBUG=mcp:tool|mcp:resource|mcp:prompt|mcp:notification or DEBUG=mcp:*)
56
+ import { debugMcpTool, debugMcpResource, debugMcpPrompt, debugMcpNotification, debugTokenAuth } from 'fa-mcp-sdk';
57
+
55
58
  // Test Clients
56
59
  import { McpHttpClient, McpStdioClient, McpSseClient, McpStreamableHttpClient } from 'fa-mcp-sdk';
57
60
 
@@ -224,6 +224,73 @@ applyLoggerSettings({ level: 'info' });
224
224
  > Note: in STDIO transport the logger is a stub (writes to `stderr`) and `applyLoggerSettings` is a
225
225
  > no-op — `console.log` etc. would otherwise corrupt the JSON-RPC framing on stdout.
226
226
 
227
+ ## MCP Debug Output (`DEBUG=mcp:*`)
228
+
229
+ The SDK ships request/response tracing for every MCP channel as four independent debug switches
230
+ (built on `af-tools-ts` `Debug()` — same machinery as `DEBUG=token:auth`). Each category prints
231
+ the raw request and the raw response in human-readable form; turn them on selectively from the
232
+ shell or your `.env`.
233
+
234
+ | Env value | What it prints |
235
+ |--------------------------|-----------------------------------------------------------------|
236
+ | `DEBUG=mcp:tool` | `tools/call` — name + arguments in, response (text or JSON) out |
237
+ | `DEBUG=mcp:resource` | `resources/list` and `resources/read` — URI in, body out |
238
+ | `DEBUG=mcp:prompt` | `prompts/list` and `prompts/get` — name/args in, messages out |
239
+ | `DEBUG=mcp:notification` | All incoming `notifications/*` (method + params) |
240
+ | `DEBUG=mcp:*` | All four at once |
241
+ | `DEBUG=*` | Everything, including `token:auth` and any project debugs |
242
+
243
+ Combine with commas: `DEBUG=mcp:tool,mcp:prompt yarn start`. The hooks live in the core MCP
244
+ dispatcher (see `init-mcp-server.ts` for the tool wrapper, `mcp/prompts.ts` and `mcp/resources.ts`
245
+ for the resource/prompt taps, and `web/server-http.ts` for the notification branch) — both HTTP and
246
+ STDIO transports route through them, so you get the same output regardless of how the client is
247
+ connected.
248
+
249
+ ```bash
250
+ # One-off debug session
251
+ DEBUG=mcp:tool yarn start
252
+
253
+ # Trace everything an Agent Tester run does
254
+ DEBUG=mcp:* yarn start
255
+
256
+ # Persistent in .env
257
+ echo "DEBUG=mcp:tool,mcp:resource" >> .env
258
+ ```
259
+
260
+ > ⚠️ STDIO transport reserves `stdout` for the JSON-RPC stream. The underlying `Debug()` writes to
261
+ > `stdout` via `console.log`, so enabling `DEBUG=mcp:*` in STDIO mode **will corrupt the framing**
262
+ > the client sees. Use these switches with HTTP/SSE transport, or redirect stdout.
263
+
264
+ ### Extending with Custom Debug Categories
265
+
266
+ Add your own switches with the same `Debug()` helper from `af-tools-ts`:
267
+
268
+ ```typescript
269
+ // src/lib/debug.ts
270
+ import { Debug } from 'af-tools-ts';
271
+ import { red, lBlue } from 'af-color';
272
+
273
+ export const debugExternalApi = Debug('myapp:external-api', {
274
+ prefixColor: red,
275
+ messageColor: lBlue,
276
+ });
277
+ ```
278
+
279
+ ```typescript
280
+ // inside any handler / client
281
+ import { debugExternalApi } from '../lib/debug.js';
282
+
283
+ if (debugExternalApi.enabled) {
284
+ debugExternalApi(`POST ${url}\n${JSON.stringify(body, null, 2)}`);
285
+ }
286
+ ```
287
+
288
+ Enable with `DEBUG=myapp:external-api`. The `.enabled` guard avoids the JSON-stringify cost when
289
+ the category is off. The four built-in `debugMcpTool`/`debugMcpResource`/`debugMcpPrompt`/
290
+ `debugMcpNotification` instances are re-exported from `fa-mcp-sdk` if you want to piggyback on
291
+ them from your own code (e.g. emit a custom line inside `handle-tool-call.ts` whenever
292
+ `debugMcpTool.enabled` is true).
293
+
227
294
  ## Event System
228
295
 
229
296
  ```typescript
@@ -57,7 +57,7 @@
57
57
  "dependencies": {
58
58
  "@modelcontextprotocol/sdk": "^1.29.0",
59
59
  "dotenv": "^17.4.1",
60
- "fa-mcp-sdk": "^0.4.120"
60
+ "fa-mcp-sdk": "^0.4.121"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@types/express": "^5.0.6",
@@ -61,6 +61,37 @@ export interface IUsedHttpHeader {
61
61
  description: string;
62
62
  isOptional?: boolean;
63
63
  }
64
+ /**
65
+ * Optional MCP Apps UI metadata that a `ui://...` resource can declare so the
66
+ * host knows how to sandbox the iframe (SEP-1865 / ext-apps spec).
67
+ *
68
+ * Only meaningful for resources with `mimeType: 'text/html;profile=mcp-app'`.
69
+ * For single-file widgets with all assets inlined, every field stays
70
+ * `undefined` and the host applies a deny-by-default CSP.
71
+ */
72
+ export interface IUiResourceMeta {
73
+ /**
74
+ * Per-directive CSP overrides for the sandboxed iframe. Each value is the
75
+ * list of allowed sources for that directive (e.g.
76
+ * `{ 'script-src': ["'self'", 'https://cdn.example.com'] }`). Hosts merge
77
+ * these with their own defaults — only declare sources the widget actually
78
+ * needs.
79
+ */
80
+ csp?: Record<string, string[]>;
81
+ /**
82
+ * Sandbox permissions the widget requests (e.g. `['microphone', 'camera',
83
+ * 'clipboard-read']`). The host decides whether to grant them; users may be
84
+ * prompted. Leave empty when the widget needs nothing beyond DOM access.
85
+ */
86
+ permissions?: string[];
87
+ /**
88
+ * Hint for the host on the initial iframe size, as a `[width, height]`
89
+ * tuple. Each entry may be a CSS dimension (`'100%'`, `'600px'`) or a number
90
+ * of pixels. Hosts may ignore this on small viewports.
91
+ */
92
+ preferredFrameSize?: [string | number, string | number];
93
+ [key: string]: unknown;
94
+ }
64
95
  export interface IResourceInfo {
65
96
  uri: string;
66
97
  name: string;
@@ -68,6 +99,15 @@ export interface IResourceInfo {
68
99
  description: string;
69
100
  mimeType: string;
70
101
  requireAuth?: boolean;
102
+ /**
103
+ * Optional `_meta` block surfaced on `resources/list` and `resources/read`.
104
+ * For MCP Apps resources (`ui://...`) populate `_meta.ui` with
105
+ * {@link IUiResourceMeta}. Other extensions may add their own keys here.
106
+ */
107
+ _meta?: {
108
+ ui?: IUiResourceMeta;
109
+ [key: string]: unknown;
110
+ };
71
111
  }
72
112
  export interface IResourceData extends IResourceInfo {
73
113
  content: IResourceContent;
@@ -80,6 +120,11 @@ export interface IResource {
80
120
  uri: string;
81
121
  mimeType: string;
82
122
  text: string | object;
123
+ /** Mirrors `_meta` from the resource definition; see {@link IResourceInfo._meta}. */
124
+ _meta?: {
125
+ ui?: IUiResourceMeta;
126
+ [key: string]: unknown;
127
+ };
83
128
  }
84
129
  ];
85
130
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/_types_/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/_types_/types.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,36 @@ export declare const debugTokenAuth: {
2
2
  (msg: string): void;
3
3
  enabled: boolean;
4
4
  };
5
+ /**
6
+ * Tool call request (name + arguments) and response (the value returned to the MCP client).
7
+ * Enable: DEBUG=mcp:tool
8
+ */
9
+ export declare const debugMcpTool: {
10
+ (msg: string): void;
11
+ enabled: boolean;
12
+ };
13
+ /**
14
+ * Resource list and read — request URI and response payload.
15
+ * Enable: DEBUG=mcp:resource
16
+ */
17
+ export declare const debugMcpResource: {
18
+ (msg: string): void;
19
+ enabled: boolean;
20
+ };
21
+ /**
22
+ * Prompt list and get — request name/args and response messages.
23
+ * Enable: DEBUG=mcp:prompt
24
+ */
25
+ export declare const debugMcpPrompt: {
26
+ (msg: string): void;
27
+ enabled: boolean;
28
+ };
29
+ /**
30
+ * Incoming MCP JSON-RPC notifications (method + params).
31
+ * Enable: DEBUG=mcp:notification
32
+ */
33
+ export declare const debugMcpNotification: {
34
+ (msg: string): void;
35
+ enabled: boolean;
36
+ };
5
37
  //# sourceMappingURL=debug.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/core/debug.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc;;;CAKzB,CAAC"}
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/core/debug.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,cAAc;;;CAKzB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,YAAY;;;CAKvB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;CAK3B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,cAAc;;;CAKzB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;CAK/B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { bold, reset, yellow } from 'af-color';
1
+ import { bold, reset, yellow, red, magenta, cyan, lBlue, lCyan, lGreen, lYellow } from 'af-color';
2
2
  import { Debug } from 'af-tools-ts';
3
3
  export const debugTokenAuth = Debug('token:auth', {
4
4
  noTime: false,
@@ -6,6 +6,47 @@ export const debugTokenAuth = Debug('token:auth', {
6
6
  prefixColor: bold + yellow,
7
7
  messageColor: reset,
8
8
  });
9
+ /**
10
+ * Tool call request (name + arguments) and response (the value returned to the MCP client).
11
+ * Enable: DEBUG=mcp:tool
12
+ */
13
+ export const debugMcpTool = Debug('mcp:tool', {
14
+ noTime: false,
15
+ noPrefix: false,
16
+ prefixColor: red,
17
+ messageColor: lBlue,
18
+ });
19
+ /**
20
+ * Resource list and read — request URI and response payload.
21
+ * Enable: DEBUG=mcp:resource
22
+ */
23
+ export const debugMcpResource = Debug('mcp:resource', {
24
+ noTime: false,
25
+ noPrefix: false,
26
+ prefixColor: magenta,
27
+ messageColor: lCyan,
28
+ });
29
+ /**
30
+ * Prompt list and get — request name/args and response messages.
31
+ * Enable: DEBUG=mcp:prompt
32
+ */
33
+ export const debugMcpPrompt = Debug('mcp:prompt', {
34
+ noTime: false,
35
+ noPrefix: false,
36
+ prefixColor: yellow,
37
+ messageColor: lGreen,
38
+ });
39
+ /**
40
+ * Incoming MCP JSON-RPC notifications (method + params).
41
+ * Enable: DEBUG=mcp:notification
42
+ */
43
+ export const debugMcpNotification = Debug('mcp:notification', {
44
+ noTime: false,
45
+ noPrefix: false,
46
+ prefixColor: cyan,
47
+ messageColor: lYellow,
48
+ });
49
+ // Enable all of the above at once with DEBUG=mcp:*
9
50
  // agent
10
51
  // config-info
11
52
  // dialog-metrics-collector
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/core/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC,YAAY,EAAE;IAChD,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,IAAI,GAAG,MAAM;IAC1B,YAAY,EAAE,KAAK;CACpB,CAAC,CAAC;AAEH,QAAQ;AACR,cAAc;AACd,2BAA2B;AAC3B,QAAQ;AACR,YAAY;AACZ,WAAW;AACX,gBAAgB;AAChB,gBAAgB;AAChB,MAAM;AACN,SAAS;AACT,WAAW;AACX,MAAM;AACN,YAAY;AACZ,UAAU;AACV,aAAa;AACb,OAAO;AACP,UAAU;AACV,cAAc;AACd,aAAa;AAEb,iBAAiB;AACjB,kBAAkB;AAClB,qBAAqB;AACrB,eAAe"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/core/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAClG,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC,YAAY,EAAE;IAChD,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,IAAI,GAAG,MAAM;IAC1B,YAAY,EAAE,KAAK;CACpB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,EAAE;IAC5C,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,KAAK;CACpB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,EAAE;IACpD,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,OAAO;IACpB,YAAY,EAAE,KAAK;CACpB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC,YAAY,EAAE;IAChD,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,MAAM;IACnB,YAAY,EAAE,MAAM;CACrB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC,kBAAkB,EAAE;IAC5D,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,OAAO;CACtB,CAAC,CAAC;AAEH,mDAAmD;AAEnD,QAAQ;AACR,cAAc;AACd,2BAA2B;AAC3B,QAAQ;AACR,YAAY;AACZ,WAAW;AACX,gBAAgB;AAChB,gBAAgB;AAChB,MAAM;AACN,SAAS;AACT,WAAW;AACX,MAAM;AACN,YAAY;AACZ,UAAU;AACV,aAAa;AACb,OAAO;AACP,UAAU;AACV,cAAc;AACd,aAAa;AAEb,iBAAiB;AACjB,kBAAkB;AAClB,qBAAqB;AACrB,eAAe"}
@@ -1,10 +1,10 @@
1
1
  export type { Tool } from '@modelcontextprotocol/sdk/types.js';
2
2
  export type { AppConfig } from './_types_/config.js';
3
3
  export type { IADConfig, IDcConfig } from './_types_/active-directory-config.js';
4
- export type { IClientCapabilities, McpServerData, IToolHandlerParams, ITransportContext, TTransportType, IGetPromptParams, IGetPromptRequest, IPromptContent, IPromptData, TPromptContentFunction, IResource, TResourceContentFunction, IResourceContent, IReadResourceRequest, IResourceInfo, IResourceData, IEndpointsOn404, IUsedHttpHeader, IToolProperties, IToolInputSchema, CustomAuthValidator, TokenGenAuthHandler, TokenGenAuthInput, TToolHandlerResponse, IToolHandlerTextResponse, IToolHandlerStructuredResponse, } from './_types_/types.js';
4
+ export type { IClientCapabilities, McpServerData, IToolHandlerParams, ITransportContext, TTransportType, IGetPromptParams, IGetPromptRequest, IPromptContent, IPromptData, TPromptContentFunction, IResource, TResourceContentFunction, IResourceContent, IReadResourceRequest, IResourceInfo, IResourceData, IUiResourceMeta, IEndpointsOn404, IUsedHttpHeader, IToolProperties, IToolInputSchema, CustomAuthValidator, TokenGenAuthHandler, TokenGenAuthInput, TToolHandlerResponse, IToolHandlerTextResponse, IToolHandlerStructuredResponse, } from './_types_/types.js';
5
+ export { appConfig, getProjectData, getSafeAppConfig } from './bootstrap/init-config.js';
5
6
  export { getUiCapability, hostSupportsMcpApps, MCP_APPS_EXTENSION_ID, MCP_APPS_RESOURCE_MIME_TYPE, } from './mcp/mcp-apps.js';
6
7
  export type { IMcpUiClientCapabilities } from './mcp/mcp-apps.js';
7
- export { appConfig, getProjectData, getSafeAppConfig } from './bootstrap/init-config.js';
8
8
  export { accessPointUpdater } from './consul/access-points-updater.js';
9
9
  export { deregisterServiceFromConsul } from './consul/deregister.js';
10
10
  export { getConsulAPI } from './consul/get-consul-api.js';
@@ -33,6 +33,7 @@ export { McpStdioClient } from './utils/testing/McpStdioClient.js';
33
33
  export { McpStreamableHttpClient } from './utils/testing/McpStreamableHttpClient.js';
34
34
  export { initADGroupChecker } from './ad/group-checker.js';
35
35
  export { configureOpenAPI, createSwaggerUIAssetsMiddleware, type OpenAPISpecResponse, type SwaggerUIConfig, } from './web/openapi.js';
36
+ export { debugTokenAuth, debugMcpTool, debugMcpResource, debugMcpPrompt, debugMcpNotification } from './debug.js';
36
37
  export { Logger } from 'af-logger-ts';
37
38
  export { createAgentTesterRouter } from './agent-tester/agent-tester-router.js';
38
39
  export { checkLlm } from './agent-tester/check-llm.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- export { getUiCapability, hostSupportsMcpApps, MCP_APPS_EXTENSION_ID, MCP_APPS_RESOURCE_MIME_TYPE, } from './mcp/mcp-apps.js';
2
1
  export { appConfig, getProjectData, getSafeAppConfig } from './bootstrap/init-config.js';
2
+ export { getUiCapability, hostSupportsMcpApps, MCP_APPS_EXTENSION_ID, MCP_APPS_RESOURCE_MIME_TYPE, } from './mcp/mcp-apps.js';
3
3
  export { accessPointUpdater } from './consul/access-points-updater.js';
4
4
  export { deregisterServiceFromConsul } from './consul/deregister.js';
5
5
  export { getConsulAPI } from './consul/get-consul-api.js';
@@ -31,6 +31,7 @@ export { McpStreamableHttpClient } from './utils/testing/McpStreamableHttpClient
31
31
  export { initADGroupChecker } from './ad/group-checker.js';
32
32
  // OpenAPI/Swagger utilities
33
33
  export { configureOpenAPI, createSwaggerUIAssetsMiddleware, } from './web/openapi.js';
34
+ export { debugTokenAuth, debugMcpTool, debugMcpResource, debugMcpPrompt, debugMcpNotification } from './debug.js';
34
35
  export { Logger } from 'af-logger-ts';
35
36
  export { createAgentTesterRouter } from './agent-tester/agent-tester-router.js';
36
37
  export { checkLlm } from './agent-tester/check-llm.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAgCA,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EACL,QAAQ,EACR,WAAW,EACX,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,yBAAyB,EACzB,eAAe,EACf,YAAY,EACZ,UAAU,GACX,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,OAAO,EACP,KAAK,EACL,kBAAkB,EAClB,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAG,IAAW;IACnD,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;IACjG,OAAO,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,OAAO,EACL,YAAY,EAAE,sCAAsC;AACpD,iBAAiB,EAAE,uCAAuC;EAC3D,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAW9B,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACzG,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,GAAG,EACH,mBAAmB,EACnB,QAAQ,EACR,gBAAgB,EAChB,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAErF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,4BAA4B;AAC5B,OAAO,EACL,gBAAgB,EAChB,+BAA+B,GAGhC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAiCA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEzF,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EACL,QAAQ,EACR,WAAW,EACX,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,yBAAyB,EACzB,eAAe,EACf,YAAY,EACZ,UAAU,GACX,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,OAAO,EACP,KAAK,EACL,kBAAkB,EAClB,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAG,IAAW;IACnD,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;IACjG,OAAO,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,OAAO,EACL,YAAY,EAAE,sCAAsC;AACpD,iBAAiB,EAAE,uCAAuC;EAC3D,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAW9B,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACzG,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,GAAG,EACH,mBAAmB,EACnB,QAAQ,EACR,gBAAgB,EAChB,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAErF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,4BAA4B;AAC5B,OAAO,EACL,gBAAgB,EAChB,+BAA+B,GAGhC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"init-mcp-server.d.ts","sourceRoot":"","sources":["../../src/core/init-mcp-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAuCnD,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,iBA6B1E;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDtE"}
1
+ {"version":3,"file":"init-mcp-server.d.ts","sourceRoot":"","sources":["../../src/core/init-mcp-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAsB,aAAa,EAAwB,MAAM,oBAAoB,CAAC;AAoF7F,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,iBA6B1E;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDtE"}
@@ -6,6 +6,7 @@ import { appConfig } from './bootstrap/init-config.js';
6
6
  import { startupInfo } from './bootstrap/startup-info.js';
7
7
  import { accessPointUpdater } from './consul/access-points-updater.js';
8
8
  import { registerCyclic } from './consul/register.js';
9
+ import { debugMcpTool } from './debug.js';
9
10
  import { checkMainDB } from './db/pg-db.js';
10
11
  import { applyLoggerSettings, fileLogger, logger as lgr } from './logger.js';
11
12
  // Imports to modify _core functions
@@ -13,6 +14,50 @@ import { startStdioServer } from './mcp/server-stdio.js';
13
14
  import { checkPortAvailability } from './utils/port-checker.js';
14
15
  import { isNonEmptyObject } from './utils/utils.js';
15
16
  import { startHttpServer } from './web/server-http.js';
17
+ /**
18
+ * Render a tool response in human-readable form for the DEBUG=mcp:tool stream.
19
+ * Text-content responses are dumped as their `text`; structuredContent and any other
20
+ * shape is pretty-printed JSON.
21
+ */
22
+ function formatToolResponseForDebug(res) {
23
+ if (res?.content?.[0]?.text != null) {
24
+ return String(res.content[0].text);
25
+ }
26
+ try {
27
+ return JSON.stringify(res, null, 2);
28
+ }
29
+ catch {
30
+ return String(res);
31
+ }
32
+ }
33
+ /**
34
+ * Decorate `data.toolHandler` so every tool call emits a request/response pair on the
35
+ * DEBUG=mcp:tool stream. Both HTTP and STDIO transports resolve the handler through the
36
+ * same `global.__MCP_PROJECT_DATA__`, so wrapping here covers all transports at once.
37
+ */
38
+ function wrapProjectDataWithDebug(data) {
39
+ const originalToolHandler = data.toolHandler;
40
+ const wrappedToolHandler = async (params) => {
41
+ if (debugMcpTool.enabled) {
42
+ const { name, arguments: args } = params;
43
+ debugMcpTool(`→ tool/call ${name}\n${JSON.stringify(args ?? {}, null, 2)}`);
44
+ }
45
+ try {
46
+ const result = await originalToolHandler(params);
47
+ if (debugMcpTool.enabled) {
48
+ debugMcpTool(`← tool/call ${params.name}\n${formatToolResponseForDebug(result)}`);
49
+ }
50
+ return result;
51
+ }
52
+ catch (error) {
53
+ if (debugMcpTool.enabled) {
54
+ debugMcpTool(`✗ tool/call ${params.name} threw: ${error?.message || String(error)}`);
55
+ }
56
+ throw error;
57
+ }
58
+ };
59
+ return { ...data, toolHandler: wrappedToolHandler };
60
+ }
16
61
  let cyclicRegisterServiceInConsul;
17
62
  const initCyclicRegisterServiceInConsul = async () => {
18
63
  if (appConfig.consul.service.enable) {
@@ -80,7 +125,7 @@ export async function initMcpServer(data) {
80
125
  process.on('SIGINT', () => gracefulShutdown('SIGINT'));
81
126
  process.on('SIGTERM', () => gracefulShutdown('SIGTERM'));
82
127
  // Temporarily store data in a global context for access from _core functions
83
- global.__MCP_PROJECT_DATA__ = data;
128
+ global.__MCP_PROJECT_DATA__ = wrapProjectDataWithDebug(data);
84
129
  const { transportType } = appConfig.mcp;
85
130
  switch (transportType) {
86
131
  case 'stdio':
@@ -1 +1 @@
1
- {"version":3,"file":"init-mcp-server.js","sourceRoot":"","sources":["../../src/core/init-mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-mcp-server.js","sourceRoot":"","sources":["../../src/core/init-mcp-server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-apps.d.ts","sourceRoot":"","sources":["../../../src/core/mcp/mcp-apps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;;;;;;;;;;GAcG;AAEH,+DAA+D;AAC/D,eAAO,MAAM,qBAAqB,+BAA+B,CAAC;AAElE,6DAA6D;AAC7D,eAAO,MAAM,2BAA2B,8BAA8B,CAAC;AAEvE;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,eAAe,GAC1B,oBAAoB,mBAAmB,GAAG,IAAI,GAAG,SAAS,KACzD,wBAAwB,GAAG,SAM7B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,oBAAoB,mBAAmB,GAAG,IAAI,GAAG,SAAS,KAAG,OAGhG,CAAC"}
1
+ {"version":3,"file":"mcp-apps.d.ts","sourceRoot":"","sources":["../../../src/core/mcp/mcp-apps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D;;;;;;;;;;;;;;GAcG;AAEH,+DAA+D;AAC/D,eAAO,MAAM,qBAAqB,+BAA+B,CAAC;AAElE,6DAA6D;AAC7D,eAAO,MAAM,2BAA2B,8BAA8B,CAAC;AAEvE;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,eAAe,GAC1B,oBAAoB,mBAAmB,GAAG,IAAI,GAAG,SAAS,KACzD,wBAAwB,GAAG,SAG7B,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,oBAAoB,mBAAmB,GAAG,IAAI,GAAG,SAAS,KAAG,OAGhG,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { isObject } from '../utils/utils.js';
1
2
  /**
2
3
  * Helpers for MCP Apps (UI-augmented MCP tools, SEP-1865).
3
4
  *
@@ -38,10 +39,7 @@ export const MCP_APPS_RESOURCE_MIME_TYPE = 'text/html;profile=mcp-app';
38
39
  */
39
40
  export const getUiCapability = (clientCapabilities) => {
40
41
  const ext = clientCapabilities?.extensions?.[MCP_APPS_EXTENSION_ID];
41
- if (!ext || typeof ext !== 'object') {
42
- return undefined;
43
- }
44
- return ext;
42
+ return isObject(ext) ? ext : undefined;
45
43
  };
46
44
  /**
47
45
  * Convenience predicate: did the host advertise it can render `ui://`
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-apps.js","sourceRoot":"","sources":["../../../src/core/mcp/mcp-apps.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AAEH,+DAA+D;AAC/D,MAAM,CAAC,MAAM,qBAAqB,GAAG,4BAA4B,CAAC;AAElE,6DAA6D;AAC7D,MAAM,CAAC,MAAM,2BAA2B,GAAG,2BAA2B,CAAC;AAgBvE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,kBAA0D,EACpB,EAAE;IACxC,MAAM,GAAG,GAAG,kBAAkB,EAAE,UAAU,EAAE,CAAC,qBAAqB,CAAC,CAAC;IACpE,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,GAA+B,CAAC;AACzC,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,kBAA0D,EAAW,EAAE;IACzG,MAAM,EAAE,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC;IAC/C,OAAO,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,2BAA2B,CAAC,CAAC;AAChE,CAAC,CAAC"}
1
+ {"version":3,"file":"mcp-apps.js","sourceRoot":"","sources":["../../../src/core/mcp/mcp-apps.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;;;;;;;;;;;;GAcG;AAEH,+DAA+D;AAC/D,MAAM,CAAC,MAAM,qBAAqB,GAAG,4BAA4B,CAAC;AAElE,6DAA6D;AAC7D,MAAM,CAAC,MAAM,2BAA2B,GAAG,2BAA2B,CAAC;AAgBvE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,kBAA0D,EACpB,EAAE;IACxC,MAAM,GAAG,GAAG,kBAAkB,EAAE,UAAU,EAAE,CAAC,qBAAqB,CAAC,CAAC;IACpE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAgC,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,kBAA0D,EAAW,EAAE;IACzG,MAAM,EAAE,GAAG,eAAe,CAAC,kBAAkB,CAAC,CAAC;IAC/C,OAAO,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,2BAA2B,CAAC,CAAC;AAChE,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/core/mcp/prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAA+B,MAAM,qBAAqB,CAAC;AA+CxG,wBAAsB,cAAc,CAAC,IAAI,EAAE,iBAAiB;;;;;;;GAG3D;AAED,eAAO,MAAM,SAAS,GAAU,SAAS,iBAAiB,EAAE,MAAM,iBAAiB,KAAG,OAAO,CAAC,GAAG,CA4BhG,CAAC"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../../src/core/mcp/prompts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAA+B,MAAM,qBAAqB,CAAC;AAgDxG,wBAAsB,cAAc,CAAC,IAAI,EAAE,iBAAiB;;;;;;;GAU3D;AAED,eAAO,MAAM,SAAS,GAAU,SAAS,iBAAiB,EAAE,MAAM,iBAAiB,KAAG,OAAO,CAAC,GAAG,CAmChG,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { getProjectData } from '../bootstrap/init-config.js';
2
+ import { debugMcpPrompt } from '../debug.js';
2
3
  async function getPrompts(args) {
3
4
  const projectData = getProjectData();
4
5
  if (!projectData) {
@@ -40,11 +41,21 @@ async function getPrompts(args) {
40
41
  ];
41
42
  }
42
43
  export async function getPromptsList(args) {
44
+ if (debugMcpPrompt.enabled) {
45
+ debugMcpPrompt('→ prompts/list');
46
+ }
43
47
  const prompts = await getPrompts(args);
44
- return { prompts: prompts.map(({ content, ...rest }) => ({ ...rest })) };
48
+ const result = { prompts: prompts.map(({ content, ...rest }) => ({ ...rest })) };
49
+ if (debugMcpPrompt.enabled) {
50
+ debugMcpPrompt(`← prompts/list (${result.prompts.length})\n${JSON.stringify(result, null, 2)}`);
51
+ }
52
+ return result;
45
53
  }
46
54
  export const getPrompt = async (request, args) => {
47
55
  const { name } = request.params;
56
+ if (debugMcpPrompt.enabled) {
57
+ debugMcpPrompt(`→ prompts/get ${name}\n${JSON.stringify(request.params ?? {}, null, 2)}`);
58
+ }
48
59
  const prompts = await getPrompts(args);
49
60
  // Check if prompts are available
50
61
  if (!prompts || prompts.length === 0) {
@@ -57,7 +68,7 @@ export const getPrompt = async (request, args) => {
57
68
  if (!content) {
58
69
  throw new Error(`Unknown prompt: ${name}`);
59
70
  }
60
- return {
71
+ const result = {
61
72
  messages: [
62
73
  {
63
74
  role: 'assistant',
@@ -68,5 +79,9 @@ export const getPrompt = async (request, args) => {
68
79
  },
69
80
  ],
70
81
  };
82
+ if (debugMcpPrompt.enabled) {
83
+ debugMcpPrompt(`← prompts/get ${name}\n${content}`);
84
+ }
85
+ return result;
71
86
  };
72
87
  //# sourceMappingURL=prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/core/mcp/prompts.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,KAAK,UAAU,UAAU,CAAC,IAAuB;IAC/C,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAC;QACjG,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC;IAE/D,+CAA+C;IAC/C,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAC;QACjG,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,yDAAyD;IACzD,IAAI,qBAAqB,GAAkB,EAAE,CAAC;IAC9C,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;YACxC,qBAAqB,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,qBAAqB,GAAG,aAAa,CAAC;QACxC,CAAC;IACH,CAAC;IAED,OAAO;QACL;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,mEAAmE;YAChF,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,UAAU;YACnB,WAAW,EAAE,KAAK;SACnB;QACD;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,8BAA8B;YAC3C,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,WAAW;YACpB,WAAW,EAAE,KAAK;SACnB;QACD,GAAG,qBAAqB;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAuB;IAC1D,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,OAA0B,EAAE,IAAuB,EAAgB,EAAE;IACnG,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAChC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IAEvC,iCAAiC;IACjC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,OAAO,GAA0B,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC7G,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QAClC,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO;QACL,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,OAAO;iBACd;aACF;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../../src/core/mcp/prompts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../src/core/mcp/resources.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAmB,SAAS,EAAiB,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAwElH,eAAO,MAAM,gBAAgB,GAAU,MAAM,iBAAiB,KAAG,OAAO,CAAC;IAAE,SAAS,EAAE,aAAa,EAAE,CAAA;CAAE,CAGtG,CAAC;AAEF,eAAO,MAAM,WAAW,GAAU,KAAK,MAAM,EAAE,MAAM,iBAAiB,KAAG,OAAO,CAAC,SAAS,CAsBzF,CAAC"}
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../src/core/mcp/resources.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAmB,SAAS,EAAiB,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAyElH,eAAO,MAAM,gBAAgB,GAAU,MAAM,iBAAiB,KAAG,OAAO,CAAC;IAAE,SAAS,EAAE,aAAa,EAAE,CAAA;CAAE,CAUtG,CAAC;AAEF,eAAO,MAAM,WAAW,GAAU,KAAK,MAAM,EAAE,MAAM,iBAAiB,KAAG,OAAO,CAAC,SAAS,CA+BzF,CAAC"}
@@ -5,6 +5,7 @@ import * as fs from 'node:fs';
5
5
  import * as path from 'node:path';
6
6
  import { appConfig, getProjectData } from '../bootstrap/init-config.js';
7
7
  import { ROOT_PROJECT_DIR } from '../constants.js';
8
+ import { debugMcpResource } from '../debug.js';
8
9
  import { assembleReadmeWithSatellites } from './readme-assembler.js';
9
10
  let readme = assembleReadmeWithSatellites(ROOT_PROJECT_DIR);
10
11
  let packageJson;
@@ -71,10 +72,20 @@ This information is used by searching for this MCP server and its information in
71
72
  return [...resources, ...resolvedCustomResources];
72
73
  };
73
74
  export const getResourcesList = async (args) => {
75
+ if (debugMcpResource.enabled) {
76
+ debugMcpResource('→ resources/list');
77
+ }
74
78
  const resources = await createResources(args);
75
- return { resources: resources.map(({ content, ...rest }) => ({ ...rest })) };
79
+ const result = { resources: resources.map(({ content, ...rest }) => ({ ...rest })) };
80
+ if (debugMcpResource.enabled) {
81
+ debugMcpResource(`← resources/list (${result.resources.length})\n${JSON.stringify(result, null, 2)}`);
82
+ }
83
+ return result;
76
84
  };
77
85
  export const getResource = async (uri, args) => {
86
+ if (debugMcpResource.enabled) {
87
+ debugMcpResource(`→ resources/read ${uri}`);
88
+ }
78
89
  const resources = await createResources(args);
79
90
  const resource = resources.find((r) => r.uri === uri);
80
91
  if (!resource) {
@@ -87,14 +98,20 @@ export const getResource = async (uri, args) => {
87
98
  if (!content) {
88
99
  throw new Error(`Can not get content of resource '${uri}' by custom handler`);
89
100
  }
90
- return {
101
+ const result = {
91
102
  contents: [
92
103
  {
93
104
  uri: resource.uri,
94
105
  mimeType: resource.mimeType,
95
106
  text: content,
107
+ ...(resource._meta ? { _meta: resource._meta } : {}),
96
108
  },
97
109
  ],
98
110
  };
111
+ if (debugMcpResource.enabled) {
112
+ const body = typeof content === 'string' ? content : JSON.stringify(content, null, 2);
113
+ debugMcpResource(`← resources/read ${uri}\n${body}`);
114
+ }
115
+ return result;
99
116
  };
100
117
  //# sourceMappingURL=resources.js.map