fa-mcp-sdk 0.11.14 → 0.12.1
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/02-1-tools-and-api.md +31 -4
- package/cli-template/FA-MCP-SDK-DOC/03-configuration.md +5 -0
- package/cli-template/FA-MCP-SDK-DOC/11-public-contract.md +12 -3
- package/cli-template/FA-MCP-SDK-DOC/12-implementation-standard.md +15 -2
- package/cli-template/package.json +1 -1
- package/config/_local.yaml +3 -0
- package/config/custom-environment-variables.yaml +3 -0
- package/config/default.yaml +5 -0
- package/config/local.yaml +1 -0
- package/dist/core/_types_/config.d.ts +6 -0
- package/dist/core/_types_/config.d.ts.map +1 -1
- package/dist/core/mcp/create-mcp-server.d.ts.map +1 -1
- package/dist/core/mcp/create-mcp-server.js +18 -5
- package/dist/core/mcp/create-mcp-server.js.map +1 -1
- package/dist/core/mcp/validate-tool-args.d.ts +16 -8
- package/dist/core/mcp/validate-tool-args.d.ts.map +1 -1
- package/dist/core/mcp/validate-tool-args.js +88 -21
- package/dist/core/mcp/validate-tool-args.js.map +1 -1
- package/package.json +1 -1
|
@@ -34,10 +34,37 @@ violation throws with the offending name printed.
|
|
|
34
34
|
|
|
35
35
|
**Standard §9.3 (MUST) — arguments are validated server-side.** Before `toolHandler` is
|
|
36
36
|
called, the SDK validates `request.params.arguments` against `inputSchema` via ajv (draft
|
|
37
|
-
2020-12). On failure the response is JSON-RPC `-32602`
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
2020-12). On failure the response is JSON-RPC `-32602` and the handler is **not** invoked.
|
|
38
|
+
This means tool code no longer needs to repeat shape checks — by the time the handler runs,
|
|
39
|
+
`args` already matches the schema.
|
|
40
|
+
|
|
41
|
+
The error carries a precise, English diagnostic. The `message` reads
|
|
42
|
+
`Invalid params: <field>: <reason>; …` and `error.data` lists every violation:
|
|
43
|
+
|
|
44
|
+
```jsonc
|
|
45
|
+
{
|
|
46
|
+
"code": -32602,
|
|
47
|
+
"message": "Invalid params: /amount: expected number, got string; root: missing required property \"currency\"",
|
|
48
|
+
"data": {
|
|
49
|
+
"field": "/amount", // first offending location (JSON Pointer or property name)
|
|
50
|
+
"reason": "type", // stable ajv keyword: type | required | enum | pattern | …
|
|
51
|
+
"errorCount": 2, // total violations before truncation
|
|
52
|
+
"errors": [ // up to 8 individual failures
|
|
53
|
+
{ "field": "/amount", "reason": "type", "message": "/amount: expected number, got string" },
|
|
54
|
+
{ "field": "/currency", "reason": "required", "message": "root: missing required property \"currency\"" }
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Diagnostics name the field, the violated constraint, and (for type errors) the actual JS type — never
|
|
61
|
+
the offending value itself, so no caller-supplied data leaks outward (standard §13.3). At most 8
|
|
62
|
+
failures are reported; the remainder are summarised as `(+N more)` in `message` and counted in
|
|
63
|
+
`errorCount`.
|
|
64
|
+
|
|
65
|
+
Input validation is on by default. It can be disabled with `mcp.tools.validateInput: false`
|
|
66
|
+
(or the `MCP_TOOLS_VALIDATE_INPUT` environment variable) — useful when tools validate their own
|
|
67
|
+
arguments or in a trusted internal deployment. The toggle does not affect `outputSchema` validation.
|
|
41
68
|
|
|
42
69
|
### Output schema and `structuredContent` (standard §9.4 / §12.4)
|
|
43
70
|
|
|
@@ -132,6 +132,11 @@ mcp:
|
|
|
132
132
|
tools:
|
|
133
133
|
answerAs: text # text | structuredContent
|
|
134
134
|
hideAnnotations: false # true — strip `annotations` from tool listings
|
|
135
|
+
# Standard §8.3/§9.3 — validate tools/call arguments against each tool's inputSchema before
|
|
136
|
+
# dispatch. Default true. On failure the call is rejected with -32602 and a per-field diagnostic
|
|
137
|
+
# in error.data (field, reason, errors[]). Set false to skip input validation (tools self-validate,
|
|
138
|
+
# or trusted internal deployment); does not affect outputSchema checks. ENV: MCP_TOOLS_VALIDATE_INPUT.
|
|
139
|
+
validateInput: true
|
|
135
140
|
# Standard §8.4 — server-side pagination for tools/list, prompts/list, resources/list.
|
|
136
141
|
pagination:
|
|
137
142
|
pageSize: 100 # items per page (cursor is opaque base64(offset))
|
|
@@ -212,13 +212,22 @@ class above) keep their message verbatim.
|
|
|
212
212
|
```jsonc
|
|
213
213
|
{
|
|
214
214
|
"requestId": "uuid…", // §15.1, always set by the SDK if absent
|
|
215
|
-
"field": "name", // input validation diagnostics
|
|
216
|
-
"reason": "
|
|
217
|
-
"retryAfter": 12
|
|
215
|
+
"field": "name", // first offending field (input validation diagnostics)
|
|
216
|
+
"reason": "required", // machine-readable hint — stable ajv keyword for schema violations
|
|
217
|
+
"retryAfter": 12, // seconds, for -32003
|
|
218
|
+
// input-schema violations (-32602) additionally include (implementation-specific, not contractual):
|
|
219
|
+
"errorCount": 2, // total violations before truncation
|
|
220
|
+
"errors": [ // up to 8 per-field failures: { field, reason, message }
|
|
221
|
+
{ "field": "name", "reason": "required", "message": "root: missing required property \"name\"" }
|
|
222
|
+
]
|
|
218
223
|
// …implementation-specific keys are allowed but not part of the contract
|
|
219
224
|
}
|
|
220
225
|
```
|
|
221
226
|
|
|
227
|
+
Input-argument validation against `inputSchema` is on by default and can be disabled per deployment
|
|
228
|
+
via `mcp.tools.validateInput: false` (env `MCP_TOOLS_VALIDATE_INPUT`). When off, malformed arguments
|
|
229
|
+
reach the tool handler unchecked — only the JSON-RPC envelope shape is still enforced.
|
|
230
|
+
|
|
222
231
|
---
|
|
223
232
|
|
|
224
233
|
## 7. Limits and headers
|
|
@@ -486,6 +486,14 @@ to the shape of the JSON-RPC request are returned as a JSON-RPC error. Tool exec
|
|
|
486
486
|
errors are returned as a tool execution result with `isError: true` if that helps the model adjust the
|
|
487
487
|
request.
|
|
488
488
|
|
|
489
|
+
A schema violation produces `-32602` with a precise diagnostic: `error.message` reads
|
|
490
|
+
`Invalid params: <field>: <reason>; …` and `error.data` carries `field`, `reason` (a stable ajv keyword
|
|
491
|
+
such as `type` / `required` / `enum`), `errorCount`, and an `errors[]` array of up to 8 individual
|
|
492
|
+
failures (`{ field, reason, message }`). Diagnostics report the field and the violated constraint, plus
|
|
493
|
+
the actual JS type for type mismatches, but never the offending value (§13.3). The SDK enforces this
|
|
494
|
+
validation by default; it MAY be disabled per deployment via `mcp.tools.validateInput: false` when tools
|
|
495
|
+
self-validate their arguments.
|
|
496
|
+
|
|
489
497
|
Example of a tool execution error:
|
|
490
498
|
|
|
491
499
|
```json
|
|
@@ -728,8 +736,13 @@ Protocol error example:
|
|
|
728
736
|
"id": "<request-id>",
|
|
729
737
|
"error": {
|
|
730
738
|
"code": -32602,
|
|
731
|
-
"message": "Invalid params",
|
|
732
|
-
"data": {
|
|
739
|
+
"message": "Invalid params: root: missing required property \"name\"",
|
|
740
|
+
"data": {
|
|
741
|
+
"field": "name",
|
|
742
|
+
"reason": "required",
|
|
743
|
+
"errorCount": 1,
|
|
744
|
+
"errors": [{ "field": "name", "reason": "required", "message": "root: missing required property \"name\"" }]
|
|
745
|
+
}
|
|
733
746
|
}
|
|
734
747
|
}
|
|
735
748
|
```
|
package/config/_local.yaml
CHANGED
|
@@ -271,6 +271,9 @@ mcp:
|
|
|
271
271
|
#> When true, strips `annotations` from tool listings returned to clients
|
|
272
272
|
#> (hides hints like readOnlyHint / destructiveHint). Default: false.
|
|
273
273
|
hideAnnotations: false
|
|
274
|
+
#> Standard §8.3 — validate tools/call arguments against each tool's inputSchema. Default true.
|
|
275
|
+
#> Set false to skip input validation. See default.yaml for full documentation.
|
|
276
|
+
validateInput: true
|
|
274
277
|
#> Debug & diagnostics. See default.yaml for full documentation.
|
|
275
278
|
debug:
|
|
276
279
|
#> Absolute path to a JSON-lines log file. Empty = file logging disabled.
|
package/config/default.yaml
CHANGED
|
@@ -275,6 +275,11 @@ mcp:
|
|
|
275
275
|
#> When true, strips `annotations` from tool listings returned to clients
|
|
276
276
|
#> (hides hints like readOnlyHint / destructiveHint). Default: false.
|
|
277
277
|
hideAnnotations: false
|
|
278
|
+
#> Standard §8.3 — validate tools/call arguments against each tool's inputSchema before dispatch.
|
|
279
|
+
#> On invalid input the call is rejected with JSON-RPC code -32602 (Invalid params) and an
|
|
280
|
+
#> `error.data` payload listing the offending fields. Set false to skip input validation (tools
|
|
281
|
+
#> validate their own args, or trusted internal deployment). Does not affect outputSchema checks.
|
|
282
|
+
validateInput: true
|
|
278
283
|
#> Debug & diagnostics. All keys optional. The stderr `DEBUG=mcp:*` stream
|
|
279
284
|
#> is independent of this section — these flags only add file logging and
|
|
280
285
|
#> built-in helper tools.
|
package/config/local.yaml
CHANGED
|
@@ -87,6 +87,7 @@ mcp:
|
|
|
87
87
|
transportType: http # 'stdio' or 'http'
|
|
88
88
|
tools:
|
|
89
89
|
answerAs: text # text | structuredContent
|
|
90
|
+
validateInput: true # validate tools/call args against inputSchema (§8.3); false to skip
|
|
90
91
|
|
|
91
92
|
swagger:
|
|
92
93
|
servers: # An array of servers that will be added to swagger docs
|
|
@@ -92,6 +92,12 @@ interface IMCPConfig {
|
|
|
92
92
|
tools: {
|
|
93
93
|
answerAs: 'text' | 'structuredContent';
|
|
94
94
|
hideAnnotations: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Standard §8.3 — validate `tools/call` arguments against the tool's `inputSchema` before
|
|
97
|
+
* dispatch. Default true. Set false to skip input validation (tools self-validate, or trusted
|
|
98
|
+
* internal deployment). Does not affect `outputSchema` validation.
|
|
99
|
+
*/
|
|
100
|
+
validateInput?: boolean;
|
|
95
101
|
};
|
|
96
102
|
/**
|
|
97
103
|
* Standard §8.4 — server-side pagination for `tools/list`, `prompts/list`, `resources/list`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/_types_/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/_types_/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-mcp-server.d.ts","sourceRoot":"","sources":["../../../src/core/mcp/create-mcp-server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAmBnE,OAAO,EAKL,cAAc,EACf,MAAM,qBAAqB,CAAC;AAqE7B;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,cAAc,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"create-mcp-server.d.ts","sourceRoot":"","sources":["../../../src/core/mcp/create-mcp-server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAmBnE,OAAO,EAKL,cAAc,EACf,MAAM,qBAAqB,CAAC;AAqE7B;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,cAAc,GAAG,MAAM,CAopBrE"}
|
|
@@ -98,6 +98,10 @@ export function createMcpServer(transportType) {
|
|
|
98
98
|
// requires for a server that does not support tasks. When on, the server advertises that it can
|
|
99
99
|
// list and cancel tasks, and that task creation is supported for `tools/call`.
|
|
100
100
|
const tasksEnabled = appConfig.mcp.tasks?.enabled === true;
|
|
101
|
+
// Standard §8.3 — validate tools/call arguments against the tool's inputSchema before dispatch.
|
|
102
|
+
// On by default; set `mcp.tools.validateInput: false` to skip it (e.g. when tools validate their
|
|
103
|
+
// own arguments, or to shave latency in trusted internal deployments).
|
|
104
|
+
const validateInput = appConfig.mcp.tools?.validateInput !== false;
|
|
101
105
|
const server = new Server({
|
|
102
106
|
name: appConfig.name,
|
|
103
107
|
version: appConfig.version,
|
|
@@ -222,9 +226,11 @@ export function createMcpServer(transportType) {
|
|
|
222
226
|
if (response && typeof response === 'object' && 'structuredContent' in response) {
|
|
223
227
|
const outputCheck = validateToolOutput(tool, response.structuredContent);
|
|
224
228
|
if (!outputCheck.valid) {
|
|
225
|
-
throw new McpError(-32603,
|
|
229
|
+
throw new McpError(-32603, `Tool produced result that violates outputSchema: ${outputCheck.summary}`, {
|
|
226
230
|
field: outputCheck.field,
|
|
227
231
|
reason: outputCheck.reason,
|
|
232
|
+
errors: outputCheck.errors,
|
|
233
|
+
errorCount: outputCheck.errorCount,
|
|
228
234
|
});
|
|
229
235
|
}
|
|
230
236
|
// §12.4 — mirror structuredContent in content[0] as JSON text for legacy clients.
|
|
@@ -363,10 +369,17 @@ export function createMcpServer(transportType) {
|
|
|
363
369
|
});
|
|
364
370
|
}
|
|
365
371
|
}
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
372
|
+
if (validateInput) {
|
|
373
|
+
const inputCheck = validateToolInput(tool, args);
|
|
374
|
+
if (!inputCheck.valid) {
|
|
375
|
+
getMetrics()?.toolCalls.inc({ tool: toolName, status: 'invalid_params' });
|
|
376
|
+
throw new McpError(-32602, `Invalid params: ${inputCheck.summary}`, {
|
|
377
|
+
field: inputCheck.field,
|
|
378
|
+
reason: inputCheck.reason,
|
|
379
|
+
errors: inputCheck.errors,
|
|
380
|
+
errorCount: inputCheck.errorCount,
|
|
381
|
+
});
|
|
382
|
+
}
|
|
370
383
|
}
|
|
371
384
|
// Standard §14 — per-subject concurrent in-flight cap.
|
|
372
385
|
const maxConcurrent = appConfig.mcp.rateLimit?.maxConcurrentPerSubject ?? 16;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-mcp-server.js","sourceRoot":"","sources":["../../../src/core/mcp/create-mcp-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-mcp-server.js","sourceRoot":"","sources":["../../../src/core/mcp/create-mcp-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
2
2
|
export interface IValidationFailure {
|
|
3
|
+
/** JSON Pointer to the offending location, e.g. `/items/0/price`, or the property name. */
|
|
3
4
|
field: string;
|
|
5
|
+
/** Stable Ajv keyword: `required` | `type` | `enum` | `pattern` | … — safe for machine routing. */
|
|
4
6
|
reason: string;
|
|
7
|
+
/** Human-readable explanation (English). Never echoes the offending value, only its type. */
|
|
8
|
+
message: string;
|
|
5
9
|
}
|
|
6
|
-
export
|
|
10
|
+
export interface IValidationOk {
|
|
7
11
|
valid: true;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
} & IValidationFailure);
|
|
11
|
-
export declare function validateToolOutput(tool: Tool, structuredContent: unknown): {
|
|
12
|
-
valid: true;
|
|
13
|
-
} | ({
|
|
12
|
+
}
|
|
13
|
+
export interface IValidationErr extends IValidationFailure {
|
|
14
14
|
valid: false;
|
|
15
|
-
}
|
|
15
|
+
/** Up to {@link MAX_FAILURES} individual failures. */
|
|
16
|
+
errors: IValidationFailure[];
|
|
17
|
+
/** Total number of violations Ajv reported, before truncation to {@link MAX_FAILURES}. */
|
|
18
|
+
errorCount: number;
|
|
19
|
+
/** Combined one-line summary of the reported failures, suitable for an error message. */
|
|
20
|
+
summary: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function validateToolInput(tool: Tool, args: unknown): IValidationOk | IValidationErr;
|
|
23
|
+
export declare function validateToolOutput(tool: Tool, structuredContent: unknown): IValidationOk | IValidationErr;
|
|
16
24
|
//# sourceMappingURL=validate-tool-args.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-tool-args.d.ts","sourceRoot":"","sources":["../../../src/core/mcp/validate-tool-args.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"validate-tool-args.d.ts","sourceRoot":"","sources":["../../../src/core/mcp/validate-tool-args.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAgC1D,MAAM,WAAW,kBAAkB;IACjC,2FAA2F;IAC3F,KAAK,EAAE,MAAM,CAAC;IACd,mGAAmG;IACnG,MAAM,EAAE,MAAM,CAAC;IACf,6FAA6F;IAC7F,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,IAAI,CAAC;CACb;AAED,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,KAAK,EAAE,KAAK,CAAC;IACb,sDAAsD;IACtD,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,0FAA0F;IAC1F,UAAU,EAAE,MAAM,CAAC;IACnB,yFAAyF;IACzF,OAAO,EAAE,MAAM,CAAC;CACjB;AAyFD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,aAAa,GAAG,cAAc,CAU3F;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,GAAG,aAAa,GAAG,cAAc,CAUzG"}
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import Ajv2020 from 'ajv/dist/2020.js';
|
|
2
2
|
import addFormats from 'ajv-formats';
|
|
3
|
-
|
|
3
|
+
// allErrors:true — collect every violation in one pass instead of only the first.
|
|
4
|
+
// verbose:true — attach the offending value to each error so `type` failures can report the
|
|
5
|
+
// actual JS type (only the type name is surfaced, never the value itself — §13.3).
|
|
6
|
+
const ajv = new Ajv2020({ allErrors: true, verbose: true, strict: false, useDefaults: false });
|
|
4
7
|
addFormats(ajv);
|
|
8
|
+
// Upper bound on the number of failures echoed back to the client. A badly-shaped payload can
|
|
9
|
+
// produce hundreds of errors; we report at most this many and flag the overflow.
|
|
10
|
+
const MAX_FAILURES = 8;
|
|
5
11
|
const inputCache = new WeakMap();
|
|
6
12
|
const outputCache = new WeakMap();
|
|
7
13
|
function compile(schema, cache) {
|
|
@@ -21,18 +27,87 @@ function compile(schema, cache) {
|
|
|
21
27
|
return undefined;
|
|
22
28
|
}
|
|
23
29
|
}
|
|
24
|
-
function
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return { field: '', reason: 'schema_violation' };
|
|
30
|
+
function jsType(value) {
|
|
31
|
+
if (value === null) {
|
|
32
|
+
return 'null';
|
|
28
33
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
34
|
+
if (Array.isArray(value)) {
|
|
35
|
+
return 'array';
|
|
36
|
+
}
|
|
37
|
+
return typeof value;
|
|
38
|
+
}
|
|
39
|
+
/** Field path: instance path plus the specific offending property for keyword-level errors. */
|
|
40
|
+
function fieldOf(e) {
|
|
41
|
+
const p = e.params ?? {};
|
|
42
|
+
const sub = p.missingProperty || p.additionalProperty || p.propertyName || '';
|
|
33
43
|
const path = e.instancePath || '';
|
|
34
|
-
|
|
35
|
-
|
|
44
|
+
if (sub) {
|
|
45
|
+
return path ? `${path}/${sub}` : sub;
|
|
46
|
+
}
|
|
47
|
+
return path || 'root';
|
|
48
|
+
}
|
|
49
|
+
/** Map a raw Ajv error to a concise English reason that names the constraint and the actual type. */
|
|
50
|
+
function reasonOf(e) {
|
|
51
|
+
const p = e.params ?? {};
|
|
52
|
+
switch (e.keyword) {
|
|
53
|
+
case 'required':
|
|
54
|
+
return `missing required property "${p.missingProperty}"`;
|
|
55
|
+
case 'additionalProperties':
|
|
56
|
+
return `unexpected property "${p.additionalProperty}"`;
|
|
57
|
+
case 'type':
|
|
58
|
+
return `expected ${p.type}, got ${jsType(e.data)}`;
|
|
59
|
+
case 'enum':
|
|
60
|
+
return `must be one of: ${(p.allowedValues ?? []).join(', ')}`;
|
|
61
|
+
case 'const':
|
|
62
|
+
return `must equal ${JSON.stringify(p.allowedValue)}`;
|
|
63
|
+
case 'minimum':
|
|
64
|
+
case 'maximum':
|
|
65
|
+
case 'exclusiveMinimum':
|
|
66
|
+
case 'exclusiveMaximum':
|
|
67
|
+
return `must be ${p.comparison} ${p.limit}`;
|
|
68
|
+
case 'multipleOf':
|
|
69
|
+
return `must be a multiple of ${p.multipleOf}`;
|
|
70
|
+
case 'minLength':
|
|
71
|
+
return `string length must be >= ${p.limit}`;
|
|
72
|
+
case 'maxLength':
|
|
73
|
+
return `string length must be <= ${p.limit}`;
|
|
74
|
+
case 'minItems':
|
|
75
|
+
return `array length must be >= ${p.limit}`;
|
|
76
|
+
case 'maxItems':
|
|
77
|
+
return `array length must be <= ${p.limit}`;
|
|
78
|
+
case 'minProperties':
|
|
79
|
+
return `object must have >= ${p.limit} properties`;
|
|
80
|
+
case 'maxProperties':
|
|
81
|
+
return `object must have <= ${p.limit} properties`;
|
|
82
|
+
case 'pattern':
|
|
83
|
+
return `must match pattern ${p.pattern}`;
|
|
84
|
+
case 'format':
|
|
85
|
+
return `invalid format, expected ${p.format}`;
|
|
86
|
+
case 'uniqueItems':
|
|
87
|
+
return 'array items must be unique';
|
|
88
|
+
default:
|
|
89
|
+
return e.message || e.keyword || 'schema violation';
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function toFailure(e) {
|
|
93
|
+
const field = fieldOf(e);
|
|
94
|
+
return { field, reason: e.keyword || 'schema_violation', message: `${field}: ${reasonOf(e)}` };
|
|
95
|
+
}
|
|
96
|
+
function fail(errors) {
|
|
97
|
+
const all = errors ?? [];
|
|
98
|
+
const list = all.slice(0, MAX_FAILURES).map(toFailure);
|
|
99
|
+
const first = list[0] ?? { field: 'root', reason: 'schema_violation', message: 'schema violation' };
|
|
100
|
+
const overflow = all.length - list.length;
|
|
101
|
+
const summary = list.map((f) => f.message).join('; ') + (overflow > 0 ? ` (+${overflow} more)` : '');
|
|
102
|
+
return {
|
|
103
|
+
valid: false,
|
|
104
|
+
field: first.field,
|
|
105
|
+
reason: first.reason,
|
|
106
|
+
message: first.message,
|
|
107
|
+
errors: list,
|
|
108
|
+
errorCount: all.length,
|
|
109
|
+
summary,
|
|
110
|
+
};
|
|
36
111
|
}
|
|
37
112
|
export function validateToolInput(tool, args) {
|
|
38
113
|
const schema = tool.inputSchema;
|
|
@@ -43,11 +118,7 @@ export function validateToolInput(tool, args) {
|
|
|
43
118
|
if (!validate) {
|
|
44
119
|
return { valid: true };
|
|
45
120
|
}
|
|
46
|
-
|
|
47
|
-
if (ok) {
|
|
48
|
-
return { valid: true };
|
|
49
|
-
}
|
|
50
|
-
return { valid: false, ...firstError(validate.errors) };
|
|
121
|
+
return validate(args ?? {}) ? { valid: true } : fail(validate.errors);
|
|
51
122
|
}
|
|
52
123
|
export function validateToolOutput(tool, structuredContent) {
|
|
53
124
|
const schema = tool.outputSchema;
|
|
@@ -58,10 +129,6 @@ export function validateToolOutput(tool, structuredContent) {
|
|
|
58
129
|
if (!validate) {
|
|
59
130
|
return { valid: true };
|
|
60
131
|
}
|
|
61
|
-
|
|
62
|
-
if (ok) {
|
|
63
|
-
return { valid: true };
|
|
64
|
-
}
|
|
65
|
-
return { valid: false, ...firstError(validate.errors) };
|
|
132
|
+
return validate(structuredContent ?? null) ? { valid: true } : fail(validate.errors);
|
|
66
133
|
}
|
|
67
134
|
//# sourceMappingURL=validate-tool-args.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-tool-args.js","sourceRoot":"","sources":["../../../src/core/mcp/validate-tool-args.ts"],"names":[],"mappings":"AAAA,OAAO,OAA0C,MAAM,kBAAkB,CAAC;AAC1E,OAAO,UAAU,MAAM,aAAa,CAAC;AAGrC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"validate-tool-args.js","sourceRoot":"","sources":["../../../src/core/mcp/validate-tool-args.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fa-mcp-sdk",
|
|
3
3
|
"productName": "FA MCP SDK",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.12.1",
|
|
5
5
|
"description": "Core infrastructure and templates for building Model Context Protocol (MCP) servers with TypeScript",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "dist/core/index.js",
|