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.
- package/cli-template/FA-MCP-SDK-DOC/00-FA-MCP-SDK-index.md +4 -1
- package/cli-template/FA-MCP-SDK-DOC/06-utilities.md +67 -0
- package/cli-template/package.json +1 -1
- package/dist/core/_types_/types.d.ts +45 -0
- package/dist/core/_types_/types.d.ts.map +1 -1
- package/dist/core/debug.d.ts +32 -0
- package/dist/core/debug.d.ts.map +1 -1
- package/dist/core/debug.js +42 -1
- package/dist/core/debug.js.map +1 -1
- package/dist/core/index.d.ts +3 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/init-mcp-server.d.ts.map +1 -1
- package/dist/core/init-mcp-server.js +46 -1
- package/dist/core/init-mcp-server.js.map +1 -1
- package/dist/core/mcp/mcp-apps.d.ts.map +1 -1
- package/dist/core/mcp/mcp-apps.js +2 -4
- package/dist/core/mcp/mcp-apps.js.map +1 -1
- package/dist/core/mcp/prompts.d.ts.map +1 -1
- package/dist/core/mcp/prompts.js +17 -2
- package/dist/core/mcp/prompts.js.map +1 -1
- package/dist/core/mcp/resources.d.ts.map +1 -1
- package/dist/core/mcp/resources.js +19 -2
- package/dist/core/mcp/resources.js.map +1 -1
- package/dist/core/web/server-http.d.ts.map +1 -1
- package/dist/core/web/server-http.js +4 -0
- package/dist/core/web/server-http.js.map +1 -1
- package/dist/core/web/static/agent-tester/index.html +116 -120
- package/dist/core/web/static/agent-tester/script.js +77 -53
- package/dist/core/web/static/agent-tester/styles.css +203 -78
- package/package.json +1 -1
- 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
|
|
@@ -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":"AAAA,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAEhG;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,mCAAmC;IACnC,QAAQ,EAAE,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,uBAAuB,CAAC;CACnE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;AAEjG,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,EAAE,CAAC;IACd,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/_types_/types.ts"],"names":[],"mappings":"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"}
|
package/dist/core/debug.d.ts
CHANGED
|
@@ -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
|
package/dist/core/debug.d.ts.map
CHANGED
|
@@ -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"}
|
package/dist/core/debug.js
CHANGED
|
@@ -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
|
package/dist/core/debug.js.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -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';
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC/D,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjF,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,SAAS,EACT,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,eAAe,EACf,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.js
CHANGED
|
@@ -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';
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"
|
|
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,
|
|
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;
|
|
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
|
-
|
|
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":"
|
|
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;
|
|
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"}
|
package/dist/core/mcp/prompts.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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;
|
|
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;
|
|
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
|
-
|
|
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
|
-
|
|
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
|