This is the documentation for v2 — looking for the v1 documentation?
Skip to content

MCP TypeScript SDK (V2) / @modelcontextprotocol/server / server/mcp

server/mcp ​

Classes ​

McpServer ​

Defined in: packages/server/src/server/mcp.ts:112

High-level MCP server that provides a simpler API for working with resources, tools, and prompts. For advanced usage (like sending notifications or setting custom request handlers), use the underlying Server instance available via the server property.

Example ​

ts
const server = new McpServer({
    name: 'my-server',
    version: '1.0.0'
});

Constructors ​

Constructor ​

new McpServer(serverInfo, options?): McpServer

Defined in: packages/server/src/server/mcp.ts:152

Parameters ​
serverInfo ​
description? ​

string = ...

An optional human-readable description of what this implementation does.

This can be used by clients or servers to provide context about their purpose and capabilities. For example, a server might describe the types of resources or tools it provides, while a client might describe its intended use case.

icons? ​

object[] = ...

Optional set of sized icons that the client can display in a user interface.

Clients that support rendering icons MUST support at least the following MIME types:

  • image/png - PNG images (safe, universal compatibility)
  • image/jpeg (and image/jpg) - JPEG images (safe, universal compatibility)

Clients that support rendering icons SHOULD also support:

  • image/svg+xml - SVG images (scalable but requires security precautions)
  • image/webp - WebP images (modern, efficient format)
name ​

string = ...

Intended for programmatic or logical use, but used as a display name in past specs or fallback

title? ​

string = ...

Intended for UI and end-user contexts — optimized to be human-readable and easily understood, even by those unfamiliar with domain-specific terminology.

If not provided, the name should be used for display (except for Tool, where annotations.title should be given precedence over using name, if present).

version ​

string = ...

websiteUrl? ​

string = ...

An optional URL of the website for this implementation.

options? ​

McpServerOptions

Returns ​

McpServer

Properties ​

resolveScopeChallenge ​

resolveScopeChallenge: ScopeChallengeHandler

Defined in: packages/server/src/server/mcp.ts:199

Internal

server ​

readonly server: Server

Defined in: packages/server/src/server/mcp.ts:116

The underlying Server instance, useful for advanced operations like sending notifications.

Methods ​

close() ​

close(): Promise<void>

Defined in: packages/server/src/server/mcp.ts:194

Closes the connection.

Returns ​

Promise<void>

connect() ​

connect(transport): Promise<void>

Defined in: packages/server/src/server/mcp.ts:184

Attaches to the given transport, starts it, and starts listening for messages.

The server object assumes ownership of the Transport, replacing any callbacks that have already been set, and expects that it is the only user of the Transport instance going forward.

Parameters ​
transport ​

Transport

Returns ​

Promise<void>

Example ​
ts
const server = new McpServer({ name: 'my-server', version: '1.0.0' });
const transport = new StdioServerTransport();
await server.connect(transport);
isConnected() ​

isConnected(): boolean

Defined in: packages/server/src/server/mcp.ts:1220

Checks if the server is connected to a transport.

Returns ​

boolean

true if the server is connected

registerPrompt() ​
Call Signature ​

registerPrompt(name, config, cb): RegisteredPrompt

Defined in: packages/server/src/server/mcp.ts:1142

Registers a prompt with a config object and callback.

Parameters ​
name ​

string

config ​
_meta? ​

Record<string, unknown>

argsSchema? ​

undefined

description? ​

string

icons? ​

object[]

scopeChallenge? ​

ScopeChallengeHandler

Determines whether this prompt retrieval needs an OAuth scope challenge.

title? ​

string

cb ​

(ctx) => {[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/serverInfo?: { description?: string; icons?: object[]; name: string; title?: string; version: string; websiteUrl?: string; }; }; description?: string; messages: object[]; } | InputRequiredResult | Promise<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/serverInfo?: { description?: string; icons?: ...[]; name: string; title?: string; version: string; websiteUrl?: string; }; }; description?: string; messages: object[]; } | InputRequiredResult>

Returns ​

RegisteredPrompt

Example ​
ts
server.registerPrompt(
    'review-code',
    {
        title: 'Code Review',
        description: 'Review code for best practices',
        argsSchema: z.object({ code: z.string() })
    },
    ({ code }) => ({
        messages: [
            {
                role: 'user' as const,
                content: {
                    type: 'text' as const,
                    text: `Please review this code:\n\n${code}`
                }
            }
        ]
    })
);
Call Signature ​

