TTypeScript SDKSource ↗
@modelcontextprotocol/core

@modelcontextprotocol/core

Canonical public home for the Model Context Protocol specification and OAuth/OpenID Zod schemas.

These are the exact schema constants the SDK validates protocol and OAuth/OpenID payloads against internally. The @modelcontextprotocol/server and @modelcontextprotocol/client packages keep a Zod-free public surface, so this package exists as the supported place to import the raw schemas when you need to validate or parse MCP messages yourself.

Install

npm install @modelcontextprotocol/core

Usage

import { CallToolResultSchema } from '@modelcontextprotocol/core';

// Throws on invalid input; returns the typed result on success.
const result = CallToolResultSchema.parse(payload);

// Or non-throwing:
const parsed = CallToolResultSchema.safeParse(payload);
if (parsed.success) {
    // parsed.data is a fully typed CallToolResult
}

Scope

This package exports only Zod schema constants (*Schema), in two groups:

  • the MCP spec schemas — CallToolResultSchema, ListToolsResultSchema, …; and
  • the OAuth/OpenID auth schemas — OAuthTokensSchema, OAuthMetadataSchema, IdJagTokenExchangeResponseSchema, … (the schemas v1 exposed from @modelcontextprotocol/sdk/shared/auth.js).

The corresponding TypeScript types, error classes, enums, and type guards are part of the public API of @modelcontextprotocol/server and @modelcontextprotocol/client.

Migrating from v1? In v1 these schemas were imported from @modelcontextprotocol/sdk/types.js (spec schemas) and @modelcontextprotocol/sdk/shared/auth.js (OAuth/OpenID schemas). Point those *Schema imports at @modelcontextprotocol/core and your existing .parse() / .safeParse() calls keep working unchanged.


Source: packages/core/README.md

Generated by smolify with deterministic-repository-import-v1 · 1 source file