@clipform/mcp-server 2.3.0 → 2.5.0

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/dist/index.js CHANGED
@@ -2,11 +2,11 @@
2
2
  import {
3
3
  JSONRPCMessageSchema,
4
4
  createServer
5
- } from "./chunk-QC4JULCW.js";
6
- import "./chunk-WCPHQ4GU.js";
7
- import "./chunk-WNXTF76M.js";
8
- import "./chunk-YZJZ5NPL.js";
9
- import "./chunk-V4L5RQWK.js";
5
+ } from "./chunk-3OX54HSJ.js";
6
+ import "./chunk-NYMC63ZK.js";
7
+ import "./chunk-6EHOUAPE.js";
8
+ import "./chunk-3BYQLPTT.js";
9
+ import "./chunk-ENHVQDSI.js";
10
10
  import {
11
11
  setMcpVersion
12
12
  } from "./chunk-PBQ5BQWD.js";
@@ -17,12 +17,21 @@ import { readFileSync } from "fs";
17
17
  import { dirname, join } from "path";
18
18
  import { fileURLToPath } from "url";
19
19
 
20
- // ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.29.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js
20
+ // ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js
21
21
  import process2 from "process";
22
22
 
23
- // ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.29.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js
23
+ // ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js
24
+ var STDIO_DEFAULT_MAX_BUFFER_SIZE = 10 * 1024 * 1024;
24
25
  var ReadBuffer = class {
26
+ constructor(options) {
27
+ this._maxBufferSize = options?.maxBufferSize ?? STDIO_DEFAULT_MAX_BUFFER_SIZE;
28
+ }
25
29
  append(chunk) {
30
+ const newSize = (this._buffer?.length ?? 0) + chunk.length;
31
+ if (newSize > this._maxBufferSize) {
32
+ this.clear();
33
+ throw new Error(`ReadBuffer exceeded maximum size of ${this._maxBufferSize} bytes`);
34
+ }
26
35
  this._buffer = this._buffer ? Buffer.concat([this._buffer, chunk]) : chunk;
27
36
  }
28
37
  readMessage() {
@@ -48,20 +57,26 @@ function serializeMessage(message) {
48
57
  return JSON.stringify(message) + "\n";
49
58
  }
50
59
 
51
- // ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.29.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js
60
+ // ../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js
52
61
  var StdioServerTransport = class {
53
- constructor(_stdin = process2.stdin, _stdout = process2.stdout) {
62
+ constructor(_stdin = process2.stdin, _stdout = process2.stdout, options) {
54
63
  this._stdin = _stdin;
55
64
  this._stdout = _stdout;
56
- this._readBuffer = new ReadBuffer();
57
65
  this._started = false;
58
66
  this._ondata = (chunk) => {
59
- this._readBuffer.append(chunk);
60
- this.processReadBuffer();
67
+ try {
68
+ this._readBuffer.append(chunk);
69
+ this.processReadBuffer();
70
+ } catch (error) {
71
+ this.onerror?.(error);
72
+ this.close().catch(() => {
73
+ });
74
+ }
61
75
  };
62
76
  this._onerror = (error) => {
63
77
  this.onerror?.(error);
64
78
  };
79
+ this._readBuffer = new ReadBuffer({ maxBufferSize: options?.maxBufferSize });
65
80
  }
66
81
  /**
67
82
  * Starts listening for messages on stdin.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.29.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/src/server/stdio.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.29.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/src/shared/stdio.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { readFileSync } from \"node:fs\";\nimport { dirname, join } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { StdioServerTransport } from \"@modelcontextprotocol/sdk/server/stdio.js\";\nimport { createServer } from \"./server.js\";\nimport { setMcpVersion } from \"./lib/telemetry.js\";\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\nconst pkg = JSON.parse(readFileSync(join(__dirname, \"..\", \"package.json\"), \"utf-8\"));\nsetMcpVersion(pkg.version);\n\nconst telemetryOff =\n process.env.DO_NOT_TRACK === \"1\" || process.env.CLIPFORM_TELEMETRY === \"off\";\n\nconst server = createServer();\nconst transport = new StdioServerTransport();\nawait server.connect(transport);\nconsole.error(`Clipform MCP Server v${pkg.version} running on stdio`);\nif (!telemetryOff) {\n console.error(\"Telemetry enabled (server errors only). Set DO_NOT_TRACK=1 to disable.\");\n}\n",null,null],"mappings":";;;;;;;;;;;;;;;AACA,SAAS,oBAAoB;AAC7B,SAAS,SAAS,YAAY;AAC9B,SAAS,qBAAqB;;;ACH9B,OAAOA,cAAa;;;ACKd,IAAO,aAAP,MAAiB;EAGnB,OAAO,OAAa;AAChB,SAAK,UAAU,KAAK,UAAU,OAAO,OAAO,CAAC,KAAK,SAAS,KAAK,CAAC,IAAI;EACzE;EAEA,cAAW;AACP,QAAI,CAAC,KAAK,SAAS;AACf,aAAO;IACX;AAEA,UAAM,QAAQ,KAAK,QAAQ,QAAQ,IAAI;AACvC,QAAI,UAAU,IAAI;AACd,aAAO;IACX;AAEA,UAAM,OAAO,KAAK,QAAQ,SAAS,QAAQ,GAAG,KAAK,EAAE,QAAQ,OAAO,EAAE;AACtE,SAAK,UAAU,KAAK,QAAQ,SAAS,QAAQ,CAAC;AAC9C,WAAO,mBAAmB,IAAI;EAClC;EAEA,QAAK;AACD,SAAK,UAAU;EACnB;;AAGE,SAAU,mBAAmB,MAAY;AAC3C,SAAO,qBAAqB,MAAM,KAAK,MAAM,IAAI,CAAC;AACtD;AAEM,SAAU,iBAAiB,SAAuB;AACpD,SAAO,KAAK,UAAU,OAAO,IAAI;AACrC;;;AD3BM,IAAO,uBAAP,MAA2B;EAI7B,YACY,SAAmBC,SAAQ,OAC3B,UAAoBA,SAAQ,QAAM;AADlC,SAAA,SAAA;AACA,SAAA,UAAA;AALJ,SAAA,cAA0B,IAAI,WAAU;AACxC,SAAA,WAAW;AAYnB,SAAA,UAAU,CAAC,UAAiB;AACxB,WAAK,YAAY,OAAO,KAAK;AAC7B,WAAK,kBAAiB;IAC1B;AACA,SAAA,WAAW,CAAC,UAAgB;AACxB,WAAK,UAAU,KAAK;IACxB;EAbG;;;;EAkBH,MAAM,QAAK;AACP,QAAI,KAAK,UAAU;AACf,YAAM,IAAI,MACN,+GAA+G;IAEvH;AAEA,SAAK,WAAW;AAChB,SAAK,OAAO,GAAG,QAAQ,KAAK,OAAO;AACnC,SAAK,OAAO,GAAG,SAAS,KAAK,QAAQ;EACzC;EAEQ,oBAAiB;AACrB,WAAO,MAAM;AACT,UAAI;AACA,cAAM,UAAU,KAAK,YAAY,YAAW;AAC5C,YAAI,YAAY,MAAM;AAClB;QACJ;AAEA,aAAK,YAAY,OAAO;MAC5B,SAAS,OAAO;AACZ,aAAK,UAAU,KAAc;MACjC;IACJ;EACJ;EAEA,MAAM,QAAK;AAEP,SAAK,OAAO,IAAI,QAAQ,KAAK,OAAO;AACpC,SAAK,OAAO,IAAI,SAAS,KAAK,QAAQ;AAGtC,UAAM,yBAAyB,KAAK,OAAO,cAAc,MAAM;AAC/D,QAAI,2BAA2B,GAAG;AAG9B,WAAK,OAAO,MAAK;IACrB;AAGA,SAAK,YAAY,MAAK;AACtB,SAAK,UAAS;EAClB;EAEA,KAAK,SAAuB;AACxB,WAAO,IAAI,QAAQ,aAAU;AACzB,YAAM,OAAO,iBAAiB,OAAO;AACrC,UAAI,KAAK,QAAQ,MAAM,IAAI,GAAG;AAC1B,gBAAO;MACX,OAAO;AACH,aAAK,QAAQ,KAAK,SAAS,OAAO;MACtC;IACJ,CAAC;EACL;;;;ADlFJ,IAAM,YAAY,QAAQ,cAAc,YAAY,GAAG,CAAC;AACxD,IAAM,MAAM,KAAK,MAAM,aAAa,KAAK,WAAW,MAAM,cAAc,GAAG,OAAO,CAAC;AACnF,cAAc,IAAI,OAAO;AAEzB,IAAM,eACJ,QAAQ,IAAI,iBAAiB,OAAO,QAAQ,IAAI,uBAAuB;AAEzE,IAAM,SAAS,aAAa;AAC5B,IAAM,YAAY,IAAI,qBAAqB;AAC3C,MAAM,OAAO,QAAQ,SAAS;AAC9B,QAAQ,MAAM,wBAAwB,IAAI,OAAO,mBAAmB;AACpE,IAAI,CAAC,cAAc;AACjB,UAAQ,MAAM,wEAAwE;AACxF;","names":["process","process"]}
1
+ {"version":3,"sources":["../src/index.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/src/server/stdio.ts","../../../node_modules/.pnpm/@modelcontextprotocol+sdk@1.30.0_zod@3.25.76/node_modules/@modelcontextprotocol/sdk/src/shared/stdio.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { readFileSync } from \"node:fs\";\nimport { dirname, join } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { StdioServerTransport } from \"@modelcontextprotocol/sdk/server/stdio.js\";\nimport { createServer } from \"./server.js\";\nimport { setMcpVersion } from \"./lib/telemetry.js\";\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\nconst pkg = JSON.parse(readFileSync(join(__dirname, \"..\", \"package.json\"), \"utf-8\"));\nsetMcpVersion(pkg.version);\n\nconst telemetryOff =\n process.env.DO_NOT_TRACK === \"1\" || process.env.CLIPFORM_TELEMETRY === \"off\";\n\nconst server = createServer();\nconst transport = new StdioServerTransport();\nawait server.connect(transport);\nconsole.error(`Clipform MCP Server v${pkg.version} running on stdio`);\nif (!telemetryOff) {\n console.error(\"Telemetry enabled (server errors only). Set DO_NOT_TRACK=1 to disable.\");\n}\n",null,null],"mappings":"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","names":["process","process"]}
package/dist/prompts.js CHANGED
@@ -3,9 +3,9 @@ import {
3
3
  buildDiscovery,
4
4
  getWorkflowText,
5
5
  registerPrompts
6
- } from "./chunk-WCPHQ4GU.js";
7
- import "./chunk-YZJZ5NPL.js";
8
- import "./chunk-V4L5RQWK.js";
6
+ } from "./chunk-NYMC63ZK.js";
7
+ import "./chunk-3BYQLPTT.js";
8
+ import "./chunk-ENHVQDSI.js";
9
9
  import "./chunk-PBQ5BQWD.js";
10
10
  import "./chunk-G3PMV62Z.js";
11
11
  export {
package/dist/resources.js CHANGED
@@ -3,9 +3,9 @@ import {
3
3
  QUIZ_VARIANTS,
4
4
  getGuideUri,
5
5
  registerResources
6
- } from "./chunk-WNXTF76M.js";
7
- import "./chunk-YZJZ5NPL.js";
8
- import "./chunk-V4L5RQWK.js";
6
+ } from "./chunk-6EHOUAPE.js";
7
+ import "./chunk-3BYQLPTT.js";
8
+ import "./chunk-ENHVQDSI.js";
9
9
  import "./chunk-PBQ5BQWD.js";
10
10
  import "./chunk-G3PMV62Z.js";
11
11
  export {
package/dist/server.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import { McpToolset } from '@vid-master/config';
2
3
 
3
4
  declare const RENDER_TIMING: {
4
5
  readonly expectedRange: "15-120 seconds";
@@ -18,6 +19,16 @@ interface CreateServerOptions {
18
19
  * to expose every tool - real enforcement stays in the API routes.
19
20
  */
20
21
  planTier?: number;
22
+ /**
23
+ * Connect-time toolset filter (#3309, static phase 1+2 only - no
24
+ * `tools/list_changed` capability, since the transport is stateless and
25
+ * has no session to notify mid-connection; see MCP_TOOL_TOOLSETS in
26
+ * @vid-master/config for the full rationale). When set, only tools whose
27
+ * MCP_TOOL_TOOLSETS entry is in this list are registered. Leave undefined
28
+ * to register every toolset (today's behavior - stdio/npx and every
29
+ * existing client unaffected).
30
+ */
31
+ toolsets?: readonly McpToolset[];
21
32
  }
22
33
  declare function createServer(options?: CreateServerOptions): McpServer;
23
34
 
package/dist/server.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  RENDER_TIMING,
3
3
  createServer
4
- } from "./chunk-QC4JULCW.js";
5
- import "./chunk-WCPHQ4GU.js";
6
- import "./chunk-WNXTF76M.js";
7
- import "./chunk-YZJZ5NPL.js";
8
- import "./chunk-V4L5RQWK.js";
4
+ } from "./chunk-3OX54HSJ.js";
5
+ import "./chunk-NYMC63ZK.js";
6
+ import "./chunk-6EHOUAPE.js";
7
+ import "./chunk-3BYQLPTT.js";
8
+ import "./chunk-ENHVQDSI.js";
9
9
  import "./chunk-PBQ5BQWD.js";
10
10
  import "./chunk-G3PMV62Z.js";
11
11
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clipform/mcp-server",
3
- "version": "2.3.0",
3
+ "version": "2.5.0",
4
4
  "mcpName": "io.github.Clipform/mcp-server",
5
5
  "description": "MCP server for building and managing Clipform video forms",
6
6
  "license": "MIT",
@@ -44,14 +44,16 @@
44
44
  "dist"
45
45
  ],