registerPrompt<Args>(name, config, cb): RegisteredPrompt

Defined in: packages/server/src/server/mcp.ts:1155

Registers a prompt with a config object and callback.

Type Parameters ​
Args ​

Args extends StandardSchemaWithJSON<unknown, unknown>

Parameters ​
name ​

string

config ​
_meta? ​

Record<string, unknown>

argsSchema? ​

Args

description? ​

string

icons? ​

object[]

scopeChallenge? ​

ScopeChallengeHandler

Determines whether this prompt retrieval needs an OAuth scope challenge.

title? ​

string

cb ​

PromptCallback<Args>

Returns ​

RegisteredPrompt

Example ​
ts
server.registerPrompt(
    'review-code',
    {
        title: 'Code Review',
        description: 'Review code for best practices',
        argsSchema: z.object({ code: z.string() })
    },
    ({ code }) => ({
        messages: [
            {
                role: 'user' as const,
                content: {
                    type: 'text' as const,
                    text: `Please review this code:\n\n${code}`
                }
            }
        ]
    })
);
Call Signature ​

registerPrompt<Args>(name, config, cb): RegisteredPrompt

Defined in: packages/server/src/server/mcp.ts:1169

Type Parameters ​
Args ​

Args extends ZodRawShape

Parameters ​
name ​

string

config ​
_meta? ​

Record<string, unknown>

argsSchema? ​

Args

description? ​

string

icons? ​

object[]

scopeChallenge? ​

ScopeChallengeHandler

title? ​

string

cb ​

LegacyPromptCallback<Args>

Returns ​

RegisteredPrompt

Deprecated ​

Wrap with z.object({...}) instead. Raw-shape form: argsSchema may be a plain { field: z.string() } record; it is auto-wrapped with z.object().

registerResource() ​
Call Signature ​

registerResource(name, uriOrTemplate, config, readCallback): RegisteredResource

Defined in: packages/server/src/server/mcp.ts:690

Registers a resource with a config object and callback. For static resources, use a URI string. For dynamic resources, use a ResourceTemplate.

Parameters ​
name ​

string

uriOrTemplate ​

string

config ​

ResourceMetadata & object

readCallback ​

ReadResourceCallback

Returns ​

RegisteredResource

Example ​
ts
server.registerResource(
    'config',
    'config://app',
    {
        title: 'Application Config',
        mimeType: 'text/plain'
    },
    async uri => ({
        contents: [{ uri: uri.href, text: 'App configuration here' }]
    })
);
Call Signature ​

registerResource(name, uriOrTemplate, config, readCallback): RegisteredResourceTemplate

Defined in: packages/server/src/server/mcp.ts:696

Registers a resource with a config object and callback. For static resources, use a URI string. For dynamic resources, use a ResourceTemplate.

Parameters ​
name ​

string

uriOrTemplate ​

ResourceTemplate

config ​

ResourceMetadata & object

readCallback ​

ReadResourceTemplateCallback

Returns ​

RegisteredResourceTemplate

Example ​
ts
server.registerResource(
    'config',
    'config://app',
    {
        title: 'Application Config',
        mimeType: 'text/plain'
    },
    async uri => ({
        contents: [{ uri: uri.href, text: 'App configuration here' }]
    })
);
registerTool() ​
Call Signature ​

registerTool<OutputArgs, InputArgs>(name, config, cb): RegisteredTool

Defined in: packages/server/src/server/mcp.ts:1052

Registers a tool with a config object and callback.

Type Parameters ​
OutputArgs ​

OutputArgs extends StandardSchemaWithJSON<unknown, unknown>

InputArgs ​

InputArgs extends StandardSchemaWithJSON<unknown, unknown> | undefined = undefined

Parameters ​
name ​

string

config ​
_meta? ​

Record<string, unknown>

annotations? ​

{ destructiveHint?: boolean; idempotentHint?: boolean; openWorldHint?: boolean; readOnlyHint?: boolean; title?: string; }

annotations.destructiveHint? ​

boolean = ...

If true, the tool may perform destructive updates to its environment. If false, the tool performs only additive updates.

(This property is meaningful only when readOnlyHint == false)

Default: true

annotations.idempotentHint? ​

boolean = ...

If true, calling the tool repeatedly with the same arguments will have no additional effect on its environment.

