fa-mcp-sdk 0.11.14 → 0.12.2

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.
@@ -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` with
38
- `error.data = { field, reason }`; the handler is **not** invoked. This means tool code
39
- no longer needs to repeat shape checks — by the time the handler runs, `args` already
40
- matches the schema.
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": "invalid_type", // machine-readable hint
217
- "retryAfter": 12 // seconds, for -32003
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": { "field": "name", "reason": "required" }
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
  ```
@@ -58,7 +58,7 @@
58
58
  "dependencies": {
59
59
  "@modelcontextprotocol/sdk": "^1.29.0",
60
60
  "dotenv": "^17.4.1",
61
- "fa-mcp-sdk": "^0.11.14"
61
+ "fa-mcp-sdk": "^0.12.2"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@types/express": "^5.0.6",
@@ -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.
@@ -60,6 +60,9 @@ mcp:
60
60
  tools:
61
61
  answerAs: MCP_TOOLS_ANSWER_AS
62
62
  hideAnnotations: MCP_TOOLS_HIDE_ANNOTATIONS
63
+ validateInput:
64
+ __name: MCP_TOOLS_VALIDATE_INPUT
65
+ __format: boolean
63
66
  debug:
64
67
  logFile: MCP_DEBUG_LOG_FILE
65
68
  builtinTools:
@@ -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,CAsoBrE"}
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, 'Tool produced result that violates outputSchema', {
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
- const inputCheck = validateToolInput(tool, args);
367
- if (!inputCheck.valid) {
368
- getMetrics()?.toolCalls.inc({ tool: toolName, status: 'invalid_params' });
369
- throw new McpError(-32602, 'Invalid params', { field: inputCheck.field, reason: inputCheck.reason });
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 declare function validateToolInput(tool: Tool, args: unknown): {
10
+ export interface IValidationOk {
7
11
  valid: true;
8
- } | ({
9
- valid: false;
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
- } & IValidationFailure);
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;AAyB1D,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAiBD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,OAAO,GACZ;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG,CAAC;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,kBAAkB,CAAC,CAc3D;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,EACV,iBAAiB,EAAE,OAAO,GACzB;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG,CAAC;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG,kBAAkB,CAAC,CAc3D"}
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
- const ajv = new Ajv2020({ allErrors: false, strict: false, useDefaults: false });
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 firstError(errors) {
25
- const e = errors?.[0];
26
- if (!e) {
27
- return { field: '', reason: 'schema_violation' };
30
+ function jsType(value) {
31
+ if (value === null) {
32
+ return 'null';
28
33
  }
29
- const fieldFromParams = e.params?.missingProperty ||
30
- e.params?.additionalProperty ||
31
- e.params?.propertyName ||
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
- const field = fieldFromParams ? (path ? `${path}/${fieldFromParams}` : fieldFromParams) : path || 'root';
35
- return { field, reason: e.message || e.keyword || 'schema_violation' };
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
- const ok = validate(args ?? {});
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
- const ok = validate(structuredContent ?? null);
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":"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"}
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.11.14",
4
+ "version": "0.12.2",
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",