boondmanager-mcp-server 2.12.1 → 2.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.
@@ -0,0 +1,21 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ /**
3
+ * Recursively drop `$schema` string members. Returns the input **by identity**
4
+ * when there is nothing to strip, so a future SDK that stops emitting the
5
+ * declaration costs no allocation at all.
6
+ *
7
+ * The `typeof === "string"` guard matters: a dialect declaration is always a
8
+ * string URI, whereas a *property named* `$schema` inside a `properties` map
9
+ * would be a schema **object**. Without the guard this would silently delete
10
+ * such a property from the advertised input shape.
11
+ */
12
+ export declare function stripSchemaDialect<T>(value: T): T;
13
+ /**
14
+ * Remove the JSON Schema dialect declaration from `tools/list` responses.
15
+ *
16
+ * MUST be called before the first `registerTool` on this server: it works by
17
+ * intercepting the `setRequestHandler` call the SDK makes when it lazily
18
+ * installs the `tools/list` handler.
19
+ */
20
+ export declare function installSchemaDialectCompat(server: McpServer): void;
21
+ //# sourceMappingURL=schema-dialect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-dialect.d.ts","sourceRoot":"","sources":["../src/schema-dialect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+DzE;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAwBjD;AAgBD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgBlE"}
@@ -0,0 +1,133 @@
1
+ import { ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
2
+ /**
3
+ * Strip the JSON Schema **dialect declaration** (`$schema`) from the
4
+ * `inputSchema` / `outputSchema` advertised in `tools/list`.
5
+ *
6
+ * ## The bug this fixes
7
+ *
8
+ * `McpServer` converts our Zod schemas with `toJsonSchemaCompat`, which for
9
+ * Zod v4 calls `z.toJSONSchema(schema, { target: 'draft-7' })` — and that
10
+ * stamps every advertised schema with
11
+ *
12
+ * "$schema": "http://json-schema.org/draft-07/schema#"
13
+ *
14
+ * Hosts that validate `structuredContent` with a **2020-12-only** validator
15
+ * (Ajv's `Ajv2020`, which is what the JSON Schema tooling around the Claude
16
+ * tool API uses) refuse to *compile* such a schema at all:
17
+ *
18
+ * no schema with key or ref "http://json-schema.org/draft-07/schema#"
19
+ *
20
+ * The compile happens when the tool is registered client-side, i.e. **before**
21
+ * any call, so the tool doesn't fail — it becomes unusable. The symptom is
22
+ * asymmetric and looks baffling: only the 59 tools that declare an
23
+ * `outputSchema` are affected (every `*_search`, plus create/update/delete),
24
+ * while the ~120 tools without one (`*_get`, dictionaries, reporting) work
25
+ * fine — even though *all* 180 carry the same `$schema` on their `inputSchema`.
26
+ * That leaves a client able to read an entity only if the id is already known,
27
+ * with no way to search for it.
28
+ *
29
+ * ## Why removing the declaration is the right fix
30
+ *
31
+ * - `$schema` is **not** part of MCP's `Tool.inputSchema` / `Tool.outputSchema`
32
+ * shape. The spec asks for "a JSON Schema object"; the dialect declaration is
33
+ * optional metadata that no client needs, and most servers never emit.
34
+ * - Our schemas use **no dialect-specific keyword** (verified over the whole
35
+ * catalogue: `type`, `properties`, `required`, `items`, `enum`, `pattern`,
36
+ * `propertyNames`, `additionalProperties`, `anyOf` — identical semantics in
37
+ * draft-07 and 2020-12; no `$ref`, no `$defs`, no `definitions`). Dropping
38
+ * the declaration therefore changes no schema's meaning: every validator
39
+ * applies its own default dialect and reads them the same way.
40
+ * - The alternative — declaring 2020-12 instead — would just move the failure
41
+ * to draft-07-only validators (the MCP SDK's own client uses plain Ajv 8,
42
+ * whose default *is* draft-07). Declaring nothing is the only choice that
43
+ * satisfies both.
44
+ * - Bonus: 45 bytes × 239 schemas ≈ **10 KiB off the `tools/list` payload**,
45
+ * which this codebase budgets carefully (see `icons.ts`).
46
+ *
47
+ * ## Why a response decorator
48
+ *
49
+ * `registerTool` takes Zod, and the draft-07 target is hardcoded inside the SDK
50
+ * (`server/zod-json-schema-compat.js`) with no option to change or omit it — so
51
+ * there is nothing to pass at registration time. Same shim mechanism as
52
+ * `installProtocolIcons`: wrap the `tools/list` handler through the public
53
+ * `Server.setRequestHandler`, keyed on schema identity. When the SDK stops
54
+ * emitting `$schema` (or lets us choose), this file can be deleted —
55
+ * `schema-dialect.test.ts` asserts over a real client, so the regression can't
56
+ * come back silently.
57
+ */
58
+ /** The two fields of a `tools/list` entry that carry a JSON Schema. */
59
+ const SCHEMA_FIELDS = ["inputSchema", "outputSchema"];
60
+ /**
61
+ * Recursively drop `$schema` string members. Returns the input **by identity**
62
+ * when there is nothing to strip, so a future SDK that stops emitting the
63
+ * declaration costs no allocation at all.
64
+ *
65
+ * The `typeof === "string"` guard matters: a dialect declaration is always a
66
+ * string URI, whereas a *property named* `$schema` inside a `properties` map
67
+ * would be a schema **object**. Without the guard this would silently delete
68
+ * such a property from the advertised input shape.
69
+ */
70
+ export function stripSchemaDialect(value) {
71
+ if (Array.isArray(value)) {
72
+ let changed = false;
73
+ const out = value.map((item) => {
74
+ const stripped = stripSchemaDialect(item);
75
+ if (stripped !== item)
76
+ changed = true;
77
+ return stripped;
78
+ });
79
+ return (changed ? out : value);
80
+ }
81
+ if (value === null || typeof value !== "object")
82
+ return value;
83
+ let changed = false;
84
+ const out = {};
85
+ for (const [key, member] of Object.entries(value)) {
86
+ if (key === "$schema" && typeof member === "string") {
87
+ changed = true;
88
+ continue;
89
+ }
90
+ const stripped = stripSchemaDialect(member);
91
+ if (stripped !== member)
92
+ changed = true;
93
+ out[key] = stripped;
94
+ }
95
+ return (changed ? out : value);
96
+ }
97
+ /** Strip the dialect from one `tools/list` entry, keeping identity when possible. */
98
+ function withoutSchemaDialect(tool) {
99
+ let result = tool;
100
+ for (const field of SCHEMA_FIELDS) {
101
+ const schema = result[field];
102
+ if (schema === undefined || schema === null)
103
+ continue;
104
+ const stripped = stripSchemaDialect(schema);
105
+ if (stripped !== schema)
106
+ result = { ...result, [field]: stripped };
107
+ }
108
+ return result;
109
+ }
110
+ /**
111
+ * Remove the JSON Schema dialect declaration from `tools/list` responses.
112
+ *
113
+ * MUST be called before the first `registerTool` on this server: it works by
114
+ * intercepting the `setRequestHandler` call the SDK makes when it lazily
115
+ * installs the `tools/list` handler.
116
+ */
117
+ export function installSchemaDialectCompat(server) {
118
+ // `Server.setRequestHandler` is generic over the request schema; the shim is
119
+ // schema-agnostic, hence the single cast at the boundary.
120
+ const underlying = server.server;
121
+ const original = underlying.setRequestHandler.bind(underlying);
122
+ underlying.setRequestHandler = (schema, handler) => {
123
+ if (schema !== ListToolsRequestSchema)
124
+ return original(schema, handler);
125
+ return original(schema, async (...args) => {
126
+ const result = (await handler(...args));
127
+ if (!Array.isArray(result?.tools))
128
+ return result;
129
+ return { ...result, tools: result.tools.map(withoutSchemaDialect) };
130
+ });
131
+ };
132
+ }
133
+ //# sourceMappingURL=schema-dialect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-dialect.js","sourceRoot":"","sources":["../src/schema-dialect.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4CpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAoD,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAChH,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,oCAAoC,CAAC;AAI5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,eAAO,MAAM,WAAW,4BAA4B,CAAC;AAmCrD,eAAO,MAAM,cAAc,QAA4D,CAAC;AAExF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,QAG9B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC,CAwClH,CAAC;AAEJ;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAiBpG;AAED,wBAAgB,eAAe,IAAI,SAAS,CAwB3C"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4CpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAoD,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAChH,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,oCAAoC,CAAC;AAK5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,eAAO,MAAM,WAAW,4BAA4B,CAAC;AAmCrD,eAAO,MAAM,cAAc,QAA4D,CAAC;AAExF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,QAG9B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC,CAwClH,CAAC;AAEJ;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAiBpG;AAED,wBAAgB,eAAe,IAAI,SAAS,CA+B3C"}
package/dist/server.js CHANGED
@@ -9,6 +9,7 @@ import { SERVER_INSTRUCTIONS } from "./instructions.js";
9
9
  import { resolveAccessPolicy, isDomainAllowed, withPolicy } from "./config/access-policy.js";
10
10
  import { createRegistrationIndex, decorateRegistrations, } from "./tools/registration-decorators.js";
11
11
  import { installProtocolIcons } from "./icons.js";
12
+ import { installSchemaDialectCompat } from "./schema-dialect.js";
12
13
  // Re-exported for the catalogue generator and tests that import it from here.
13
14
  export { REGISTERED_DOMAINS } from "./constants.js";
14
15
  export const SERVER_NAME = "boondmanager-mcp-server";
@@ -163,6 +164,12 @@ export function createMcpServer() {
163
164
  // call. The index it closes over is filled during registerAll below.
164
165
  const index = createRegistrationIndex();
165
166
  installProtocolIcons(server, index);
167
+ // Same "before any registration" constraint, same mechanism: drops the
168
+ // draft-07 `$schema` the SDK stamps on every advertised inputSchema/
169
+ // outputSchema, which a 2020-12-only host validator refuses to compile —
170
+ // making every tool that declares an outputSchema (all `*_search`) unusable
171
+ // client-side. See schema-dialect.ts.
172
+ installSchemaDialectCompat(server);
166
173
  // Operator-configured restrictions (env-driven). Absent config = full surface.
167
174
  registerAll(server, resolveAccessPolicy(), index);
168
175
  return server;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/manifest.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "manifest_version": "0.3",
3
3
  "name": "boondmanager-mcp-server",
4
4
  "display_name": "BoondManager MCP Server",
5
- "version": "2.12.1",
5
+ "version": "2.12.2",
6
6
  "description": "MCP Server for BoondManager API - 180 tools, 11 prompts, 22 resources (ERP/CRM)",
7
7
  "author": {
8
8
  "name": "Frédéric Auguste",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "boondmanager-mcp-server",
3
- "version": "2.12.1",
3
+ "version": "2.12.2",
4
4
  "description": "MCP Server for BoondManager API - 180 tools, 11 prompts, 22 resources (ERP/CRM)",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -68,6 +68,7 @@
68
68
  "@eslint/js": "^10.0.1",
69
69
  "@types/node": "^26.0.0",
70
70
  "@vitest/coverage-v8": "^4.0.18",
71
+ "ajv": "^8.17.1",
71
72
  "eslint": "^10.0.2",
72
73
  "husky": "^9.1.7",
73
74
  "lint-staged": "^17.0.4",