(This property is meaningful only when readOnlyHint == false)

Default: false

annotations.openWorldHint? ​

boolean = ...

If true, this tool may interact with an "open world" of external entities. If false, the tool's domain of interaction is closed. For example, the world of a web search tool is open, whereas that of a memory tool is not.

Default: true

annotations.readOnlyHint? ​

boolean = ...

If true, the tool does not modify its environment.

Default: false

annotations.title? ​

string = ...

A human-readable title for the tool.

description? ​

string

icons? ​

object[]

inputSchema? ​

InputArgs

outputSchema? ​

OutputArgs

scopeChallenge? ​

ScopeChallengeHandler

Determines whether this tool call needs an OAuth scope challenge.

title? ​

string

cb ​

BaseToolCallback<{[key: string]: unknown; _meta?: {[key: string]: unknown; io.modelcontextprotocol/serverInfo?: { description?: string; icons?: object[]; name: string; title?: string; version: string; websiteUrl?: string; }; }; content: ({ _meta?: {[key: string]: unknown; }; annotations?: { audience?: (... | ...)[]; lastModified?: string; priority?: number; }; text: string; type: "text"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (... | ...)[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "image"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (... | ...)[]; lastModified?: string; priority?: number; }; data: string; mimeType: string; type: "audio"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (... | ...)[]; lastModified?: string; priority?: number; }; resource: { _meta?: {[key: string]: unknown; }; mimeType?: string; text: string; uri: string; } | { _meta?: {[key: string]: unknown; }; blob: string; mimeType?: string; uri: string; }; type: "resource"; } | { _meta?: {[key: string]: unknown; }; annotations?: { audience?: (... | ...)[]; lastModified?: string; priority?: number; }; description?: string; icons?: object[]; mimeType?: string; name: string; size?: number; title?: string; type: "resource_link"; uri: string; })[]; isError?: boolean; structuredContent?: unknown; } | InputRequiredResult>

Returns ​

RegisteredTool

Example ​
ts
server.registerTool(
    'calculate-bmi',
    {
        title: 'BMI Calculator',
        description: 'Calculate Body Mass Index',
        inputSchema: z.object({
            weightKg: z.number(),
            heightM: z.number()
        }),
        outputSchema: z.object({ bmi: z.number() })
    },
    async ({ weightKg, heightM }) => {
        const output = { bmi: weightKg / (heightM * heightM) };
        return {
            content: [{ type: 'text', text: JSON.stringify(output) }],
            structuredContent: output
        };
    }
);
Call Signature ​

registerTool<InputArgs, OutputArgs>(name, config, cb): RegisteredTool

Defined in: packages/server/src/server/mcp.ts:1068

Type Parameters ​
InputArgs ​

InputArgs extends ZodRawShape

OutputArgs ​

OutputArgs extends StandardSchemaWithJSON<unknown, unknown> | ZodRawShape | undefined = undefined

Parameters ​
name ​

string

config ​
_meta? ​

Record<string, unknown>

annotations? ​

{ destructiveHint?: boolean; idempotentHint?: boolean; openWorldHint?: boolean; readOnlyHint?: boolean; title?: string; }

annotations.destructiveHint? ​

boolean = ...

If true, the tool may perform destructive updates to its environment. If false, the tool performs only additive updates.

(This property is meaningful only when readOnlyHint == false)

Default: true

annotations.idempotentHint? ​

boolean = ...

If true, calling the tool repeatedly with the same arguments will have no additional effect on its environment.

(This property is meaningful only when readOnlyHint == false)

Default: false

annotations.openWorldHint? ​

boolean = ...

If true, this tool may interact with an "open world" of external entities. If false, the tool's domain of interaction is closed. For example, the world of a web search tool is open, whereas that of a memory tool is not.

Default: true

annotations.readOnlyHint? ​

boolean = ...

If true, the tool does not modify its environment.

Default: false

annotations.title? ​

string = ...

A human-readable title for the tool.

description? ​

string

icons? ​

object[]

inputSchema? ​

InputArgs

outputSchema? ​

OutputArgs

scopeChallenge? ​

ScopeChallengeHandler

title? ​

string

cb ​

LegacyToolCallback<InputArgs>

Returns ​

RegisteredTool

Deprecated ​

Wrap with z.object({...}) instead. Raw-shape form: inputSchema/outputSchema may be a plain { field: z.string() } record; it is auto-wrapped with z.object().

