v2: cf workers fix (#1843)

Co-authored-by: Felix Weinberger <3823880+felixweinberger@users.noreply.github.com>
This commit is contained in:
Konstantin Konstantinov 2026-04-04 08:40:45 +03:00 • committed by GitHub
commit 7ba58dac51
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 48 additions and 31 deletions

View file

@ -480,7 +480,10 @@ new McpServer(
new McpServer({ name: 'server', version: '1.0.0' }, {});
```
Access validators via `_shims` export: `import { DefaultJsonSchemaValidator } from '@modelcontextprotocol/server/_shims';`
Access validators explicitly:
- Runtime-aware default: `import { DefaultJsonSchemaValidator } from '@modelcontextprotocol/server/_shims';`
- AJV (Node.js): `import { AjvJsonSchemaValidator } from '@modelcontextprotocol/server';`
- CF Worker: `import { CfWorkerJsonSchemaValidator } from '@modelcontextprotocol/server/validators/cf-worker';`
## 15. Migration Steps (apply in this order)

View file

@ -835,7 +835,8 @@ This means Cloudflare Workers users no longer need to explicitly pass the valida
**Before (v1) - Cloudflare Workers required explicit configuration:**
```typescript
import { McpServer, CfWorkerJsonSchemaValidator } from '@modelcontextprotocol/server';
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { CfWorkerJsonSchemaValidator } from '@modelcontextprotocol/sdk/validation/cfworker';
const server = new McpServer(
{ name: 'my-server', version: '1.0.0' },
@ -858,12 +859,15 @@ const server = new McpServer(
);
```
You can still explicitly override the validator if needed. The validators are available via the `_shims` export:
You can still explicitly override the validator if needed:
```typescript
// Runtime-aware default (auto-selects AjvJsonSchemaValidator or CfWorkerJsonSchemaValidator)
import { DefaultJsonSchemaValidator } from '@modelcontextprotocol/server/_shims';
// or
import { AjvJsonSchemaValidator, CfWorkerJsonSchemaValidator } from '@modelcontextprotocol/server';
// Specific validators
import { AjvJsonSchemaValidator } from '@modelcontextprotocol/server';
import { CfWorkerJsonSchemaValidator } from '@modelcontextprotocol/server/validators/cf-worker';
```
## Unchanged APIs