Closes the connection.
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.
Checks if the server is connected to a transport.
True if the server is connected
Registers a zero-argument prompt name, which will run the given function when the client calls it.
Registers a zero-argument prompt name (with a description) which will run the given function when the client calls it.
Registers a prompt name accepting the given arguments, which must be an object containing named properties associated with Zod schemas. When the client calls it, the function will be run with the parsed and validated arguments.
Registers a prompt name (with a description) accepting the given arguments, which must be an object containing named properties associated with Zod schemas. When the client calls it, the function will be run with the parsed and validated arguments.
Registers a resource with a config object and callback. For static resources, use a URI string. For dynamic resources, use a ResourceTemplate.
Registers a resource with a config object and callback. For static resources, use a URI string. For dynamic resources, use a ResourceTemplate.
Registers a tool with a config object and callback.
Registers a resource name with a template pattern and metadata, which will use the given callback to respond to read requests.
Sends a logging message to the client, if connected. Note: You only need to send the parameters object, not the entire JSON RPC message
OptionalsessionId: stringoptional for stateless and backward compatibility
Sends a prompt list changed event to the client, if connected.
Sends a resource list changed event to the client, if connected.
Sends a tool list changed event to the client, if connected.
Registers a zero-argument tool name, which will run the given function when the client calls it.
Registers a zero-argument tool name (with a description) which will run the given function when the client calls it.
Registers a tool taking either a parameter schema for validation or annotations for additional metadata.
This unified overload handles both tool(name, paramsSchema, cb) and tool(name, annotations, cb) cases.
Note: We use a union type for the second parameter because TypeScript cannot reliably disambiguate between ToolAnnotations and ZodRawShape during overload resolution, as both are plain object types.
Registers a tool name (with a description) taking either parameter schema or annotations.
This unified overload handles both tool(name, description, paramsSchema, cb) and
tool(name, description, annotations, cb) cases.
Note: We use a union type for the third parameter because TypeScript cannot reliably disambiguate between ToolAnnotations and ZodRawShape during overload resolution, as both are plain object types.
Registers a tool with both parameter schema and annotations.
Registers a tool with description, parameter schema, and annotations.
The underlying Server instance, useful for advanced operations like sending notifications.