sendLoggingMessage() ​

sendLoggingMessage(params, sessionId?): Promise<void>

Defined in: packages/server/src/server/mcp.ts:1243

Sends a logging message to the client, if connected. Note: You only need to send the parameters object, not the entire JSON-RPC message.

Parameters ​
params ​
_meta? ​

{[key: string]: unknown; io.modelcontextprotocol/related-task?: { taskId: string; }; progressToken?: string | number; } = ...

See MCP specification for notes on _meta usage.

{ taskId: string; } = ...

If specified, this request is related to the provided task.

string = ...

_meta.progressToken? ​

string | number = ...

If specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.

data ​

unknown = ...

The data to be logged, such as a string message or an object. Any JSON serializable type is allowed here.

level ​

"debug" | "error" | "info" | "notice" | "warning" | "critical" | "alert" | "emergency" = LoggingLevelSchema

The severity of this log message.

logger? ​

string = ...

An optional name of the logger issuing this message.

sessionId? ​

string

Optional for stateless transports and backward compatibility.

Returns ​

Promise<void>

See ​

LoggingMessageNotification

Example ​
ts
await server.sendLoggingMessage({
    level: 'info',
    data: 'Processing complete'
});
Deprecated ​

Deprecated as of protocol version 2026-07-28 (SEP-2577). Remains functional during the deprecation window (at least twelve months). Migrate to stderr logging (STDIO servers) or OpenTelemetry.

sendPromptListChanged() ​

sendPromptListChanged(): void

Defined in: packages/server/src/server/mcp.ts:1267

Sends a prompt list changed event to the client, if connected.

Returns ​

void

sendResourceListChanged() ​

sendResourceListChanged(): void

Defined in: packages/server/src/server/mcp.ts:1249

Sends a resource list changed event to the client, if connected.

Returns ​

void

sendToolListChanged() ​

sendToolListChanged(): void

Defined in: packages/server/src/server/mcp.ts:1258

Sends a tool list changed event to the client, if connected.

Returns ​

void

toolInputSchemaJson() ​

toolInputSchemaJson(name): Record<string, unknown> | undefined

Defined in: packages/server/src/server/mcp.ts:137

Internal

The JSON-serialized inputSchema of a registered tool, or undefined when no such tool is registered. Used by the HTTP entry's pre-dispatch SEP-2243 Mcp-Param-* validation step (which needs the same JSON Schema tools/list would emit, before dispatch reaches the handler).

Parameters ​
name ​

string

Returns ​

Record<string, unknown> | undefined


ResourceTemplate ​

Defined in: packages/server/src/server/mcp.ts:1288

A resource template combines a URI pattern with optional functionality to enumerate all resources matching that pattern.

Constructors ​

Constructor ​

new ResourceTemplate(uriTemplate, _callbacks): ResourceTemplate

Defined in: packages/server/src/server/mcp.ts:1291

Parameters ​
uriTemplate ​

string | UriTemplate

_callbacks ​
complete? ​

{[variable: string]: CompleteResourceTemplateCallback; }

An optional callback to autocomplete variables within the URI template. Useful for clients and users to discover possible values.

list ​

ListResourcesCallback | undefined

A callback to list all resources matching this template. This is required to be specified, even if undefined, to avoid accidentally forgetting resource listing.

Returns ​

ResourceTemplate

Accessors ​

listCallback ​
Get Signature ​

get listCallback(): ListResourcesCallback | undefined

Defined in: packages/server/src/server/mcp.ts:1320

Gets the list callback, if one was provided.

Returns ​

ListResourcesCallback | undefined

uriTemplate ​
Get Signature ​

get uriTemplate(): UriTemplate

Defined in: packages/server/src/server/mcp.ts:1313

Gets the URI template pattern.

Returns ​

UriTemplate

Methods ​

completeCallback() ​

completeCallback(variable): CompleteResourceTemplateCallback | undefined

Defined in: packages/server/src/server/mcp.ts:1327

Gets the callback for completing a specific URI template variable, if one was provided.

Parameters ​
variable ​

string

Returns ​

CompleteResourceTemplateCallback | undefined

Type Aliases ​

AnyToolHandler ​

AnyToolHandler<Args> = ToolCallback<Args>

Defined in: packages/server/src/server/mcp.ts:1378

Tool handler callback type.

Type Parameters ​