46
46
  "devDependencies": {
47
- "@modelcontextprotocol/sdk": "^1.12.1",
47
+ "@modelcontextprotocol/sdk": "^1.30.0",
48
+ "ai": "^6.0.176",
48
49
  "tsup": "^8.5.1",
49
50
  "tsx": "^4.19.4",
50
51
  "typescript": "^5.9.3",
51
52
  "vitest": "^3.2.4",
52
53
  "yaml": "^2.9.0",
53
54
  "zod": "^3.25.76",
54
- "@clipform/mcp-content": "0.0.0"
55
+ "@clipform/mcp-content": "0.0.0",
56
+ "@vid-master/eval-kit": "1.0.0"
55
57
  },
56
58
  "scripts": {
57
59
  "start": "node dist/index.js",
@@ -59,6 +61,11 @@
59
61
  "build": "tsup",
60
62
  "type-check": "tsc --noEmit",
61
63
  "test": "vitest run",
62
- "smoke": "node --import tsx/esm scripts/smoke.ts"
64
+ "smoke": "node --import tsx/esm scripts/smoke.ts",
65
+ "eval": "node --import tsx/esm scripts/eval/index.ts",
66
+ "eval:snapshot": "node --import tsx/esm scripts/eval/tool-surface.ts",
67
+ "collaborate": "node --import tsx/esm scripts/eval/collaborate.ts",
68
+ "verify:submission": "node --import tsx/esm scripts/verify-submission.ts",
69
+ "generate:submission": "node --import tsx/esm scripts/generate-submission-json.ts"
63
70
  }
64
71
  }