Namespace Nexus\Mcp\Core\Schema

Classes
Annotations

Optional annotations for the client. The client can use annotations to inform how objects are used or displayed.

BaseMetadata

Base interface for metadata with name (identifier) and title (display name) properties.

ClientCapabilities

Capabilities a client may support. Known capabilities are defined here, in this schema, but this is not a closed set: any client can define its own, additional capabilities.

Cursor

An opaque token used to represent a cursor for pagination.

Error
Icon

An optionally-sized icon that can be displayed in a user interface.

Implementation

Describes the MCP implementation.

MetaObject

Represents the contents of a _meta field, which clients and servers use to attach additional metadata to their interactions. Certain key names are reserved by MCP for protocol-level metadata; implementations MUST NOT make assumptions about values at these keys. Additionally, specific schema definitions may reserve particular names for purpose-specific metadata, as declared in those definitions. Valid keys have two segments: Prefix:

  • Optional — if specified, MUST be a series of labels separated by dots (.), followed by a slash (/).
  • Labels MUST start with a letter and end with a letter or digit. Interior characters may be letters, digits, or hyphens (-).
  • Implementations SHOULD use reverse DNS notation (e.g., com.example/ rather than example.com/).
  • Any prefix where the second label is modelcontextprotocol or mcp is reserved for MCP use. For example: io.modelcontextprotocol/, dev.mcp/, org.modelcontextprotocol.api/, and com.mcp.tools/ are all reserved. However, com.example.mcp/ is NOT reserved, as the second label is example. Name:
  • Unless empty, MUST start and end with an alphanumeric character ([a-z0-9A-Z]).
  • Interior characters may be alphanumeric, hyphens (-), underscores (_), or dots (.).
Notification
NotificationParams

Common params for any notification.

ProgressToken

A progress token, used to associate progress notifications with the original request.

ProtocolVersion

A revision of the Model Context Protocol identified by its release date.

Request
RequestId

A uniquely identifying ID for a request in JSON-RPC.

RequestMetaObject

Extends MetaObject with additional request-specific fields. All key naming rules from MetaObject apply.

RequestParams

Common params for any request.

Result

Common result fields.

ServerCapabilities

Capabilities that a server may support. Known capabilities are defined here, in this schema, but this is not a closed set: any server can define its own, additional capabilities.

SubscriptionFilter

The set of notification types a client may opt in to on a subscriptions/listen request. Each notification type is opt-in; the server MUST NOT send notification types the client has not explicitly requested here.

Interfaces
Arrayable

Interface for classes that can be converted to and from arrays.

ContentBlock

Marker for a content block that can be embedded in a prompt message or tool call result. Each variant carries its own type discriminator.

Icons

Base interface to add icons property.

RequestParamsInterface

Marker for the params object carried by a JSON-RPC request. The heavy RequestParams base (client-to-server, with required _meta) and the standalone server-to-client params both implement it.

Namespaces
Nexus\Mcp\Core\Schema\ContentBlock
Nexus\Mcp\Core\Schema\Elicitation
Nexus\Mcp\Core\Schema\Enum
Nexus\Mcp\Core\Schema\Error
Nexus\Mcp\Core\Schema\JsonRpc
Nexus\Mcp\Core\Schema\Notification
Nexus\Mcp\Core\Schema\NotificationParams
Nexus\Mcp\Core\Schema\Prompt
Nexus\Mcp\Core\Schema\Request
Nexus\Mcp\Core\Schema\RequestParams
Nexus\Mcp\Core\Schema\Resource
Nexus\Mcp\Core\Schema\Result
Nexus\Mcp\Core\Schema\ResultResponse
Nexus\Mcp\Core\Schema\Tool