Args ​

Args extends StandardSchemaWithJSON | undefined = undefined


BaseToolCallback ​

BaseToolCallback<SendResultT, Ctx, Args> = Args extends StandardSchemaWithJSON ? (args, ctx) => SendResultT | Promise<SendResultT> : (ctx) => SendResultT | Promise<SendResultT>

Defined in: packages/server/src/server/mcp.ts:1358

Type Parameters ​

SendResultT ​

SendResultT extends Result

Ctx ​

Ctx extends ServerContext

Args ​

Args extends StandardSchemaWithJSON | undefined


CompleteResourceTemplateCallback ​

CompleteResourceTemplateCallback = (value, context?) => string[] | Promise<string[]>

Defined in: packages/server/src/server/mcp.ts:1277

A callback to complete one variable within a resource template's URI template.

Parameters ​

value ​

string

context? ​
arguments? ​

Record<string, string>

Returns ​

string[] | Promise<string[]>


InferRawShape ​

InferRawShape<S> = z.infer<z.ZodObject<S>>

Defined in: packages/server/src/server/mcp.ts:1340

Infers the parsed-output type of a ZodRawShape.

Type Parameters ​

S ​

S extends ZodRawShape


LegacyPromptCallback ​

LegacyPromptCallback<Args> = Args extends ZodRawShape ? (args, ctx) => GetPromptResult | InputRequiredResult | Promise<GetPromptResult | InputRequiredResult> : (ctx) => GetPromptResult | InputRequiredResult | Promise<GetPromptResult | InputRequiredResult>

Defined in: packages/server/src/server/mcp.ts:1351

PromptCallback variant used when argsSchema is a ZodRawShape.

Type Parameters ​

Args ​

Args extends ZodRawShape | undefined


LegacyToolCallback ​

LegacyToolCallback<Args> = Args extends ZodRawShape ? (args, ctx) => CallToolResult | InputRequiredResult | Promise<CallToolResult | InputRequiredResult> : (ctx) => CallToolResult | InputRequiredResult | Promise<CallToolResult | InputRequiredResult>

Defined in: packages/server/src/server/mcp.ts:1343

ToolCallback variant used when inputSchema is a ZodRawShape.

Type Parameters ​

Args ​

Args extends ZodRawShape | undefined


ListResourcesCallback ​

ListResourcesCallback = (ctx) => ListResourcesResult | Promise<ListResourcesResult>

Defined in: packages/server/src/server/mcp.ts:1488

Callback to list all resources matching a given template.

Parameters ​

ctx ​

ServerContext

Returns ​

ListResourcesResult | Promise<ListResourcesResult>


McpServerOptions ​

McpServerOptions = ServerOptions & object

Defined in: packages/server/src/server/mcp.ts:91

Options for McpServer: everything ServerOptions accepts, plus maxToolInputElements.

Type Declaration ​

maxToolInputElements? ​

optional maxToolInputElements?: number

Largest combined number of array elements and object members a single tools/call arguments payload may contain. A number of at least 1; unset or Infinity means no limit.


PromptCallback ​

PromptCallback<Args> = Args extends StandardSchemaWithJSON ? (args, ctx) => GetPromptResult | InputRequiredResult | Promise<GetPromptResult | InputRequiredResult> : (ctx) => GetPromptResult | InputRequiredResult | Promise<GetPromptResult | InputRequiredResult>

Defined in: packages/server/src/server/mcp.ts:1553

Type Parameters ​

Args ​

Args extends StandardSchemaWithJSON | undefined = undefined


ReadResourceCallback ​

ReadResourceCallback = (uri, ctx) => ReadResourceResult | InputRequiredResult | Promise<ReadResourceResult | InputRequiredResult>

Defined in: packages/server/src/server/mcp.ts:1493

Callback to read a resource at a given URI.

Parameters ​

uri ​

URL

ctx ​

ServerContext

Returns ​

ReadResourceResult | InputRequiredResult | Promise<ReadResourceResult | InputRequiredResult>


ReadResourceTemplateCallback ​

ReadResourceTemplateCallback = (uri, variables, ctx) => ReadResourceResult | InputRequiredResult | Promise<ReadResourceResult | InputRequiredResult>

Defined in: packages/server/src/server/mcp.ts:1524

Callback to read a resource at a given URI, following a filled-in URI template.

Parameters ​

uri ​

URL

variables ​

