Skip to content

Commit 5371247

Browse files
feat: support latest Zod
1 parent 324d471 commit 5371247

30 files changed

+46
-38
lines changed

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ Let's create a simple MCP server that exposes a calculator tool and some data. S
5858
import { McpServer, ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
5959
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
6060
import express from 'express';
61-
import { z } from 'zod';
61+
import { z } from 'zod/v3';
6262

6363
// Create an MCP server
6464
const server = new McpServer({
@@ -477,7 +477,7 @@ MCP servers can request LLM completions from connected clients that support samp
477477
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
478478
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
479479
import express from 'express';
480-
import { z } from 'zod';
480+
import { z } from 'zod/v3';
481481

482482
const mcpServer = new McpServer({
483483
name: 'tools-with-sample-server',
@@ -561,7 +561,7 @@ For most use cases where session management isn't needed:
561561
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
562562
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
563563
import express from 'express';
564-
import { z } from 'zod';
564+
import { z } from 'zod/v3';
565565

566566
const app = express();
567567
app.use(express.json());
@@ -796,7 +796,7 @@ A simple server demonstrating resources, tools, and prompts:
796796

797797
```typescript
798798
import { McpServer, ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
799-
import { z } from 'zod';
799+
import { z } from 'zod/v3';
800800

801801
const server = new McpServer({
802802
name: 'echo-server',
@@ -866,7 +866,7 @@ A more complex example showing database integration:
866866
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
867867
import sqlite3 from 'sqlite3';
868868
import { promisify } from 'util';
869-
import { z } from 'zod';
869+
import { z } from 'zod/v3';
870870

871871
const server = new McpServer({
872872
name: 'sqlite-explorer',
@@ -961,7 +961,7 @@ If you want to offer an initial set of tools/prompts/resources, but later add ad
961961
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
962962
import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
963963
import express from 'express';
964-
import { z } from 'zod';
964+
import { z } from 'zod/v3';
965965

966966
const server = new McpServer({
967967
name: 'Dynamic Example',

package-lock.json

Lines changed: 12 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@
8888
"express-rate-limit": "^7.5.0",
8989
"pkce-challenge": "^5.0.0",
9090
"raw-body": "^3.0.0",
91-
"zod": "^3.23.8",
91+
"zod": "^3.25.76 || ^4.1.12",
9292
"zod-to-json-schema": "^3.24.1"
9393
},
9494
"peerDependencies": {

src/client/index.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
/* eslint-disable no-constant-binary-expression */
33
/* eslint-disable @typescript-eslint/no-unused-expressions */
44
import { Client } from './index.js';
5-
import { z } from 'zod';
5+
import { z } from 'zod/v3';
66
import {
77
RequestSchema,
88
NotificationSchema,

src/client/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ import {
4242
} from '../types.js';
4343
import { AjvJsonSchemaValidator } from '../validation/ajv-provider.js';
4444
import type { JsonSchemaType, JsonSchemaValidator, jsonSchemaValidator } from '../validation/types.js';
45-
import { ZodLiteral, ZodObject, z } from 'zod';
45+
import { ZodLiteral, ZodObject, z } from 'zod/v3';
4646
import type { RequestHandlerExtra } from '../shared/protocol.js';
4747

4848
/**

src/examples/server/jsonResponseStreamableHttp.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import express, { Request, Response } from 'express';
22
import { randomUUID } from 'node:crypto';
33
import { McpServer } from '../../server/mcp.js';
44
import { StreamableHTTPServerTransport } from '../../server/streamableHttp.js';
5-
import { z } from 'zod';
5+
import { z } from 'zod/v3';
66
import { CallToolResult, isInitializeRequest } from '../../types.js';
77
import cors from 'cors';
88

src/examples/server/mcpServerOutputSchema.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
import { McpServer } from '../../server/mcp.js';
88
import { StdioServerTransport } from '../../server/stdio.js';
9-
import { z } from 'zod';
9+
import { z } from 'zod/v3';
1010

1111
const server = new McpServer({
1212
name: 'mcp-output-schema-high-level-example',

src/examples/server/simpleSseServer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import express, { Request, Response } from 'express';
22
import { McpServer } from '../../server/mcp.js';
33
import { SSEServerTransport } from '../../server/sse.js';
4-
import { z } from 'zod';
4+
import { z } from 'zod/v3';
55
import { CallToolResult } from '../../types.js';
66

77
/**

src/examples/server/simpleStatelessStreamableHttp.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import express, { Request, Response } from 'express';
22
import { McpServer } from '../../server/mcp.js';
33
import { StreamableHTTPServerTransport } from '../../server/streamableHttp.js';
4-
import { z } from 'zod';
4+
import { z } from 'zod/v3';
55
import { CallToolResult, GetPromptResult, ReadResourceResult } from '../../types.js';
66
import cors from 'cors';
77

src/examples/server/simpleStreamableHttp.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import express, { Request, Response } from 'express';
22
import { randomUUID } from 'node:crypto';
3-
import { z } from 'zod';
3+
import { z } from 'zod/v3';
44
import { McpServer } from '../../server/mcp.js';
55
import { StreamableHTTPServerTransport } from '../../server/streamableHttp.js';
66
import { getOAuthProtectedResourceMetadataUrl, mcpAuthMetadataRouter } from '../../server/auth/router.js';

0 commit comments

Comments
 (0)