Variables

ctx ​

ServerContext

Returns ​

ReadResourceResult | InputRequiredResult | Promise<ReadResourceResult | InputRequiredResult>


RegisteredPrompt ​

RegisteredPrompt = object

Defined in: packages/server/src/server/mcp.ts:1571

Properties ​

_meta? ​

optional _meta?: Record<string, unknown>

Defined in: packages/server/src/server/mcp.ts:1577

argsSchema? ​

optional argsSchema?: StandardSchemaWithJSON

Defined in: packages/server/src/server/mcp.ts:1574

description? ​

optional description?: string

Defined in: packages/server/src/server/mcp.ts:1573

enabled ​

enabled: boolean

Defined in: packages/server/src/server/mcp.ts:1580

icons? ​

optional icons?: Icon[]

Defined in: packages/server/src/server/mcp.ts:1575

scopeChallenge? ​

optional scopeChallenge?: ScopeChallengeHandler

Defined in: packages/server/src/server/mcp.ts:1576

title? ​

optional title?: string

Defined in: packages/server/src/server/mcp.ts:1572

Methods ​

disable() ​

disable(): void

Defined in: packages/server/src/server/mcp.ts:1582

Returns ​

void

enable() ​

enable(): void

Defined in: packages/server/src/server/mcp.ts:1581

Returns ​

void

remove() ​

remove(): void

Defined in: packages/server/src/server/mcp.ts:1594

Returns ​

void

update() ​

update<Args>(updates): void

Defined in: packages/server/src/server/mcp.ts:1583

Type Parameters ​
Args ​

Args extends StandardSchemaWithJSON<unknown, unknown>

Parameters ​
updates ​
_meta? ​

Record<string, unknown>

argsSchema? ​

Args

callback? ​

PromptCallback<Args>

description? ​

string

enabled? ​

boolean

icons? ​

Icon[]

name? ​

string | null

scopeChallenge? ​

ScopeChallengeHandler | null

title? ​

string

Returns ​

void


RegisteredResource ​

RegisteredResource = object

Defined in: packages/server/src/server/mcp.ts:1498

Properties ​

cacheHint? ​

optional cacheHint?: CacheHint

Defined in: packages/server/src/server/mcp.ts:1503

Cache hint applied to this resource's resources/read results on the 2026-07-28 revision.

enabled ​

enabled: boolean

Defined in: packages/server/src/server/mcp.ts:1506

metadata? ​

optional metadata?: ResourceMetadata

Defined in: packages/server/src/server/mcp.ts:1501

name ​

name: string

Defined in: packages/server/src/server/mcp.ts:1499

readCallback ​

readCallback: ReadResourceCallback

Defined in: packages/server/src/server/mcp.ts:1505

scopeChallenge? ​

optional scopeChallenge?: ScopeChallengeHandler

Defined in: packages/server/src/server/mcp.ts:1504

title? ​

optional title?: string

Defined in: packages/server/src/server/mcp.ts:1500

Methods ​

disable() ​

disable(): void

Defined in: packages/server/src/server/mcp.ts:1508

Returns ​

void

enable() ​

enable(): void

Defined in: packages/server/src/server/mcp.ts:1507

Returns ​

void

remove() ​

remove(): void

Defined in: packages/server/src/server/mcp.ts:1518

Returns ​

void

update() ​

update(updates): void

Defined in: packages/server/src/server/mcp.ts:1509

Parameters ​
updates ​
callback? ​

ReadResourceCallback

enabled? ​

boolean

metadata? ​

ResourceMetadata

name? ​

string

scopeChallenge? ​

ScopeChallengeHandler | null

title? ​

string

uri? ​

string | null

Returns ​

void


RegisteredResourceTemplate ​

RegisteredResourceTemplate = object

Defined in: packages/server/src/server/mcp.ts:1530

Properties ​

cacheHint? ​

optional cacheHint?: CacheHint

Defined in: packages/server/src/server/mcp.ts:1535

Cache hint applied to this template's resources/read results on the 2026-07-28 revision.

enabled ​

enabled: boolean

Defined in: packages/server/src/server/mcp.ts:1538

metadata? ​

optional metadata?: ResourceMetadata

Defined in: packages/server/src/server/mcp.ts:1533

readCallback ​

readCallback: ReadResourceTemplateCallback

Defined in: packages/server/src/server/mcp.ts:1537

resourceTemplate ​

resourceTemplate: ResourceTemplate

Defined in: packages/server/src/server/mcp.ts:1531

scopeChallenge? ​

optional scopeChallenge?: ScopeChallengeHandler

Defined in: packages/server/src/server/mcp.ts:1536

title? ​

optional title?: string

Defined in: packages/server/src/server/mcp.ts:1532

Methods ​

disable() ​

disable(): void

Defined in: packages/server/src/server/mcp.ts:1540

Returns ​

void

enable() ​

enable(): void

Defined in: packages/server/src/server/mcp.ts:1539

Returns ​

void

remove() ​

remove(): void

Defined in: packages/server/src/server/mcp.ts:1550

Returns ​

void

update() ​

update(updates): void

Defined in: packages/server/src/server/mcp.ts:1541

Parameters ​
updates ​
callback? ​

ReadResourceTemplateCallback

enabled? ​

boolean

metadata? ​

ResourceMetadata

name? ​

string | null

scopeChallenge? ​

ScopeChallengeHandler | null

template? ​

ResourceTemplate

title? ​

string

Returns ​

void


RegisteredTool ​

RegisteredTool = object

Defined in: packages/server/src/server/mcp.ts:1385

Properties ​

_meta? ​

optional _meta?: Record<string, unknown>

Defined in: packages/server/src/server/mcp.ts:1403

annotations? ​

optional annotations?: ToolAnnotations

Defined in: packages/server/src/server/mcp.ts:1399

description? ​

optional description?: string

Defined in: packages/server/src/server/mcp.ts:1387

enabled ​

enabled: boolean

Defined in: packages/server/src/server/mcp.ts:1407

execution? ​

optional execution?: ToolExecution

Defined in: packages/server/src/server/mcp.ts:1401

handler ​

handler: AnyToolHandler<StandardSchemaWithJSON | undefined>

Defined in: packages/server/src/server/mcp.ts:1404

icons? ​

optional icons?: Icon[]

Defined in: packages/server/src/server/mcp.ts:1400

inputSchema? ​

optional inputSchema?: StandardSchemaWithJSON

Defined in: packages/server/src/server/mcp.ts:1388

outputSchema? ​

optional outputSchema?: StandardSchemaWithJSON

Defined in: packages/server/src/server/mcp.ts:1389

scopeChallenge? ​

optional scopeChallenge?: ScopeChallengeHandler

Defined in: packages/server/src/server/mcp.ts:1402

title? ​

optional title?: string

Defined in: packages/server/src/server/mcp.ts:1386

Methods ​

disable() ​

disable(): void

Defined in: packages/server/src/server/mcp.ts:1409

Returns ​

void

enable() ​

enable(): void

Defined in: packages/server/src/server/mcp.ts:1408

Returns ​

void

remove() ​

remove(): void

Defined in: packages/server/src/server/mcp.ts:1423

Returns ​

void

update() ​

update(updates): void

Defined in: packages/server/src/server/mcp.ts:1410

Parameters ​
updates ​
_meta? ​

Record<string, unknown>

annotations? ​

ToolAnnotations

callback? ​

ToolCallback<StandardSchemaWithJSON>

description? ​

string

enabled? ​

boolean

icons? ​

Icon[]

name? ​

string | null

outputSchema? ​

StandardSchemaWithJSON

paramsSchema? ​

StandardSchemaWithJSON

scopeChallenge? ​

ScopeChallengeHandler | null

title? ​

string

Returns ​

void


ResourceMetadata ​

ResourceMetadata = Omit<Resource, "uri" | "name">

Defined in: packages/server/src/server/mcp.ts:1483

Additional, optional information for annotating a resource.


ToolCallback ​

ToolCallback<Args> = BaseToolCallback<CallToolResult | InputRequiredResult, ServerContext, Args>

Defined in: packages/server/src/server/mcp.ts:1369

Callback for a tool handler registered with McpServer.registerTool.

Type Parameters ​

Args ​

Args extends StandardSchemaWithJSON | undefined = undefined


ZodRawShape ​

ZodRawShape = Record<string, z.ZodType>

Defined in: packages/server/src/server/mcp.ts:1337

A plain record of Zod field schemas, e.g. { name: z.string() }. Accepted by registerTool/registerPrompt as a shorthand; auto-wrapped with z.object(). Zod schemas only — z.object() cannot wrap other Standard Schema libraries.