
Mcp Php Schema
- 30 installs
- 14 repo stars
- Updated July 30, 2026
- wordpress/php-mcp-schema
Helps with ai & agent building tasks during AI-assisted development.
About
mcp-php-schema is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.
- mcp-php-schema
- AI & Agent Building
- AI-coding skill
Mcp Php Schema by the numbers
- 30 all-time installs (skills.sh)
- +1 installs in the week ending Jul 27, 2026 (Skillselion tracking)
- Ranked #9,276 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Jul 31, 2026 (Skillselion catalog sync)
npx skills add https://github.com/wordpress/php-mcp-schema --skill mcp-php-schemaAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 30 |
|---|---|
| repo stars | ★ 14 |
| Last updated | July 30, 2026 |
| Repository | wordpress/php-mcp-schema ↗ |
What it does
Helps with ai & agent building tasks during AI-assisted development.
Files
MCP PHP Schema Reference
Quick Navigation
- Server types (resources, tools, prompts): reference/server.md
- Client types (sampling, elicitation, roots): reference/client.md
- Common types (protocol, JSON-RPC): reference/common.md
- RPC methods: reference/rpc-methods.md
- Factories: reference/factories.md
Schema Structure
3 domains, 17 subdomains, 164 types total.
Domains Overview
| Domain | Types | Purpose |
|---|---|---|
| Common | 59 | Protocol base, JSON-RPC, content blocks |
| Server | 59 | Tools, resources, prompts, logging |
| Client | 46 | Sampling, elicitation, roots, tasks |
Common Patterns
Finding a Request/Result Pair
1. Check rpc-methods.md for method name 2. Look up request type in domain file 3. Find corresponding result type
Using Factory Classes
Factories create the correct DTO from discriminator values. See factories.md for patterns.
JSON Data Files
For programmatic access:
data/schema-index.json- Lightweight discovery indexdata/schema-common.json- Common domain typesdata/schema-server.json- Server domain typesdata/schema-client.json- Client domain types
Search Scripts
# Search types by name
./scripts/search-types.sh "Resource"
# Get type details
./scripts/get-type.sh "CallToolRequest"
# Find RPC method
./scripts/find-rpc.sh "tools/call"{
"version": "2025-11-25",
"domain": "Client",
"types": {
"ClientCapabilities": {
"kind": "class",
"domain": "Client",
"subdomain": "Lifecycle",
"namespace": "WP\\McpSchema\\Client\\Lifecycle\\DTO\\ClientCapabilities",
"purpose": "Capabilities a client may support",
"implements": [],
"properties": {
"experimental": "{ [key: string]: object }?",
"roots": "ClientCapabilitiesRoots | undefined?",
"sampling": "ClientCapabilitiesSampling | undefined?",
"elicitation": "ClientCapabilitiesElicitation | undefined?",
"tasks": "ClientCapabilitiesTasks | undefined?"
},
"usedBy": [
"InitializeRequestParams"
],
"uses": [
"ClientCapabilitiesRoots",
"ClientCapabilitiesSampling",
"ClientCapabilitiesElicitation",
"ClientCapabilitiesTasks"
]
},
"TaskMetadata": {
"kind": "class",
"domain": "Client",
"subdomain": "Tasks",
"namespace": "WP\\McpSchema\\Client\\Tasks\\DTO\\TaskMetadata",
"purpose": "Metadata for augmenting a request with task execution",
"implements": [],
"properties": {
"ttl": "number?"
},
"usedBy": [
"TaskAugmentedRequestParams"
],
"uses": []
},
"RelatedTaskMetadata": {
"kind": "class",
"domain": "Client",
"subdomain": "Tasks",
"namespace": "WP\\McpSchema\\Client\\Tasks\\DTO\\RelatedTaskMetadata",
"purpose": "Metadata for associating messages with a task",
"implements": [],
"properties": {
"taskId": "string"
},
"usedBy": [],
"uses": []
},
"Task": {
"kind": "class",
"domain": "Client",
"subdomain": "Tasks",
"namespace": "WP\\McpSchema\\Client\\Tasks\\DTO\\Task",
"purpose": "Data associated with a task",
"implements": [],
"properties": {
"taskId": "string",
"status": "TaskStatus",
"statusMessage": "string?",
"createdAt": "string",
"lastUpdatedAt": "string",
"ttl": "number | null",
"pollInterval": "number?"
},
"usedBy": [
"CreateTaskResult",
"ListTasksResult",
"GetTaskResult",
"CancelTaskResult"
],
"uses": [
"TaskStatus"
]
},
"CreateTaskResult": {
"kind": "class",
"domain": "Client",
"subdomain": "Tasks",
"namespace": "WP\\McpSchema\\Client\\Tasks\\DTO\\CreateTaskResult",
"purpose": "A response to a task-augmented request",
"extends": "Result",
"implements": [],
"properties": {
"task": "Task"
},
"usedBy": [],
"uses": [
"Result",
"Task"
]
},
"CreateMessageRequestParams": {
"kind": "class",
"domain": "Client",
"subdomain": "Sampling",
"namespace": "WP\\McpSchema\\Client\\Sampling\\DTO\\CreateMessageRequestParams",
"purpose": "Parameters for a `sampling/createMessage` request",
"extends": "TaskAugmentedRequestParams",
"implements": [],
"properties": {
"messages": "SamplingMessage[]",
"modelPreferences": "ModelPreferences?",
"systemPrompt": "string?",
"includeContext": "\"none\" | \"thisServer\" | \"allServers\"?",
"temperature": "number?",
"maxTokens": "number",
"stopSequences": "string[]?",
"metadata": "object?",
"tools": "Tool[]?",
"toolChoice": "ToolChoice?"
},
"usedBy": [
"CreateMessageRequest"
],
"uses": [
"TaskAugmentedRequestParams",
"SamplingMessage",
"ModelPreferences",
"Tool",
"ToolChoice"
]
},
"ToolChoice": {
"kind": "class",
"domain": "Client",
"subdomain": "Sampling",
"namespace": "WP\\McpSchema\\Client\\Sampling\\DTO\\ToolChoice",
"purpose": "Controls tool selection behavior for sampling requests",
"implements": [],
"properties": {
"mode": "\"auto\" | \"required\" | \"none\"?"
},
"usedBy": [
"CreateMessageRequestParams"
],
"uses": []
},
"CreateMessageRequest": {
"kind": "class",
"domain": "Client",
"subdomain": "Sampling",
"namespace": "WP\\McpSchema\\Client\\Sampling\\DTO\\CreateMessageRequest",
"purpose": "A request from the server to sample an LLM via the client",
"extends": "JSONRPCRequest",
"implements": [
"ServerRequestInterface"
],
"properties": {
"method": "\"sampling/createMessage\"",
"params": "CreateMessageRequestParams"
},
"usedBy": [
"ServerRequestInterface"
],
"uses": [
"JSONRPCRequest",
"CreateMessageRequestParams"
],
"discriminator": {
"field": "method",
"value": "sampling/createMessage"
}
},
"CreateMessageResult": {
"kind": "class",
"domain": "Client",
"subdomain": "Sampling",
"namespace": "WP\\McpSchema\\Client\\Sampling\\DTO\\CreateMessageResult",
"purpose": "The client's response to a sampling/createMessage request from the server",
"extends": "Result",
"implements": [
"ClientResultInterface"
],
"properties": {
"model": "string",
"stopReason": "\"endTurn\" | \"stopSequence\" | \"maxTokens\" | \"too...?"
},
"usedBy": [
"ClientResultInterface"
],
"uses": [
"Result",
"SamplingMessage"
]
},
"SamplingMessage": {
"kind": "class",
"domain": "Client",
"subdomain": "Sampling",
"namespace": "WP\\McpSchema\\Client\\Sampling\\DTO\\SamplingMessage",
"purpose": "Describes a message issued to or received from an LLM API",
"implements": [],
"properties": {
"role": "Role",
"content": "SamplingMessageContentBlock | SamplingMessageCo...",
"_meta": "{ [key: string]: unknown }?"
},
"usedBy": [
"CreateMessageRequestParams",
"CreateMessageResult"
],
"uses": [
"Role",
"SamplingMessageContentBlock"
]
},
"ToolUseContent": {
"kind": "class",
"domain": "Client",
"subdomain": "Sampling",
"namespace": "WP\\McpSchema\\Client\\Sampling\\DTO\\ToolUseContent",
"purpose": "A request from the assistant to call a tool",
"implements": [
"SamplingMessageContentBlockInterface"
],
"properties": {
"type": "\"tool_use\"",
"id": "string",
"name": "string",
"input": "{ [key: string]: unknown }",
"_meta": "{ [key: string]: unknown }?"
},
"usedBy": [
"SamplingMessageContentBlockInterface"
],
"uses": [],
"discriminator": {
"field": "type",
"value": "tool_use"
}
},
"ToolResultContent": {
"kind": "class",
"domain": "Client",
"subdomain": "Sampling",
"namespace": "WP\\McpSchema\\Client\\Sampling\\DTO\\ToolResultContent",
"purpose": "The result of a tool use, provided by the user back to the assistant",
"implements": [
"SamplingMessageContentBlockInterface"
],
"properties": {
"type": "\"tool_result\"",
"toolUseId": "string",
"content": "ContentBlock[]",
"structuredContent": "{ [key: string]: unknown }?",
"isError": "boolean?",
"_meta": "{ [key: string]: unknown }?"
},
"usedBy": [
"SamplingMessageContentBlockInterface"
],
"uses": [
"ContentBlock"
],
"discriminator": {
"field": "type",
"value": "tool_result"
}
},
"ModelPreferences": {
"kind": "class",
"domain": "Client",
"subdomain": "Sampling",
"namespace": "WP\\McpSchema\\Client\\Sampling\\DTO\\ModelPreferences",
"purpose": "The server's preferences for model selection, requested of the client during sampling",
"implements": [],
"properties": {
"hints": "ModelHint[]?",
"costPriority": "number?",
"speedPriority": "number?",
"intelligencePriority": "number?"
},
"usedBy": [
"CreateMessageRequestParams"
],
"uses": [
"ModelHint"
]
},
"ModelHint": {
"kind": "class",
"domain": "Client",
"subdomain": "Sampling",
"namespace": "WP\\McpSchema\\Client\\Sampling\\DTO\\ModelHint",
"purpose": "Hints to use for model selection",
"implements": [],
"properties": {
"name": "string?"
},
"usedBy": [
"ModelPreferences"
],
"uses": []
},
"ListRootsRequest": {
"kind": "class",
"domain": "Client",
"subdomain": "Roots",
"namespace": "WP\\McpSchema\\Client\\Roots\\DTO\\ListRootsRequest",
"purpose": "Sent from the server to request a list of root URIs from the client",
"extends": "JSONRPCRequest",
"implements": [
"ServerRequestInterface"
],
"properties": {
"method": "\"roots/list\"",
"params": "RequestParams?"
},
"usedBy": [
"ServerRequestInterface"
],
"uses": [
"JSONRPCRequest",
"RequestParams"
],
"discriminator": {
"field": "method",
"value": "roots/list"
}
},
"ListRootsResult": {
"kind": "class",
"domain": "Client",
"subdomain": "Roots",
"namespace": "WP\\McpSchema\\Client\\Roots\\DTO\\ListRootsResult",
"purpose": "The client's response to a roots/list request from the server",
"extends": "Result",
"implements": [
"ClientResultInterface"
],
"properties": {
"roots": "Root[]"
},
"usedBy": [
"ClientResultInterface"
],
"uses": [
"Result",
"Root"
]
},
"Root": {
"kind": "class",
"domain": "Client",
"subdomain": "Roots",
"namespace": "WP\\McpSchema\\Client\\Roots\\DTO\\Root",
"purpose": "Represents a root directory or file that the server can operate on",
"implements": [],
"properties": {
"uri": "string",
"name": "string?",
"_meta": "{ [key: string]: unknown }?"
},
"usedBy": [
"ListRootsResult"
],
"uses": []
},
"RootsListChangedNotification": {
"kind": "class",
"domain": "Client",
"subdomain": "Roots",
"namespace": "WP\\McpSchema\\Client\\Roots\\DTO\\RootsListChangedNotification",
"purpose": "A notification from the client to the server, informing it that the list of roots has changed",
"extends": "JSONRPCNotification",
"implements": [
"ClientNotificationInterface"
],
"properties": {
"method": "\"notifications/roots/list_changed\"",
"params": "NotificationParams?"
},
"usedBy": [
"ClientNotificationInterface"
],
"uses": [
"JSONRPCNotification",
"NotificationParams"
],
"discriminator": {
"field": "method",
"value": "notifications/roots/list_changed"
}
},
"ElicitRequestFormParams": {
"kind": "class",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\DTO\\ElicitRequestFormParams",
"purpose": "The parameters for a request to elicit non-sensitive information from the user via a form in the client",
"extends": "TaskAugmentedRequestParams",
"implements": [
"ElicitRequestParamsInterface"
],
"properties": {
"mode": "\"form\"?",
"message": "string",
"requestedSchema": "ElicitRequestFormParamsRequestedSchema"
},
"usedBy": [
"ElicitRequestParamsInterface"
],
"uses": [
"TaskAugmentedRequestParams",
"ElicitRequestFormParamsRequestedSchema"
],
"discriminator": {
"field": "mode",
"value": "form"
}
},
"ElicitRequestURLParams": {
"kind": "class",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\DTO\\ElicitRequestURLParams",
"purpose": "The parameters for a request to elicit information from the user via a URL in the client",
"extends": "TaskAugmentedRequestParams",
"implements": [
"ElicitRequestParamsInterface"
],
"properties": {
"mode": "\"url\"",
"message": "string",
"elicitationId": "string",
"url": "string"
},
"usedBy": [
"ElicitRequestParamsInterface"
],
"uses": [
"TaskAugmentedRequestParams"
],
"discriminator": {
"field": "mode",
"value": "url"
}
},
"ElicitRequest": {
"kind": "class",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\DTO\\ElicitRequest",
"purpose": "A request from the server to elicit additional information from the user via the client",
"extends": "JSONRPCRequest",
"implements": [
"ServerRequestInterface"
],
"properties": {
"method": "\"elicitation/create\"",
"params": "ElicitRequestParams"
},
"usedBy": [
"ServerRequestInterface"
],
"uses": [
"JSONRPCRequest",
"ElicitRequestParams"
],
"discriminator": {
"field": "method",
"value": "elicitation/create"
}
},
"StringSchema": {
"kind": "class",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\DTO\\StringSchema",
"purpose": "String Schema data structure",
"implements": [
"PrimitiveSchemaDefinitionInterface"
],
"properties": {
"type": "\"string\"",
"title": "string?",
"description": "string?",
"minLength": "number?",
"maxLength": "number?",
"format": "\"email\" | \"uri\" | \"date\" | \"date-time\"?",
"default": "string?"
},
"usedBy": [
"PrimitiveSchemaDefinitionInterface"
],
"uses": [],
"discriminator": {
"field": "type",
"value": "string"
}
},
"NumberSchema": {
"kind": "class",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\DTO\\NumberSchema",
"purpose": "Number Schema data structure",
"implements": [
"PrimitiveSchemaDefinitionInterface"
],
"properties": {
"type": "\"number\" | \"integer\"",
"title": "string?",
"description": "string?",
"minimum": "number?",
"maximum": "number?",
"default": "number?"
},
"usedBy": [
"PrimitiveSchemaDefinitionInterface"
],
"uses": []
},
"BooleanSchema": {
"kind": "class",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\DTO\\BooleanSchema",
"purpose": "Boolean Schema data structure",
"implements": [
"PrimitiveSchemaDefinitionInterface"
],
"properties": {
"type": "\"boolean\"",
"title": "string?",
"description": "string?",
"default": "boolean?"
},
"usedBy": [
"PrimitiveSchemaDefinitionInterface"
],
"uses": [],
"discriminator": {
"field": "type",
"value": "boolean"
}
},
"UntitledSingleSelectEnumSchema": {
"kind": "class",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\DTO\\UntitledSingleSelectEnumSchema",
"purpose": "Schema for single-selection enumeration without display titles for options",
"implements": [
"SingleSelectEnumSchemaInterface"
],
"properties": {
"type": "\"string\"",
"title": "string?",
"description": "string?",
"enum": "string[]",
"default": "string?"
},
"usedBy": [
"SingleSelectEnumSchemaInterface"
],
"uses": [],
"discriminator": {
"field": "type",
"value": "string"
}
},
"TitledSingleSelectEnumSchema": {
"kind": "class",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\DTO\\TitledSingleSelectEnumSchema",
"purpose": "Schema for single-selection enumeration with display titles for each option",
"implements": [
"SingleSelectEnumSchemaInterface"
],
"properties": {
"type": "\"string\"",
"title": "string?",
"description": "string?",
"oneOf": "Array<{\n /**\n * The enum value.\n */\n...",
"default": "string?"
},
"usedBy": [
"SingleSelectEnumSchemaInterface"
],
"uses": [
"Array<{\n /**\n * The enum value.\n */\n const: string;\n /**\n * Display label for this option.\n */\n title: string;\n }>"
],
"discriminator": {
"field": "type",
"value": "string"
}
},
"UntitledMultiSelectEnumSchema": {
"kind": "class",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\DTO\\UntitledMultiSelectEnumSchema",
"purpose": "Schema for multiple-selection enumeration without display titles for options",
"implements": [
"MultiSelectEnumSchemaInterface"
],
"properties": {
"type": "\"array\"",
"title": "string?",
"description": "string?",
"minItems": "number?",
"maxItems": "number?",
"items": "UntitledMultiSelectEnumSchemaItems",
"default": "string[]?"
},
"usedBy": [
"MultiSelectEnumSchemaInterface"
],
"uses": [
"UntitledMultiSelectEnumSchemaItems"
],
"discriminator": {
"field": "type",
"value": "array"
}
},
"TitledMultiSelectEnumSchema": {
"kind": "class",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\DTO\\TitledMultiSelectEnumSchema",
"purpose": "Schema for multiple-selection enumeration with display titles for each option",
"implements": [
"MultiSelectEnumSchemaInterface"
],
"properties": {
"type": "\"array\"",
"title": "string?",
"description": "string?",
"minItems": "number?",
"maxItems": "number?",
"items": "TitledMultiSelectEnumSchemaItems",
"default": "string[]?"
},
"usedBy": [
"MultiSelectEnumSchemaInterface"
],
"uses": [
"TitledMultiSelectEnumSchemaItems"
],
"discriminator": {
"field": "type",
"value": "array"
}
},
"LegacyTitledEnumSchema": {
"kind": "class",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\DTO\\LegacyTitledEnumSchema",
"purpose": "Use TitledSingleSelectEnumSchema instead",
"implements": [
"EnumSchemaInterface"
],
"properties": {
"type": "\"string\"",
"title": "string?",
"description": "string?",
"enum": "string[]",
"enumNames": "string[]?",
"default": "string?"
},
"usedBy": [
"EnumSchemaInterface"
],
"uses": [],
"discriminator": {
"field": "type",
"value": "string"
}
},
"ElicitResult": {
"kind": "class",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\DTO\\ElicitResult",
"purpose": "The client's response to an elicitation request",
"extends": "Result",
"implements": [
"ClientResultInterface"
],
"properties": {
"action": "\"accept\" | \"decline\" | \"cancel\"",
"content": "{ [key: string]: string | number | boolean | st...?"
},
"usedBy": [
"ClientResultInterface"
],
"uses": [
"Result"
]
},
"ElicitationCompleteNotification": {
"kind": "class",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\DTO\\ElicitationCompleteNotification",
"purpose": "An optional notification from the server to the client, informing it of a completion of a out-of-band elicitation request",
"extends": "JSONRPCNotification",
"implements": [
"ServerNotificationInterface"
],
"properties": {
"method": "\"notifications/elicitation/complete\"",
"params": "ElicitationCompleteNotificationParams"
},
"usedBy": [
"ServerNotificationInterface"
],
"uses": [
"JSONRPCNotification",
"ElicitationCompleteNotificationParams"
],
"discriminator": {
"field": "method",
"value": "notifications/elicitation/complete"
}
},
"ClientCapabilitiesRoots": {
"kind": "class",
"domain": "Client",
"subdomain": "Lifecycle",
"namespace": "WP\\McpSchema\\Client\\Lifecycle\\DTO\\ClientCapabilitiesRoots",
"purpose": "Present if the client supports listing roots",
"implements": [],
"properties": {
"listChanged": "boolean?"
},
"usedBy": [
"ClientCapabilities"
],
"uses": []
},
"ClientCapabilitiesSampling": {
"kind": "class",
"domain": "Client",
"subdomain": "Lifecycle",
"namespace": "WP\\McpSchema\\Client\\Lifecycle\\DTO\\ClientCapabilitiesSampling",
"purpose": "Present if the client supports sampling from an LLM",
"implements": [],
"properties": {
"context": "object?",
"tools": "object?"
},
"usedBy": [
"ClientCapabilities"
],
"uses": []
},
"ClientCapabilitiesElicitation": {
"kind": "class",
"domain": "Client",
"subdomain": "Lifecycle",
"namespace": "WP\\McpSchema\\Client\\Lifecycle\\DTO\\ClientCapabilitiesElicitation",
"purpose": "Present if the client supports elicitation from the server",
"implements": [],
"properties": {
"form": "object?",
"url": "object?"
},
"usedBy": [
"ClientCapabilities"
],
"uses": []
},
"ClientCapabilitiesTasks": {
"kind": "class",
"domain": "Client",
"subdomain": "Lifecycle",
"namespace": "WP\\McpSchema\\Client\\Lifecycle\\DTO\\ClientCapabilitiesTasks",
"purpose": "Present if the client supports task-augmented requests",
"implements": [],
"properties": {
"list": "object?",
"cancel": "object?"
},
"usedBy": [
"ClientCapabilities"
],
"uses": []
},
"ElicitRequestFormParamsRequestedSchema": {
"kind": "class",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\DTO\\ElicitRequestFormParamsRequestedSchema",
"purpose": "A restricted subset of JSON Schema",
"implements": [],
"properties": {
"$schema": "string?",
"type": "\"object\"",
"required": "string[]?"
},
"usedBy": [
"ElicitRequestFormParams"
],
"uses": []
},
"UntitledMultiSelectEnumSchemaItems": {
"kind": "class",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\DTO\\UntitledMultiSelectEnumSchemaItems",
"purpose": "Schema for the array items",
"implements": [],
"properties": {
"type": "\"string\"",
"enum": "string[]"
},
"usedBy": [
"UntitledMultiSelectEnumSchema"
],
"uses": []
},
"TitledMultiSelectEnumSchemaItems": {
"kind": "class",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\DTO\\TitledMultiSelectEnumSchemaItems",
"purpose": "Schema for array items with enum options and display labels",
"implements": [],
"properties": {},
"usedBy": [
"TitledMultiSelectEnumSchema"
],
"uses": []
},
"ElicitationCompleteNotificationParams": {
"kind": "class",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\DTO\\ElicitationCompleteNotificationParams",
"purpose": "Parameters for ElicitationCompleteNotification",
"implements": [],
"properties": {
"elicitationId": "string"
},
"usedBy": [
"ElicitationCompleteNotification"
],
"uses": []
},
"TaskStatusInterface": {
"kind": "union",
"domain": "Client",
"subdomain": "Tasks",
"namespace": "WP\\McpSchema\\Client\\Tasks\\Union\\TaskStatusInterface",
"purpose": "The status of a task.",
"implements": [],
"properties": {},
"usedBy": [],
"uses": []
},
"ElicitRequestParamsInterface": {
"kind": "union",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\Union\\ElicitRequestParamsInterface",
"purpose": "The parameters for a request to elicit additional information from the user via the client.",
"implements": [],
"properties": {},
"usedBy": [],
"uses": [
"ElicitRequestFormParams",
"ElicitRequestURLParams"
]
},
"PrimitiveSchemaDefinitionInterface": {
"kind": "union",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\Union\\PrimitiveSchemaDefinitionInterface",
"purpose": "Restricted schema definitions that only allow primitive types\nwithout nested objects or arrays.",
"implements": [],
"properties": {},
"usedBy": [],
"uses": [
"StringSchema",
"NumberSchema",
"BooleanSchema",
"EnumSchema"
]
},
"SingleSelectEnumSchemaInterface": {
"kind": "union",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\Union\\SingleSelectEnumSchemaInterface",
"purpose": "Union type: UntitledSingleSelectEnumSchema | TitledSingleSelectEnumSchema",
"implements": [],
"properties": {},
"usedBy": [],
"uses": [
"UntitledSingleSelectEnumSchema",
"TitledSingleSelectEnumSchema"
]
},
"MultiSelectEnumSchemaInterface": {
"kind": "union",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\Union\\MultiSelectEnumSchemaInterface",
"purpose": "Union type: UntitledMultiSelectEnumSchema | TitledMultiSelectEnumSchema",
"implements": [],
"properties": {},
"usedBy": [],
"uses": [
"UntitledMultiSelectEnumSchema",
"TitledMultiSelectEnumSchema"
]
},
"EnumSchemaInterface": {
"kind": "union",
"domain": "Client",
"subdomain": "Elicitation",
"namespace": "WP\\McpSchema\\Client\\Elicitation\\Union\\EnumSchemaInterface",
"purpose": "Union type: SingleSelectEnumSchema | MultiSelectEnumSchema | LegacyTitledEnumSchema",
"implements": [],
"properties": {},
"usedBy": [],
"uses": [
"SingleSelectEnumSchema",
"MultiSelectEnumSchema",
"LegacyTitledEnumSchema"
]
},
"ClientResultInterface": {
"kind": "union",
"domain": "Client",
"subdomain": "Lifecycle",
"namespace": "WP\\McpSchema\\Client\\Lifecycle\\Union\\ClientResultInterface",
"purpose": "Union type: EmptyResult | CreateMessageResult | ListRootsResult | ElicitResult | GetTaskResult | GetTaskPayloadResult | ListTasksResult | CancelTaskResult",
"implements": [],
"properties": {},
"usedBy": [],
"uses": [
"EmptyResult",
"CreateMessageResult",
"ListRootsResult",
"ElicitResult",
"GetTaskResult",
"GetTaskPayloadResult",
"ListTasksResult",
"CancelTaskResult"
]
}
},
"factories": {
"ElicitRequestParamsFactory": {
"interface": "ElicitRequestParamsInterface",
"discriminator": "mode",
"mappings": {
"form": "ElicitRequestFormParams",
"url": "ElicitRequestURLParams"
}
},
"PrimitiveSchemaDefinitionFactory": {
"interface": "PrimitiveSchemaDefinitionInterface",
"discriminator": "type",
"mappings": {
"string": "StringSchema",
"number\" | \"integer": "NumberSchema",
"boolean": "BooleanSchema"
}
},
"SingleSelectEnumSchemaFactory": {
"interface": "SingleSelectEnumSchemaInterface",
"discriminator": "type",
"mappings": {
"string": "TitledSingleSelectEnumSchema"
}
},
"MultiSelectEnumSchemaFactory": {
"interface": "MultiSelectEnumSchemaInterface",
"discriminator": "type",
"mappings": {
"array": "TitledMultiSelectEnumSchema"
}
},
"EnumSchemaFactory": {
"interface": "EnumSchemaInterface",
"discriminator": "type",
"mappings": {
"string": "LegacyTitledEnumSchema"
}
}
}
}{
"version": "2025-11-25",
"domain": "Common",
"types": {
"TaskAugmentedRequestParams": {
"kind": "class",
"domain": "Common",
"subdomain": "Tasks",
"namespace": "WP\\McpSchema\\Common\\Tasks\\DTO\\TaskAugmentedRequestParams",
"purpose": "Common params for any task-augmented request",
"extends": "RequestParams",
"implements": [],
"properties": {
"task": "TaskMetadata?"
},
"usedBy": [
"CallToolRequestParams",
"CreateMessageRequestParams",
"ElicitRequestFormParams",
"ElicitRequestURLParams"
],
"uses": [
"RequestParams",
"TaskMetadata"
]
},
"RequestParams": {
"kind": "class",
"domain": "Common",
"subdomain": "JsonRpc",
"namespace": "WP\\McpSchema\\Common\\JsonRpc\\DTO\\RequestParams",
"purpose": "Common params for any request",
"implements": [],
"properties": {
"_meta": "RequestParamsMeta | undefined?"
},
"usedBy": [
"TaskAugmentedRequestParams",
"InitializeRequestParams",
"PingRequest",
"PaginatedRequestParams",
"ResourceRequestParams",
"GetPromptRequestParams",
"SetLevelRequestParams",
"CompleteRequestParams",
"ListRootsRequest"
],
"uses": [
"RequestParamsMeta"
]
},
"Request": {
"kind": "class",
"domain": "Common",
"subdomain": "JsonRpc",
"namespace": "WP\\McpSchema\\Common\\JsonRpc\\DTO\\Request",
"purpose": "Request for operation",
"implements": [],
"properties": {
"method": "string",
"params": "{ [key: string]: any }?"
},
"usedBy": [
"JSONRPCRequest"
],
"uses": []
},
"NotificationParams": {
"kind": "class",
"domain": "Common",
"subdomain": "JsonRpc",
"namespace": "WP\\McpSchema\\Common\\JsonRpc\\DTO\\NotificationParams",
"purpose": "Parameters for Notification",
"implements": [],
"properties": {
"_meta": "{ [key: string]: unknown }?"
},
"usedBy": [
"CancelledNotificationParams",
"InitializedNotification",
"ProgressNotificationParams",
"ResourceListChangedNotification",
"ResourceUpdatedNotificationParams",
"PromptListChangedNotification",
"ToolListChangedNotification",
"LoggingMessageNotificationParams",
"RootsListChangedNotification"
],
"uses": []
},
"Notification": {
"kind": "class",
"domain": "Common",
"subdomain": "JsonRpc",
"namespace": "WP\\McpSchema\\Common\\JsonRpc\\DTO\\Notification",
"purpose": "Notification for events",
"implements": [],
"properties": {
"method": "string",
"params": "{ [key: string]: any }?"
},
"usedBy": [
"JSONRPCNotification"
],
"uses": []
},
"Result": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\Result",
"purpose": "Result from operation",
"implements": [],
"properties": {
"_meta": "{ [key: string]: unknown }?"
},
"usedBy": [
"JSONRPCResultResponse",
"InitializeResult",
"PaginatedResult",
"ReadResourceResult",
"GetPromptResult",
"CallToolResult",
"CreateTaskResult",
"GetTaskPayloadResult",
"CreateMessageResult",
"CompleteResult",
"ListRootsResult",
"ElicitResult",
"EmptyResult",
"GetTaskResult",
"CancelTaskResult"
],
"uses": []
},
"Error": {
"kind": "class",
"domain": "Common",
"subdomain": "JsonRpc",
"namespace": "WP\\McpSchema\\Common\\JsonRpc\\DTO\\Error",
"purpose": "Error data structure",
"implements": [],
"properties": {
"code": "number",
"message": "string",
"data": "unknown?"
},
"usedBy": [
"JSONRPCErrorResponse"
],
"uses": []
},
"JSONRPCRequest": {
"kind": "class",
"domain": "Common",
"subdomain": "JsonRpc",
"namespace": "WP\\McpSchema\\Common\\JsonRpc\\DTO\\JSONRPCRequest",
"purpose": "A request that expects a response",
"extends": "Request",
"implements": [
"JSONRPCMessageInterface"
],
"properties": {
"jsonrpc": "typeof JSONRPC_VERSION",
"id": "RequestId"
},
"usedBy": [
"InitializeRequest",
"PingRequest",
"PaginatedRequest",
"ReadResourceRequest",
"SubscribeRequest",
"UnsubscribeRequest",
"GetPromptRequest",
"CallToolRequest",
"GetTaskRequest",
"GetTaskPayloadRequest",
"CancelTaskRequest",
"SetLevelRequest",
"CreateMessageRequest",
"CompleteRequest",
"ListRootsRequest",
"ElicitRequest",
"JSONRPCMessageInterface"
],
"uses": [
"Request",
"RequestId"
]
},
"JSONRPCNotification": {
"kind": "class",
"domain": "Common",
"subdomain": "JsonRpc",
"namespace": "WP\\McpSchema\\Common\\JsonRpc\\DTO\\JSONRPCNotification",
"purpose": "A notification which does not expect a response",
"extends": "Notification",
"implements": [
"JSONRPCMessageInterface"
],
"properties": {
"jsonrpc": "typeof JSONRPC_VERSION"
},
"usedBy": [
"CancelledNotification",
"InitializedNotification",
"ProgressNotification",
"ResourceListChangedNotification",
"ResourceUpdatedNotification",
"PromptListChangedNotification",
"ToolListChangedNotification",
"TaskStatusNotification",
"LoggingMessageNotification",
"RootsListChangedNotification",
"ElicitationCompleteNotification",
"JSONRPCMessageInterface"
],
"uses": [
"Notification"
]
},
"JSONRPCResultResponse": {
"kind": "class",
"domain": "Common",
"subdomain": "JsonRpc",
"namespace": "WP\\McpSchema\\Common\\JsonRpc\\DTO\\JSONRPCResultResponse",
"purpose": "A successful (non-error) response to a request",
"implements": [
"JSONRPCResponseInterface"
],
"properties": {
"jsonrpc": "typeof JSONRPC_VERSION",
"id": "RequestId",
"result": "Result"
},
"usedBy": [
"JSONRPCResponseInterface"
],
"uses": [
"RequestId",
"Result"
]
},
"JSONRPCErrorResponse": {
"kind": "class",
"domain": "Common",
"subdomain": "JsonRpc",
"namespace": "WP\\McpSchema\\Common\\JsonRpc\\DTO\\JSONRPCErrorResponse",
"purpose": "A response to a request that indicates an error occurred",
"implements": [
"JSONRPCResponseInterface"
],
"properties": {
"jsonrpc": "typeof JSONRPC_VERSION",
"id": "RequestId?",
"error": "Error"
},
"usedBy": [
"JSONRPCResponseInterface"
],
"uses": [
"RequestId",
"Error"
]
},
"URLElicitationRequiredError": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\URLElicitationRequiredError",
"purpose": "An error response that indicates that the server requires the client to provide additional information via an elicitation request",
"extends": "Omit",
"implements": [],
"properties": {
"error": "Error & {\n code: typeof URL_ELICITATION_REQU..."
},
"usedBy": [],
"uses": [
"Omit",
"Error & {\n code: typeof URL_ELICITATION_REQUIRED;\n data: {\n elicitations: ElicitRequestURLParams[];\n [key: string]: unknown;\n };\n }"
]
},
"CancelledNotificationParams": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\CancelledNotificationParams",
"purpose": "Parameters for a `notifications/cancelled` notification",
"extends": "NotificationParams",
"implements": [],
"properties": {
"requestId": "RequestId?",
"reason": "string?"
},
"usedBy": [
"CancelledNotification"
],
"uses": [
"NotificationParams",
"RequestId"
]
},
"CancelledNotification": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\CancelledNotification",
"purpose": "This notification can be sent by either side to indicate that it is cancelling a previously-issued request",
"extends": "JSONRPCNotification",
"implements": [
"ClientNotificationInterface",
"ServerNotificationInterface"
],
"properties": {
"method": "\"notifications/cancelled\"",
"params": "CancelledNotificationParams"
},
"usedBy": [
"ClientNotificationInterface",
"ServerNotificationInterface"
],
"uses": [
"JSONRPCNotification",
"CancelledNotificationParams"
],
"discriminator": {
"field": "method",
"value": "notifications/cancelled"
}
},
"InitializeRequestParams": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\InitializeRequestParams",
"purpose": "Parameters for an `initialize` request",
"extends": "RequestParams",
"implements": [],
"properties": {
"protocolVersion": "string",
"capabilities": "ClientCapabilities",
"clientInfo": "Implementation"
},
"usedBy": [
"InitializeRequest"
],
"uses": [
"RequestParams",
"ClientCapabilities",
"Implementation"
]
},
"InitializeRequest": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\InitializeRequest",
"purpose": "This request is sent from the client to the server when it first connects, asking it to begin initialization",
"extends": "JSONRPCRequest",
"implements": [
"ClientRequestInterface"
],
"properties": {
"method": "\"initialize\"",
"params": "InitializeRequestParams"
},
"usedBy": [
"ClientRequestInterface"
],
"uses": [
"JSONRPCRequest",
"InitializeRequestParams"
],
"discriminator": {
"field": "method",
"value": "initialize"
}
},
"InitializeResult": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\InitializeResult",
"purpose": "After receiving an initialize request from the client, the server sends this response",
"extends": "Result",
"implements": [
"ServerResultInterface"
],
"properties": {
"protocolVersion": "string",
"capabilities": "ServerCapabilities",
"serverInfo": "Implementation",
"instructions": "string?"
},
"usedBy": [
"ServerResultInterface"
],
"uses": [
"Result",
"ServerCapabilities",
"Implementation"
]
},
"InitializedNotification": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\InitializedNotification",
"purpose": "This notification is sent from the client to the server after initialization has finished",
"extends": "JSONRPCNotification",
"implements": [
"ClientNotificationInterface"
],
"properties": {
"method": "\"notifications/initialized\"",
"params": "NotificationParams?"
},
"usedBy": [
"ClientNotificationInterface"
],
"uses": [
"JSONRPCNotification",
"NotificationParams"
],
"discriminator": {
"field": "method",
"value": "notifications/initialized"
}
},
"Icon": {
"kind": "class",
"domain": "Common",
"subdomain": "Core",
"namespace": "WP\\McpSchema\\Common\\Core\\DTO\\Icon",
"purpose": "An optionally-sized icon that can be displayed in a user interface",
"implements": [],
"properties": {
"src": "string",
"mimeType": "string?",
"sizes": "string[]?",
"theme": "\"light\" | \"dark\"?"
},
"usedBy": [
"Icons"
],
"uses": []
},
"Icons": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\Icons",
"purpose": "Base interface to add `icons` property",
"implements": [],
"properties": {
"icons": "Icon[]?"
},
"usedBy": [
"Implementation",
"Resource",
"ResourceTemplate",
"Prompt",
"Tool"
],
"uses": [
"Icon"
]
},
"BaseMetadata": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\BaseMetadata",
"purpose": "Base interface for metadata with name (identifier) and title (display name) properties",
"implements": [],
"properties": {
"name": "string",
"title": "string?"
},
"usedBy": [
"Implementation",
"Resource",
"ResourceTemplate",
"Prompt",
"PromptArgument",
"Tool",
"PromptReference"
],
"uses": []
},
"Implementation": {
"kind": "class",
"domain": "Common",
"subdomain": "Lifecycle",
"namespace": "WP\\McpSchema\\Common\\Lifecycle\\DTO\\Implementation",
"purpose": "Describes the MCP implementation",
"extends": "BaseMetadata",
"implements": [],
"properties": {
"version": "string",
"description": "string?",
"websiteUrl": "string?"
},
"usedBy": [
"InitializeRequestParams",
"InitializeResult"
],
"uses": [
"BaseMetadata",
"Icons"
]
},
"PingRequest": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\PingRequest",
"purpose": "A ping, issued by either the server or the client, to check that the other party is still alive",
"extends": "JSONRPCRequest",
"implements": [
"ClientRequestInterface",
"ServerRequestInterface"
],
"properties": {
"method": "\"ping\"",
"params": "RequestParams?"
},
"usedBy": [
"ClientRequestInterface",
"ServerRequestInterface"
],
"uses": [
"JSONRPCRequest",
"RequestParams"
],
"discriminator": {
"field": "method",
"value": "ping"
}
},
"ProgressNotificationParams": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\ProgressNotificationParams",
"purpose": "Parameters for a `notifications/progress` notification",
"extends": "NotificationParams",
"implements": [],
"properties": {
"progressToken": "ProgressToken",
"progress": "number",
"total": "number?",
"message": "string?"
},
"usedBy": [
"ProgressNotification"
],
"uses": [
"NotificationParams",
"ProgressToken"
]
},
"ProgressNotification": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\ProgressNotification",
"purpose": "An out-of-band notification used to inform the receiver of a progress update for a long-running request",
"extends": "JSONRPCNotification",
"implements": [
"ClientNotificationInterface",
"ServerNotificationInterface"
],
"properties": {
"method": "\"notifications/progress\"",
"params": "ProgressNotificationParams"
},
"usedBy": [
"ClientNotificationInterface",
"ServerNotificationInterface"
],
"uses": [
"JSONRPCNotification",
"ProgressNotificationParams"
],
"discriminator": {
"field": "method",
"value": "notifications/progress"
}
},
"PaginatedRequestParams": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\PaginatedRequestParams",
"purpose": "Common parameters for paginated requests",
"extends": "RequestParams",
"implements": [],
"properties": {
"cursor": "Cursor?"
},
"usedBy": [
"PaginatedRequest"
],
"uses": [
"RequestParams",
"Cursor"
]
},
"PaginatedRequest": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\PaginatedRequest",
"purpose": "Request for Paginated operation",
"extends": "JSONRPCRequest",
"implements": [],
"properties": {
"params": "PaginatedRequestParams?"
},
"usedBy": [
"ListResourcesRequest",
"ListResourceTemplatesRequest",
"ListPromptsRequest",
"ListToolsRequest",
"ListTasksRequest"
],
"uses": [
"JSONRPCRequest",
"PaginatedRequestParams"
]
},
"PaginatedResult": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\PaginatedResult",
"purpose": "Result from Paginated operation",
"extends": "Result",
"implements": [],
"properties": {
"nextCursor": "Cursor?"
},
"usedBy": [
"ListResourcesResult",
"ListResourceTemplatesResult",
"ListPromptsResult",
"ListToolsResult",
"ListTasksResult"
],
"uses": [
"Result",
"Cursor"
]
},
"TextResourceContents": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\TextResourceContents",
"purpose": "Text Resource Contents data structure",
"extends": "ResourceContents",
"implements": [],
"properties": {
"text": "string"
},
"usedBy": [
"EmbeddedResource"
],
"uses": [
"ResourceContents"
]
},
"BlobResourceContents": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\BlobResourceContents",
"purpose": "Blob Resource Contents data structure",
"extends": "ResourceContents",
"implements": [],
"properties": {
"blob": "string"
},
"usedBy": [
"EmbeddedResource"
],
"uses": [
"ResourceContents"
]
},
"EmbeddedResource": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\EmbeddedResource",
"purpose": "The contents of a resource, embedded into a prompt or tool call result",
"implements": [
"ContentBlockInterface"
],
"properties": {
"type": "\"resource\"",
"resource": "TextResourceContents | BlobResourceContents",
"annotations": "Annotations?",
"_meta": "{ [key: string]: unknown }?"
},
"usedBy": [
"ContentBlockInterface"
],
"uses": [
"TextResourceContents",
"BlobResourceContents",
"Annotations"
],
"discriminator": {
"field": "type",
"value": "resource"
}
},
"GetTaskRequest": {
"kind": "class",
"domain": "Common",
"subdomain": "Tasks",
"namespace": "WP\\McpSchema\\Common\\Tasks\\DTO\\GetTaskRequest",
"purpose": "A request to retrieve the state of a task",
"extends": "JSONRPCRequest",
"implements": [
"ClientRequestInterface",
"ServerRequestInterface"
],
"properties": {
"method": "\"tasks/get\"",
"params": "GetTaskRequestParams"
},
"usedBy": [
"ClientRequestInterface",
"ServerRequestInterface"
],
"uses": [
"JSONRPCRequest",
"GetTaskRequestParams"
],
"discriminator": {
"field": "method",
"value": "tasks/get"
}
},
"GetTaskPayloadRequest": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\GetTaskPayloadRequest",
"purpose": "A request to retrieve the result of a completed task",
"extends": "JSONRPCRequest",
"implements": [
"ClientRequestInterface",
"ServerRequestInterface"
],
"properties": {
"method": "\"tasks/result\"",
"params": "GetTaskPayloadRequestParams"
},
"usedBy": [
"ClientRequestInterface",
"ServerRequestInterface"
],
"uses": [
"JSONRPCRequest",
"GetTaskPayloadRequestParams"
],
"discriminator": {
"field": "method",
"value": "tasks/result"
}
},
"GetTaskPayloadResult": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\GetTaskPayloadResult",
"purpose": "The response to a tasks/result request",
"extends": "Result",
"implements": [
"ClientResultInterface",
"ServerResultInterface"
],
"properties": {},
"usedBy": [
"ClientResultInterface",
"ServerResultInterface"
],
"uses": [
"Result"
]
},
"CancelTaskRequest": {
"kind": "class",
"domain": "Common",
"subdomain": "Tasks",
"namespace": "WP\\McpSchema\\Common\\Tasks\\DTO\\CancelTaskRequest",
"purpose": "A request to cancel a task",
"extends": "JSONRPCRequest",
"implements": [
"ClientRequestInterface",
"ServerRequestInterface"
],
"properties": {
"method": "\"tasks/cancel\"",
"params": "CancelTaskRequestParams"
},
"usedBy": [
"ClientRequestInterface",
"ServerRequestInterface"
],
"uses": [
"JSONRPCRequest",
"CancelTaskRequestParams"
],
"discriminator": {
"field": "method",
"value": "tasks/cancel"
}
},
"ListTasksRequest": {
"kind": "class",
"domain": "Common",
"subdomain": "Tasks",
"namespace": "WP\\McpSchema\\Common\\Tasks\\DTO\\ListTasksRequest",
"purpose": "A request to retrieve a list of tasks",
"extends": "PaginatedRequest",
"implements": [
"ClientRequestInterface",
"ServerRequestInterface"
],
"properties": {
"method": "\"tasks/list\""
},
"usedBy": [
"ClientRequestInterface",
"ServerRequestInterface"
],
"uses": [
"PaginatedRequest"
],
"discriminator": {
"field": "method",
"value": "tasks/list"
}
},
"ListTasksResult": {
"kind": "class",
"domain": "Common",
"subdomain": "Tasks",
"namespace": "WP\\McpSchema\\Common\\Tasks\\DTO\\ListTasksResult",
"purpose": "The response to a tasks/list request",
"extends": "PaginatedResult",
"implements": [
"ClientResultInterface",
"ServerResultInterface"
],
"properties": {
"tasks": "Task[]"
},
"usedBy": [
"ClientResultInterface",
"ServerResultInterface"
],
"uses": [
"PaginatedResult",
"Task"
]
},
"TaskStatusNotification": {
"kind": "class",
"domain": "Common",
"subdomain": "Tasks",
"namespace": "WP\\McpSchema\\Common\\Tasks\\DTO\\TaskStatusNotification",
"purpose": "An optional notification from the receiver to the requestor, informing them that a task's status has changed",
"extends": "JSONRPCNotification",
"implements": [
"ClientNotificationInterface",
"ServerNotificationInterface"
],
"properties": {
"method": "\"notifications/tasks/status\"",
"params": "TaskStatusNotificationParams"
},
"usedBy": [
"ClientNotificationInterface",
"ServerNotificationInterface"
],
"uses": [
"JSONRPCNotification",
"TaskStatusNotificationParams"
],
"discriminator": {
"field": "method",
"value": "notifications/tasks/status"
}
},
"Annotations": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\Annotations",
"purpose": "Optional annotations for the client",
"implements": [],
"properties": {
"audience": "Role[]?",
"priority": "number?",
"lastModified": "string?"
},
"usedBy": [
"Resource",
"ResourceTemplate",
"EmbeddedResource",
"TextContent",
"ImageContent",
"AudioContent"
],
"uses": [
"Role"
]
},
"TextContent": {
"kind": "class",
"domain": "Common",
"subdomain": "Content",
"namespace": "WP\\McpSchema\\Common\\Content\\DTO\\TextContent",
"purpose": "Text provided to or from an LLM",
"implements": [
"SamplingMessageContentBlockInterface",
"ContentBlockInterface"
],
"properties": {
"type": "\"text\"",
"text": "string",
"annotations": "Annotations?",
"_meta": "{ [key: string]: unknown }?"
},
"usedBy": [
"SamplingMessageContentBlockInterface",
"ContentBlockInterface"
],
"uses": [
"Annotations"
],
"discriminator": {
"field": "type",
"value": "text"
}
},
"ImageContent": {
"kind": "class",
"domain": "Common",
"subdomain": "Content",
"namespace": "WP\\McpSchema\\Common\\Content\\DTO\\ImageContent",
"purpose": "An image provided to or from an LLM",
"implements": [
"SamplingMessageContentBlockInterface",
"ContentBlockInterface"
],
"properties": {
"type": "\"image\"",
"data": "string",
"mimeType": "string",
"annotations": "Annotations?",
"_meta": "{ [key: string]: unknown }?"
},
"usedBy": [
"SamplingMessageContentBlockInterface",
"ContentBlockInterface"
],
"uses": [
"Annotations"
],
"discriminator": {
"field": "type",
"value": "image"
}
},
"AudioContent": {
"kind": "class",
"domain": "Common",
"subdomain": "Content",
"namespace": "WP\\McpSchema\\Common\\Content\\DTO\\AudioContent",
"purpose": "Audio provided to or from an LLM",
"implements": [
"SamplingMessageContentBlockInterface",
"ContentBlockInterface"
],
"properties": {
"type": "\"audio\"",
"data": "string",
"mimeType": "string",
"annotations": "Annotations?",
"_meta": "{ [key: string]: unknown }?"
},
"usedBy": [
"SamplingMessageContentBlockInterface",
"ContentBlockInterface"
],
"uses": [
"Annotations"
],
"discriminator": {
"field": "type",
"value": "audio"
}
},
"RequestParamsMeta": {
"kind": "class",
"domain": "Common",
"subdomain": "JsonRpc",
"namespace": "WP\\McpSchema\\Common\\JsonRpc\\DTO\\RequestParamsMeta",
"purpose": "See [General fields: `_meta`](/specification/2025-11-25/basic/index#meta) for notes on `_meta` usage",
"implements": [],
"properties": {
"progressToken": "ProgressToken?"
},
"usedBy": [
"RequestParams"
],
"uses": [
"ProgressToken"
]
},
"GetTaskRequestParams": {
"kind": "class",
"domain": "Common",
"subdomain": "Tasks",
"namespace": "WP\\McpSchema\\Common\\Tasks\\DTO\\GetTaskRequestParams",
"purpose": "Parameters for GetTaskRequest",
"implements": [],
"properties": {
"taskId": "string"
},
"usedBy": [
"GetTaskRequest"
],
"uses": []
},
"GetTaskPayloadRequestParams": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\GetTaskPayloadRequestParams",
"purpose": "Parameters for GetTaskPayloadRequest",
"implements": [],
"properties": {
"taskId": "string"
},
"usedBy": [
"GetTaskPayloadRequest"
],
"uses": []
},
"CancelTaskRequestParams": {
"kind": "class",
"domain": "Common",
"subdomain": "Tasks",
"namespace": "WP\\McpSchema\\Common\\Tasks\\DTO\\CancelTaskRequestParams",
"purpose": "Parameters for CancelTaskRequest",
"implements": [],
"properties": {
"taskId": "string"
},
"usedBy": [
"CancelTaskRequest"
],
"uses": []
},
"JSONRPCMessageInterface": {
"kind": "union",
"domain": "Common",
"subdomain": "JsonRpc",
"namespace": "WP\\McpSchema\\Common\\JsonRpc\\Union\\JSONRPCMessageInterface",
"purpose": "Refers to any valid JSON-RPC object that can be decoded off the wire, or encoded to be sent.",
"implements": [],
"properties": {},
"usedBy": [],
"uses": [
"JSONRPCRequest",
"JSONRPCNotification",
"JSONRPCResponse"
]
},
"ProgressTokenInterface": {
"kind": "union",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\Union\\ProgressTokenInterface",
"purpose": "A progress token, used to associate progress notifications with the original request.",
"implements": [],
"properties": {},
"usedBy": [],
"uses": []
},
"RequestIdInterface": {
"kind": "union",
"domain": "Common",
"subdomain": "JsonRpc",
"namespace": "WP\\McpSchema\\Common\\JsonRpc\\Union\\RequestIdInterface",
"purpose": "A uniquely identifying ID for a request in JSON-RPC.",
"implements": [],
"properties": {},
"usedBy": [],
"uses": []
},
"JSONRPCResponseInterface": {
"kind": "union",
"domain": "Common",
"subdomain": "JsonRpc",
"namespace": "WP\\McpSchema\\Common\\JsonRpc\\Union\\JSONRPCResponseInterface",
"purpose": "A response to a request, containing either the result or error.",
"implements": [],
"properties": {},
"usedBy": [],
"uses": [
"JSONRPCResultResponse",
"JSONRPCErrorResponse"
]
},
"EmptyResult": {
"kind": "class",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\DTO\\EmptyResult",
"purpose": "A response that indicates success but carries no data.",
"extends": "Result",
"implements": [
"ClientResultInterface",
"ServerResultInterface"
],
"properties": {},
"usedBy": [
"ClientResultInterface",
"ServerResultInterface"
],
"uses": [
"Result"
]
},
"Role": {
"kind": "enum",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\Enum\\Role",
"purpose": "The sender or recipient of messages and data in a conversation.",
"implements": [],
"properties": {
"USER": "user",
"ASSISTANT": "assistant"
},
"usedBy": [
"PromptMessage",
"SamplingMessage",
"Annotations"
],
"uses": []
},
"SamplingMessageContentBlockInterface": {
"kind": "union",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\Union\\SamplingMessageContentBlockInterface",
"purpose": "Union type: TextContent | ImageContent | AudioContent | ToolUseContent | ToolResultContent",
"implements": [],
"properties": {},
"usedBy": [],
"uses": [
"TextContent",
"ImageContent",
"AudioContent",
"ToolUseContent",
"ToolResultContent"
]
},
"ContentBlockInterface": {
"kind": "union",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\Union\\ContentBlockInterface",
"purpose": "Union type: TextContent | ImageContent | AudioContent | ResourceLink | EmbeddedResource",
"implements": [],
"properties": {},
"usedBy": [],
"uses": [
"TextContent",
"ImageContent",
"AudioContent",
"ResourceLink",
"EmbeddedResource"
]
},
"ClientRequestInterface": {
"kind": "union",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\Union\\ClientRequestInterface",
"purpose": "Union type: PingRequest | InitializeRequest | CompleteRequest | SetLevelRequest | GetPromptRequest | ListPromptsRequest | ListResourcesRequest | ListResourceTemplatesRequest | ReadResourceRequest | SubscribeRequest | UnsubscribeRequest | CallToolRequest | ListToolsRequest | GetTaskRequest | GetTaskPayloadRequest | ListTasksRequest | CancelTaskRequest",
"implements": [],
"properties": {},
"usedBy": [],
"uses": [
"PingRequest",
"InitializeRequest",
"CompleteRequest",
"SetLevelRequest",
"GetPromptRequest",
"ListPromptsRequest",
"ListResourcesRequest",
"ListResourceTemplatesRequest",
"ReadResourceRequest",
"SubscribeRequest",
"UnsubscribeRequest",
"CallToolRequest",
"ListToolsRequest",
"GetTaskRequest",
"GetTaskPayloadRequest",
"ListTasksRequest",
"CancelTaskRequest"
]
},
"ClientNotificationInterface": {
"kind": "union",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\Union\\ClientNotificationInterface",
"purpose": "Union type: CancelledNotification | ProgressNotification | InitializedNotification | RootsListChangedNotification | TaskStatusNotification",
"implements": [],
"properties": {},
"usedBy": [],
"uses": [
"CancelledNotification",
"ProgressNotification",
"InitializedNotification",
"RootsListChangedNotification",
"TaskStatusNotification"
]
},
"ServerRequestInterface": {
"kind": "union",
"domain": "Common",
"subdomain": "Protocol",
"namespace": "WP\\McpSchema\\Common\\Protocol\\Union\\ServerRequestInterface",
"purpose": "Union type: PingRequest | CreateMessageRequest | ListRootsRequest | ElicitRequest | GetTaskRequest | GetTaskPayloadRequest | ListTasksRequest | CancelTaskRequest",
"implements": [],
"properties": {},
"usedBy": [],
"uses": [
"PingRequest",
"CreateMessageRequest",
"ListRootsRequest",
"ElicitRequest",
"GetTaskRequest",
"GetTaskPayloadRequest",
"ListTasksRequest",
"CancelTaskRequest"
]
},
"GetTaskResult": {
"kind": "class",
"domain": "Common",
"subdomain": "Tasks",
"namespace": "WP\\McpSchema\\Common\\Tasks\\DTO\\GetTaskResult",
"purpose": "The response to a tasks/get request.",
"extends": "Result",
"implements": [
"ClientResultInterface",
"ServerResultInterface"
],
"properties": {
"taskId": "string",
"status": "\"working\" | \"input_required\" | \"completed\" | \"f...",
"statusMessage": "string?",
"createdAt": "string",
"lastUpdatedAt": "string",
"ttl": "number | null",
"pollInterval": "number?"
},
"usedBy": [
"ClientResultInterface",
"ServerResultInterface"
],
"uses": [
"Result",
"Task"
]
},
"CancelTaskResult": {
"kind": "class",
"domain": "Common",
"subdomain": "Tasks",
"namespace": "WP\\McpSchema\\Common\\Tasks\\DTO\\CancelTaskResult",
"purpose": "The response to a tasks/cancel request.",
"extends": "Result",
"implements": [
"ClientResultInterface",
"ServerResultInterface"
],
"properties": {
"taskId": "string",
"status": "\"working\" | \"input_required\" | \"completed\" | \"f...",
"statusMessage": "string?",
"createdAt": "string",
"lastUpdatedAt": "string",
"ttl": "number | null",
"pollInterval": "number?"
},
"usedBy": [
"ClientResultInterface",
"ServerResultInterface"
],
"uses": [
"Result",
"Task"
]
}
},
"factories": {
"SamplingMessageContentBlockFactory": {
"interface": "SamplingMessageContentBlockInterface",
"discriminator": "type",
"mappings": {
"text": "TextContent",
"image": "ImageContent",
"audio": "AudioContent",
"tool_use": "ToolUseContent",
"tool_result": "ToolResultContent"
}
},
"ContentBlockFactory": {
"interface": "ContentBlockInterface",
"discriminator": "type",
"mappings": {
"text": "TextContent",
"image": "ImageContent",
"audio": "AudioContent",
"resource_link": "ResourceLink",
"resource": "EmbeddedResource"
}
},
"ClientRequestFactory": {
"interface": "ClientRequestInterface",
"discriminator": "method",
"mappings": {
"ping": "PingRequest",
"initialize": "InitializeRequest",
"completion/complete": "CompleteRequest",
"logging/setLevel": "SetLevelRequest",
"prompts/get": "GetPromptRequest",
"prompts/list": "ListPromptsRequest",
"resources/list": "ListResourcesRequest",
"resources/templates/list": "ListResourceTemplatesRequest",
"resources/read": "ReadResourceRequest",
"resources/subscribe": "SubscribeRequest",
"resources/unsubscribe": "UnsubscribeRequest",
"tools/call": "CallToolRequest",
"tools/list": "ListToolsRequest",
"tasks/get": "GetTaskRequest",
"tasks/result": "GetTaskPayloadRequest",
"tasks/list": "ListTasksRequest",
"tasks/cancel": "CancelTaskRequest"
}
},
"ClientNotificationFactory": {
"interface": "ClientNotificationInterface",
"discriminator": "method",
"mappings": {
"notifications/cancelled": "CancelledNotification",
"notifications/progress": "ProgressNotification",
"notifications/initialized": "InitializedNotification",
"notifications/roots/list_changed": "RootsListChangedNotification",
"notifications/tasks/status": "TaskStatusNotification"
}
},
"ServerRequestFactory": {
"interface": "ServerRequestInterface",
"discriminator": "method",
"mappings": {
"ping": "PingRequest",
"sampling/createMessage": "CreateMessageRequest",
"roots/list": "ListRootsRequest",
"elicitation/create": "ElicitRequest",
"tasks/get": "GetTaskRequest",
"tasks/result": "GetTaskPayloadRequest",
"tasks/list": "ListTasksRequest",
"tasks/cancel": "CancelTaskRequest"
}
}
}
}{
"version": "2025-11-25",
"namespace": "WP\\McpSchema",
"summary": {
"types": 164,
"domains": 3,
"subdomains": 17,
"rpcMethods": 20,
"factories": 11
},
"domains": {
"Common": [
"Tasks",
"JsonRpc",
"Protocol",
"Core",
"Lifecycle",
"Content"
],
"Client": [
"Lifecycle",
"Tasks",
"Sampling",
"Roots",
"Elicitation"
],
"Server": [
"Lifecycle",
"Resources",
"Prompts",
"Tools",
"Logging",
"Core"
]
},
"rpcMethods": [
{
"method": "initialize",
"direction": "client→server"
},
{
"method": "ping",
"direction": "bidirectional"
},
{
"method": "resources/list",
"direction": "client→server"
},
{
"method": "resources/templates/list",
"direction": "client→server"
},
{
"method": "resources/read",
"direction": "client→server"
},
{
"method": "resources/subscribe",
"direction": "client→server"
},
{
"method": "resources/unsubscribe",
"direction": "client→server"
},
{
"method": "prompts/list",
"direction": "client→server"
},
{
"method": "prompts/get",
"direction": "client→server"
},
{
"method": "tools/list",
"direction": "client→server"
},
{
"method": "tools/call",
"direction": "client→server"
},
{
"method": "tasks/get",
"direction": "bidirectional"
},
{
"method": "tasks/result",
"direction": "bidirectional"
},
{
"method": "tasks/cancel",
"direction": "bidirectional"
},
{
"method": "tasks/list",
"direction": "bidirectional"
},
{
"method": "logging/setLevel",
"direction": "client→server"
},
{
"method": "sampling/createMessage",
"direction": "server→client"
},
{
"method": "completion/complete",
"direction": "client→server"
},
{
"method": "roots/list",
"direction": "server→client"
},
{
"method": "elicitation/create",
"direction": "server→client"
}
],
"entryPoints": {
"Common/Tasks": "tasks/get",
"Common/Protocol": "initialize",
"Server/Resources": "resources/list",
"Server/Prompts": "prompts/list",
"Server/Tools": "tools/list",
"Server/Logging": "logging/setLevel",
"Client/Sampling": "sampling/createMessage",
"Server/Core": "completion/complete",
"Client/Roots": "roots/list",
"Client/Elicitation": "elicitation/create"
}
}{
"version": "2025-11-25",
"domain": "Server",
"types": {
"ServerCapabilities": {
"kind": "class",
"domain": "Server",
"subdomain": "Lifecycle",
"namespace": "WP\\McpSchema\\Server\\Lifecycle\\DTO\\ServerCapabilities",
"purpose": "Capabilities that a server may support",
"implements": [],
"properties": {
"experimental": "{ [key: string]: object }?",
"logging": "object?",
"completions": "object?",
"prompts": "ServerCapabilitiesPrompts | undefined?",
"resources": "ServerCapabilitiesResources | undefined?",
"tools": "ServerCapabilitiesTools | undefined?",
"tasks": "ServerCapabilitiesTasks | undefined?"
},
"usedBy": [
"InitializeResult"
],
"uses": [
"ServerCapabilitiesPrompts",
"ServerCapabilitiesResources",
"ServerCapabilitiesTools",
"ServerCapabilitiesTasks"
]
},
"ListResourcesRequest": {
"kind": "class",
"domain": "Server",
"subdomain": "Resources",
"namespace": "WP\\McpSchema\\Server\\Resources\\DTO\\ListResourcesRequest",
"purpose": "Sent from the client to request a list of resources the server has",
"extends": "PaginatedRequest",
"implements": [
"ClientRequestInterface"
],
"properties": {
"method": "\"resources/list\""
},
"usedBy": [
"ClientRequestInterface"
],
"uses": [
"PaginatedRequest"
],
"discriminator": {
"field": "method",
"value": "resources/list"
}
},
"ListResourcesResult": {
"kind": "class",
"domain": "Server",
"subdomain": "Resources",
"namespace": "WP\\McpSchema\\Server\\Resources\\DTO\\ListResourcesResult",
"purpose": "The server's response to a resources/list request from the client",
"extends": "PaginatedResult",
"implements": [
"ServerResultInterface"
],
"properties": {
"resources": "Resource[]"
},
"usedBy": [
"ServerResultInterface"
],
"uses": [
"PaginatedResult",
"Resource"
]
},
"ListResourceTemplatesRequest": {
"kind": "class",
"domain": "Server",
"subdomain": "Resources",
"namespace": "WP\\McpSchema\\Server\\Resources\\DTO\\ListResourceTemplatesRequest",
"purpose": "Sent from the client to request a list of resource templates the server has",
"extends": "PaginatedRequest",
"implements": [
"ClientRequestInterface"
],
"properties": {
"method": "\"resources/templates/list\""
},
"usedBy": [
"ClientRequestInterface"
],
"uses": [
"PaginatedRequest"
],
"discriminator": {
"field": "method",
"value": "resources/templates/list"
}
},
"ListResourceTemplatesResult": {
"kind": "class",
"domain": "Server",
"subdomain": "Resources",
"namespace": "WP\\McpSchema\\Server\\Resources\\DTO\\ListResourceTemplatesResult",
"purpose": "The server's response to a resources/templates/list request from the client",
"extends": "PaginatedResult",
"implements": [
"ServerResultInterface"
],
"properties": {
"resourceTemplates": "ResourceTemplate[]"
},
"usedBy": [
"ServerResultInterface"
],
"uses": [
"PaginatedResult",
"ResourceTemplate"
]
},
"ResourceRequestParams": {
"kind": "class",
"domain": "Server",
"subdomain": "Resources",
"namespace": "WP\\McpSchema\\Server\\Resources\\DTO\\ResourceRequestParams",
"purpose": "Common parameters when working with resources",
"extends": "RequestParams",
"implements": [],
"properties": {
"uri": "string"
},
"usedBy": [
"ReadResourceRequestParams",
"SubscribeRequestParams",
"UnsubscribeRequestParams"
],
"uses": [
"RequestParams"
]
},
"ReadResourceRequestParams": {
"kind": "class",
"domain": "Server",
"subdomain": "Resources",
"namespace": "WP\\McpSchema\\Server\\Resources\\DTO\\ReadResourceRequestParams",
"purpose": "Parameters for a `resources/read` request",
"extends": "ResourceRequestParams",
"implements": [],
"properties": {},
"usedBy": [
"ReadResourceRequest"
],
"uses": [
"ResourceRequestParams"
]
},
"ReadResourceRequest": {
"kind": "class",
"domain": "Server",
"subdomain": "Resources",
"namespace": "WP\\McpSchema\\Server\\Resources\\DTO\\ReadResourceRequest",
"purpose": "Sent from the client to the server, to read a specific resource URI",
"extends": "JSONRPCRequest",
"implements": [
"ClientRequestInterface"
],
"properties": {
"method": "\"resources/read\"",
"params": "ReadResourceRequestParams"
},
"usedBy": [
"ClientRequestInterface"
],
"uses": [
"JSONRPCRequest",
"ReadResourceRequestParams"
],
"discriminator": {
"field": "method",
"value": "resources/read"
}
},
"ReadResourceResult": {
"kind": "class",
"domain": "Server",
"subdomain": "Resources",
"namespace": "WP\\McpSchema\\Server\\Resources\\DTO\\ReadResourceResult",
"purpose": "The server's response to a resources/read request from the client",
"extends": "Result",
"implements": [
"ServerResultInterface"
],
"properties": {
"contents": "(TextResourceContents | BlobResourceContents)[]"
},
"usedBy": [
"ServerResultInterface"
],
"uses": [
"Result",
"BlobResourceContents)"
]
},
"ResourceListChangedNotification": {
"kind": "class",
"domain": "Server",
"subdomain": "Resources",
"namespace": "WP\\McpSchema\\Server\\Resources\\DTO\\ResourceListChangedNotification",
"purpose": "An optional notification from the server to the client, informing it that the list of resources it can read from has changed",
"extends": "JSONRPCNotification",
"implements": [
"ServerNotificationInterface"
],
"properties": {
"method": "\"notifications/resources/list_changed\"",
"params": "NotificationParams?"
},
"usedBy": [
"ServerNotificationInterface"
],
"uses": [
"JSONRPCNotification",
"NotificationParams"
],
"discriminator": {
"field": "method",
"value": "notifications/resources/list_changed"
}
},
"SubscribeRequestParams": {
"kind": "class",
"domain": "Server",
"subdomain": "Resources",
"namespace": "WP\\McpSchema\\Server\\Resources\\DTO\\SubscribeRequestParams",
"purpose": "Parameters for a `resources/subscribe` request",
"extends": "ResourceRequestParams",
"implements": [],
"properties": {},
"usedBy": [
"SubscribeRequest"
],
"uses": [
"ResourceRequestParams"
]
},
"SubscribeRequest": {
"kind": "class",
"domain": "Server",
"subdomain": "Resources",
"namespace": "WP\\McpSchema\\Server\\Resources\\DTO\\SubscribeRequest",
"purpose": "Sent from the client to request resources/updated notifications from the server whenever a particular resource changes",
"extends": "JSONRPCRequest",
"implements": [
"ClientRequestInterface"
],
"properties": {
"method": "\"resources/subscribe\"",
"params": "SubscribeRequestParams"
},
"usedBy": [
"ClientRequestInterface"
],
"uses": [
"JSONRPCRequest",
"SubscribeRequestParams"
],
"discriminator": {
"field": "method",
"value": "resources/subscribe"
}
},
"UnsubscribeRequestParams": {
"kind": "class",
"domain": "Server",
"subdomain": "Resources",
"namespace": "WP\\McpSchema\\Server\\Resources\\DTO\\UnsubscribeRequestParams",
"purpose": "Parameters for a `resources/unsubscribe` request",
"extends": "ResourceRequestParams",
"implements": [],
"properties": {},
"usedBy": [
"UnsubscribeRequest"
],
"uses": [
"ResourceRequestParams"
]
},
"UnsubscribeRequest": {
"kind": "class",
"domain": "Server",
"subdomain": "Resources",
"namespace": "WP\\McpSchema\\Server\\Resources\\DTO\\UnsubscribeRequest",
"purpose": "Sent from the client to request cancellation of resources/updated notifications from the server",
"extends": "JSONRPCRequest",
"implements": [
"ClientRequestInterface"
],
"properties": {
"method": "\"resources/unsubscribe\"",
"params": "UnsubscribeRequestParams"
},
"usedBy": [
"ClientRequestInterface"
],
"uses": [
"JSONRPCRequest",
"UnsubscribeRequestParams"
],
"discriminator": {
"field": "method",
"value": "resources/unsubscribe"
}
},
"ResourceUpdatedNotificationParams": {
"kind": "class",
"domain": "Server",
"subdomain": "Resources",
"namespace": "WP\\McpSchema\\Server\\Resources\\DTO\\ResourceUpdatedNotificationParams",
"purpose": "Parameters for a `notifications/resources/updated` notification",
"extends": "NotificationParams",
"implements": [],
"properties": {
"uri": "string"
},
"usedBy": [
"ResourceUpdatedNotification"
],
"uses": [
"NotificationParams"
]
},
"ResourceUpdatedNotification": {
"kind": "class",
"domain": "Server",
"subdomain": "Resources",
"namespace": "WP\\McpSchema\\Server\\Resources\\DTO\\ResourceUpdatedNotification",
"purpose": "A notification from the server to the client, informing it that a resource has changed and may need to be read again",
"extends": "JSONRPCNotification",
"implements": [
"ServerNotificationInterface"
],
"properties": {
"method": "\"notifications/resources/updated\"",
"params": "ResourceUpdatedNotificationParams"
},
"usedBy": [
"ServerNotificationInterface"
],
"uses": [
"JSONRPCNotification",
"ResourceUpdatedNotificationParams"
],
"discriminator": {
"field": "method",
"value": "notifications/resources/updated"
}
},
"Resource": {
"kind": "class",
"domain": "Server",
"subdomain": "Resources",
"namespace": "WP\\McpSchema\\Server\\Resources\\DTO\\Resource",
"purpose": "A known resource that the server is capable of reading",
"extends": "BaseMetadata",
"implements": [],
"properties": {
"uri": "string",
"description": "string?",
"mimeType": "string?",
"annotations": "Annotations?",
"size": "number?",
"_meta": "{ [key: string]: unknown }?"
},
"usedBy": [
"ListResourcesResult",
"ResourceLink"
],
"uses": [
"BaseMetadata",
"Icons",
"Annotations"
]
},
"ResourceTemplate": {
"kind": "class",
"domain": "Server",
"subdomain": "Resources",
"namespace": "WP\\McpSchema\\Server\\Resources\\DTO\\ResourceTemplate",
"purpose": "A template description for resources available on the server",
"extends": "BaseMetadata",
"implements": [],
"properties": {
"uriTemplate": "string",
"description": "string?",
"mimeType": "string?",
"annotations": "Annotations?",
"_meta": "{ [key: string]: unknown }?"
},
"usedBy": [
"ListResourceTemplatesResult"
],
"uses": [
"BaseMetadata",
"Icons",
"Annotations"
]
},
"ResourceContents": {
"kind": "class",
"domain": "Server",
"subdomain": "Resources",
"namespace": "WP\\McpSchema\\Server\\Resources\\DTO\\ResourceContents",
"purpose": "The contents of a specific resource or sub-resource",
"implements": [],
"properties": {
"uri": "string",
"mimeType": "string?",
"_meta": "{ [key: string]: unknown }?"
},
"usedBy": [
"TextResourceContents",
"BlobResourceContents"
],
"uses": []
},
"ListPromptsRequest": {
"kind": "class",
"domain": "Server",
"subdomain": "Prompts",
"namespace": "WP\\McpSchema\\Server\\Prompts\\DTO\\ListPromptsRequest",
"purpose": "Sent from the client to request a list of prompts and prompt templates the server has",
"extends": "PaginatedRequest",
"implements": [
"ClientRequestInterface"
],
"properties": {
"method": "\"prompts/list\""
},
"usedBy": [
"ClientRequestInterface"
],
"uses": [
"PaginatedRequest"
],
"discriminator": {
"field": "method",
"value": "prompts/list"
}
},
"ListPromptsResult": {
"kind": "class",
"domain": "Server",
"subdomain": "Prompts",
"namespace": "WP\\McpSchema\\Server\\Prompts\\DTO\\ListPromptsResult",
"purpose": "The server's response to a prompts/list request from the client",
"extends": "PaginatedResult",
"implements": [
"ServerResultInterface"
],
"properties": {
"prompts": "Prompt[]"
},
"usedBy": [
"ServerResultInterface"
],
"uses": [
"PaginatedResult",
"Prompt"
]
},
"GetPromptRequestParams": {
"kind": "class",
"domain": "Server",
"subdomain": "Prompts",
"namespace": "WP\\McpSchema\\Server\\Prompts\\DTO\\GetPromptRequestParams",
"purpose": "Parameters for a `prompts/get` request",
"extends": "RequestParams",
"implements": [],
"properties": {
"name": "string",
"arguments": "{ [key: string]: string }?"
},
"usedBy": [
"GetPromptRequest"
],
"uses": [
"RequestParams"
]
},
"GetPromptRequest": {
"kind": "class",
"domain": "Server",
"subdomain": "Prompts",
"namespace": "WP\\McpSchema\\Server\\Prompts\\DTO\\GetPromptRequest",
"purpose": "Used by the client to get a prompt provided by the server",
"extends": "JSONRPCRequest",
"implements": [
"ClientRequestInterface"
],
"properties": {
"method": "\"prompts/get\"",
"params": "GetPromptRequestParams"
},
"usedBy": [
"ClientRequestInterface"
],
"uses": [
"JSONRPCRequest",
"GetPromptRequestParams"
],
"discriminator": {
"field": "method",
"value": "prompts/get"
}
},
"GetPromptResult": {
"kind": "class",
"domain": "Server",
"subdomain": "Prompts",
"namespace": "WP\\McpSchema\\Server\\Prompts\\DTO\\GetPromptResult",
"purpose": "The server's response to a prompts/get request from the client",
"extends": "Result",
"implements": [
"ServerResultInterface"
],
"properties": {
"description": "string?",
"messages": "PromptMessage[]"
},
"usedBy": [
"ServerResultInterface"
],
"uses": [
"Result",
"PromptMessage"
]
},
"Prompt": {
"kind": "class",
"domain": "Server",
"subdomain": "Prompts",
"namespace": "WP\\McpSchema\\Server\\Prompts\\DTO\\Prompt",
"purpose": "A prompt or prompt template that the server offers",
"extends": "BaseMetadata",
"implements": [],
"properties": {
"description": "string?",
"arguments": "PromptArgument[]?",
"_meta": "{ [key: string]: unknown }?"
},
"usedBy": [
"ListPromptsResult"
],
"uses": [
"BaseMetadata",
"Icons",
"PromptArgument"
]
},
"PromptArgument": {
"kind": "class",
"domain": "Server",
"subdomain": "Prompts",
"namespace": "WP\\McpSchema\\Server\\Prompts\\DTO\\PromptArgument",
"purpose": "Describes an argument that a prompt can accept",
"extends": "BaseMetadata",
"implements": [],
"properties": {
"description": "string?",
"required": "boolean?"
},
"usedBy": [
"Prompt"
],
"uses": [
"BaseMetadata"
]
},
"PromptMessage": {
"kind": "class",
"domain": "Server",
"subdomain": "Prompts",
"namespace": "WP\\McpSchema\\Server\\Prompts\\DTO\\PromptMessage",
"purpose": "Describes a message returned as part of a prompt",
"implements": [],
"properties": {
"role": "Role",
"content": "ContentBlock"
},
"usedBy": [
"GetPromptResult"
],
"uses": [
"Role",
"ContentBlock"
]
},
"ResourceLink": {
"kind": "class",
"domain": "Server",
"subdomain": "Resources",
"namespace": "WP\\McpSchema\\Server\\Resources\\DTO\\ResourceLink",
"purpose": "A resource that the server is capable of reading, included in a prompt or tool call result",
"extends": "Resource",
"implements": [
"ContentBlockInterface"
],
"properties": {
"type": "\"resource_link\""
},
"usedBy": [
"ContentBlockInterface"
],
"uses": [
"Resource"
],
"discriminator": {
"field": "type",
"value": "resource_link"
}
},
"PromptListChangedNotification": {
"kind": "class",
"domain": "Server",
"subdomain": "Prompts",
"namespace": "WP\\McpSchema\\Server\\Prompts\\DTO\\PromptListChangedNotification",
"purpose": "An optional notification from the server to the client, informing it that the list of prompts it offers has changed",
"extends": "JSONRPCNotification",
"implements": [
"ServerNotificationInterface"
],
"properties": {
"method": "\"notifications/prompts/list_changed\"",
"params": "NotificationParams?"
},
"usedBy": [
"ServerNotificationInterface"
],
"uses": [
"JSONRPCNotification",
"NotificationParams"
],
"discriminator": {
"field": "method",
"value": "notifications/prompts/list_changed"
}
},
"ListToolsRequest": {
"kind": "class",
"domain": "Server",
"subdomain": "Tools",
"namespace": "WP\\McpSchema\\Server\\Tools\\DTO\\ListToolsRequest",
"purpose": "Sent from the client to request a list of tools the server has",
"extends": "PaginatedRequest",
"implements": [
"ClientRequestInterface"
],
"properties": {
"method": "\"tools/list\""
},
"usedBy": [
"ClientRequestInterface"
],
"uses": [
"PaginatedRequest"
],
"discriminator": {
"field": "method",
"value": "tools/list"
}
},
"ListToolsResult": {
"kind": "class",
"domain": "Server",
"subdomain": "Tools",
"namespace": "WP\\McpSchema\\Server\\Tools\\DTO\\ListToolsResult",
"purpose": "The server's response to a tools/list request from the client",
"extends": "PaginatedResult",
"implements": [
"ServerResultInterface"
],
"properties": {
"tools": "Tool[]"
},
"usedBy": [
"ServerResultInterface"
],
"uses": [
"PaginatedResult",
"Tool"
]
},
"CallToolResult": {
"kind": "class",
"domain": "Server",
"subdomain": "Tools",
"namespace": "WP\\McpSchema\\Server\\Tools\\DTO\\CallToolResult",
"purpose": "The server's response to a tool call",
"extends": "Result",
"implements": [
"ServerResultInterface"
],
"properties": {
"content": "ContentBlock[]",
"structuredContent": "{ [key: string]: unknown }?",
"isError": "boolean?"
},
"usedBy": [
"ServerResultInterface"
],
"uses": [
"Result",
"ContentBlock"
]
},
"CallToolRequestParams": {
"kind": "class",
"domain": "Server",
"subdomain": "Tools",
"namespace": "WP\\McpSchema\\Server\\Tools\\DTO\\CallToolRequestParams",
"purpose": "Parameters for a `tools/call` request",
"extends": "TaskAugmentedRequestParams",
"implements": [],
"properties": {
"name": "string",
"arguments": "{ [key: string]: unknown }?"
},
"usedBy": [
"CallToolRequest"
],
"uses": [
"TaskAugmentedRequestParams"
]
},
"CallToolRequest": {
"kind": "class",
"domain": "Server",
"subdomain": "Tools",
"namespace": "WP\\McpSchema\\Server\\Tools\\DTO\\CallToolRequest",
"purpose": "Used by the client to invoke a tool provided by the server",
"extends": "JSONRPCRequest",
"implements": [
"ClientRequestInterface"
],
"properties": {
"method": "\"tools/call\"",
"params": "CallToolRequestParams"
},
"usedBy": [
"ClientRequestInterface"
],
"uses": [
"JSONRPCRequest",
"CallToolRequestParams"
],
"discriminator": {
"field": "method",
"value": "tools/call"
}
},
"ToolListChangedNotification": {
"kind": "class",
"domain": "Server",
"subdomain": "Tools",
"namespace": "WP\\McpSchema\\Server\\Tools\\DTO\\ToolListChangedNotification",
"purpose": "An optional notification from the server to the client, informing it that the list of tools it offers has changed",
"extends": "JSONRPCNotification",
"implements": [
"ServerNotificationInterface"
],
"properties": {
"method": "\"notifications/tools/list_changed\"",
"params": "NotificationParams?"
},
"usedBy": [
"ServerNotificationInterface"
],
"uses": [
"JSONRPCNotification",
"NotificationParams"
],
"discriminator": {
"field": "method",
"value": "notifications/tools/list_changed"
}
},
"ToolAnnotations": {
"kind": "class",
"domain": "Server",
"subdomain": "Tools",
"namespace": "WP\\McpSchema\\Server\\Tools\\DTO\\ToolAnnotations",
"purpose": "Additional properties describing a Tool to clients",
"implements": [],
"properties": {
"title": "string?",
"readOnlyHint": "boolean?",
"destructiveHint": "boolean?",
"idempotentHint": "boolean?",
"openWorldHint": "boolean?"
},
"usedBy": [
"Tool"
],
"uses": []
},
"ToolExecution": {
"kind": "class",
"domain": "Server",
"subdomain": "Tools",
"namespace": "WP\\McpSchema\\Server\\Tools\\DTO\\ToolExecution",
"purpose": "Execution-related properties for a tool",
"implements": [],
"properties": {
"taskSupport": "\"forbidden\" | \"optional\" | \"required\"?"
},
"usedBy": [
"Tool"
],
"uses": []
},
"Tool": {
"kind": "class",
"domain": "Server",
"subdomain": "Tools",
"namespace": "WP\\McpSchema\\Server\\Tools\\DTO\\Tool",
"purpose": "Definition for a tool the client can call",
"extends": "BaseMetadata",
"implements": [],
"properties": {
"description": "string?",
"inputSchema": "ToolInputSchema",
"execution": "ToolExecution?",
"outputSchema": "ToolOutputSchema | undefined?",
"annotations": "ToolAnnotations?",
"_meta": "{ [key: string]: unknown }?"
},
"usedBy": [
"ListToolsResult",
"CreateMessageRequestParams"
],
"uses": [
"BaseMetadata",
"Icons",
"ToolInputSchema",
"ToolExecution",
"ToolOutputSchema",
"ToolAnnotations"
]
},
"SetLevelRequestParams": {
"kind": "class",
"domain": "Server",
"subdomain": "Logging",
"namespace": "WP\\McpSchema\\Server\\Logging\\DTO\\SetLevelRequestParams",
"purpose": "Parameters for a `logging/setLevel` request",
"extends": "RequestParams",
"implements": [],
"properties": {
"level": "LoggingLevel"
},
"usedBy": [
"SetLevelRequest"
],
"uses": [
"RequestParams",
"LoggingLevel"
]
},
"SetLevelRequest": {
"kind": "class",
"domain": "Server",
"subdomain": "Logging",
"namespace": "WP\\McpSchema\\Server\\Logging\\DTO\\SetLevelRequest",
"purpose": "A request from the client to the server, to enable or adjust logging",
"extends": "JSONRPCRequest",
"implements": [
"ClientRequestInterface"
],
"properties": {
"method": "\"logging/setLevel\"",
"params": "SetLevelRequestParams"
},
"usedBy": [
"ClientRequestInterface"
],
"uses": [
"JSONRPCRequest",
"SetLevelRequestParams"
],
"discriminator": {
"field": "method",
"value": "logging/setLevel"
}
},
"LoggingMessageNotificationParams": {
"kind": "class",
"domain": "Server",
"subdomain": "Logging",
"namespace": "WP\\McpSchema\\Server\\Logging\\DTO\\LoggingMessageNotificationParams",
"purpose": "Parameters for a `notifications/message` notification",
"extends": "NotificationParams",
"implements": [],
"properties": {
"level": "LoggingLevel",
"logger": "string?",
"data": "unknown"
},
"usedBy": [
"LoggingMessageNotification"
],
"uses": [
"NotificationParams",
"LoggingLevel"
]
},
"LoggingMessageNotification": {
"kind": "class",
"domain": "Server",
"subdomain": "Logging",
"namespace": "WP\\McpSchema\\Server\\Logging\\DTO\\LoggingMessageNotification",
"purpose": "JSONRPCNotification of a log message passed from server to client",
"extends": "JSONRPCNotification",
"implements": [
"ServerNotificationInterface"
],
"properties": {
"method": "\"notifications/message\"",
"params": "LoggingMessageNotificationParams"
},
"usedBy": [
"ServerNotificationInterface"
],
"uses": [
"JSONRPCNotification",
"LoggingMessageNotificationParams"
],
"discriminator": {
"field": "method",
"value": "notifications/message"
}
},
"CompleteRequestParams": {
"kind": "class",
"domain": "Server",
"subdomain": "Core",
"namespace": "WP\\McpSchema\\Server\\Core\\DTO\\CompleteRequestParams",
"purpose": "Parameters for a `completion/complete` request",
"extends": "RequestParams",
"implements": [],
"properties": {
"ref": "PromptReference | ResourceTemplateReference",
"argument": "CompleteRequestParamsArgument",
"context": "CompleteRequestParamsContext | undefined?"
},
"usedBy": [
"CompleteRequest"
],
"uses": [
"RequestParams",
"PromptReference",
"ResourceTemplateReference",
"CompleteRequestParamsArgument",
"CompleteRequestParamsContext"
]
},
"CompleteRequest": {
"kind": "class",
"domain": "Server",
"subdomain": "Core",
"namespace": "WP\\McpSchema\\Server\\Core\\DTO\\CompleteRequest",
"purpose": "A request from the client to the server, to ask for completion options",
"extends": "JSONRPCRequest",
"implements": [
"ClientRequestInterface"
],
"properties": {
"method": "\"completion/complete\"",
"params": "CompleteRequestParams"
},
"usedBy": [
"ClientRequestInterface"
],
"uses": [
"JSONRPCRequest",
"CompleteRequestParams"
],
"discriminator": {
"field": "method",
"value": "completion/complete"
}
},
"CompleteResult": {
"kind": "class",
"domain": "Server",
"subdomain": "Core",
"namespace": "WP\\McpSchema\\Server\\Core\\DTO\\CompleteResult",
"purpose": "The server's response to a completion/complete request",
"extends": "Result",
"implements": [
"ServerResultInterface"
],
"properties": {
"completion": "CompleteResultCompletion"
},
"usedBy": [
"ServerResultInterface"
],
"uses": [
"Result",
"CompleteResultCompletion"
]
},
"ResourceTemplateReference": {
"kind": "class",
"domain": "Server",
"subdomain": "Core",
"namespace": "WP\\McpSchema\\Server\\Core\\DTO\\ResourceTemplateReference",
"purpose": "A reference to a resource or resource template definition",
"implements": [],
"properties": {
"type": "\"ref/resource\"",
"uri": "string"
},
"usedBy": [
"CompleteRequestParams"
],
"uses": []
},
"PromptReference": {
"kind": "class",
"domain": "Server",
"subdomain": "Core",
"namespace": "WP\\McpSchema\\Server\\Core\\DTO\\PromptReference",
"purpose": "Identifies a prompt",
"extends": "BaseMetadata",
"implements": [],
"properties": {
"type": "\"ref/prompt\""
},
"usedBy": [
"CompleteRequestParams"
],
"uses": [
"BaseMetadata"
]
},
"ServerCapabilitiesPrompts": {
"kind": "class",
"domain": "Server",
"subdomain": "Lifecycle",
"namespace": "WP\\McpSchema\\Server\\Lifecycle\\DTO\\ServerCapabilitiesPrompts",
"purpose": "Present if the server offers any prompt templates",
"implements": [],
"properties": {
"listChanged": "boolean?"
},
"usedBy": [
"ServerCapabilities"
],
"uses": []
},
"ServerCapabilitiesResources": {
"kind": "class",
"domain": "Server",
"subdomain": "Lifecycle",
"namespace": "WP\\McpSchema\\Server\\Lifecycle\\DTO\\ServerCapabilitiesResources",
"purpose": "Present if the server offers any resources to read",
"implements": [],
"properties": {
"subscribe": "boolean?",
"listChanged": "boolean?"
},
"usedBy": [
"ServerCapabilities"
],
"uses": []
},
"ServerCapabilitiesTools": {
"kind": "class",
"domain": "Server",
"subdomain": "Lifecycle",
"namespace": "WP\\McpSchema\\Server\\Lifecycle\\DTO\\ServerCapabilitiesTools",
"purpose": "Present if the server offers any tools to call",
"implements": [],
"properties": {
"listChanged": "boolean?"
},
"usedBy": [
"ServerCapabilities"
],
"uses": []
},
"ServerCapabilitiesTasks": {
"kind": "class",
"domain": "Server",
"subdomain": "Lifecycle",
"namespace": "WP\\McpSchema\\Server\\Lifecycle\\DTO\\ServerCapabilitiesTasks",
"purpose": "Present if the server supports task-augmented requests",
"implements": [],
"properties": {
"list": "object?",
"cancel": "object?"
},
"usedBy": [
"ServerCapabilities"
],
"uses": []
},
"ToolInputSchema": {
"kind": "class",
"domain": "Server",
"subdomain": "Tools",
"namespace": "WP\\McpSchema\\Server\\Tools\\DTO\\ToolInputSchema",
"purpose": "A JSON Schema object defining the expected parameters for the tool",
"implements": [],
"properties": {
"$schema": "string?",
"type": "\"object\"",
"properties": "{ [key: string]: object }?",
"required": "string[]?"
},
"usedBy": [
"Tool"
],
"uses": []
},
"ToolOutputSchema": {
"kind": "class",
"domain": "Server",
"subdomain": "Tools",
"namespace": "WP\\McpSchema\\Server\\Tools\\DTO\\ToolOutputSchema",
"purpose": "An optional JSON Schema object defining the structure of the tool's output returned in",
"implements": [],
"properties": {
"$schema": "string?",
"type": "\"object\"",
"properties": "{ [key: string]: object }?",
"required": "string[]?"
},
"usedBy": [
"Tool"
],
"uses": []
},
"CompleteRequestParamsArgument": {
"kind": "class",
"domain": "Server",
"subdomain": "Core",
"namespace": "WP\\McpSchema\\Server\\Core\\DTO\\CompleteRequestParamsArgument",
"purpose": "The argument's information",
"implements": [],
"properties": {
"name": "string",
"value": "string"
},
"usedBy": [
"CompleteRequestParams"
],
"uses": []
},
"CompleteRequestParamsContext": {
"kind": "class",
"domain": "Server",
"subdomain": "Core",
"namespace": "WP\\McpSchema\\Server\\Core\\DTO\\CompleteRequestParamsContext",
"purpose": "Additional, optional context for completions",
"implements": [],
"properties": {
"arguments": "{ [key: string]: string }?"
},
"usedBy": [
"CompleteRequestParams"
],
"uses": []
},
"CompleteResultCompletion": {
"kind": "class",
"domain": "Server",
"subdomain": "Core",
"namespace": "WP\\McpSchema\\Server\\Core\\DTO\\CompleteResultCompletion",
"purpose": "Complete Result Completion data structure",
"implements": [],
"properties": {
"values": "string[]",
"total": "number?",
"hasMore": "boolean?"
},
"usedBy": [
"CompleteResult"
],
"uses": []
},
"LoggingLevelInterface": {
"kind": "union",
"domain": "Server",
"subdomain": "Logging",
"namespace": "WP\\McpSchema\\Server\\Logging\\Union\\LoggingLevelInterface",
"purpose": "The severity of a log message.\n\nThese map to syslog message severities, as specified in RFC-5424:\nhttps://datatracker.ietf.org/doc/html/rfc5424#section-6.2.1",
"implements": [],
"properties": {},
"usedBy": [],
"uses": []
},
"ServerNotificationInterface": {
"kind": "union",
"domain": "Server",
"subdomain": "Lifecycle",
"namespace": "WP\\McpSchema\\Server\\Lifecycle\\Union\\ServerNotificationInterface",
"purpose": "Union type: CancelledNotification | ProgressNotification | LoggingMessageNotification | ResourceUpdatedNotification | ResourceListChangedNotification | ToolListChangedNotification | PromptListChangedNotification | ElicitationCompleteNotification | TaskStatusNotification",
"implements": [],
"properties": {},
"usedBy": [],
"uses": [
"CancelledNotification",
"ProgressNotification",
"LoggingMessageNotification",
"ResourceUpdatedNotification",
"ResourceListChangedNotification",
"ToolListChangedNotification",
"PromptListChangedNotification",
"ElicitationCompleteNotification",
"TaskStatusNotification"
]
},
"ServerResultInterface": {
"kind": "union",
"domain": "Server",
"subdomain": "Lifecycle",
"namespace": "WP\\McpSchema\\Server\\Lifecycle\\Union\\ServerResultInterface",
"purpose": "Union type: EmptyResult | InitializeResult | CompleteResult | GetPromptResult | ListPromptsResult | ListResourceTemplatesResult | ListResourcesResult | ReadResourceResult | CallToolResult | ListToolsResult | GetTaskResult | GetTaskPayloadResult | ListTasksResult | CancelTaskResult",
"implements": [],
"properties": {},
"usedBy": [],
"uses": [
"EmptyResult",
"InitializeResult",
"CompleteResult",
"GetPromptResult",
"ListPromptsResult",
"ListResourceTemplatesResult",
"ListResourcesResult",
"ReadResourceResult",
"CallToolResult",
"ListToolsResult",
"GetTaskResult",
"GetTaskPayloadResult",
"ListTasksResult",
"CancelTaskResult"
]
}
},
"factories": {
"ServerNotificationFactory": {
"interface": "ServerNotificationInterface",
"discriminator": "method",
"mappings": {
"notifications/cancelled": "CancelledNotification",
"notifications/progress": "ProgressNotification",
"notifications/message": "LoggingMessageNotification",
"notifications/resources/updated": "ResourceUpdatedNotification",
"notifications/resources/list_changed": "ResourceListChangedNotification",
"notifications/tools/list_changed": "ToolListChangedNotification",
"notifications/prompts/list_changed": "PromptListChangedNotification",
"notifications/elicitation/complete": "ElicitationCompleteNotification",
"notifications/tasks/status": "TaskStatusNotification"
}
}
}
}Client Domain Types
Contents
- Elicitation (22 types)
- Lifecycle (6 types)
- Roots (4 types)
- Sampling (9 types)
- Tasks (5 types)
Elicitation
Types
| Type | Purpose | Key Properties |
|---|---|---|
| BooleanSchema | Boolean Schema data structure | type: "boolean", title?: string, description?: string, +1 more |
| ElicitationCompleteNotification | An optional notification from the server to the client, i... | method: "notificatio..., params: ElicitationC... |
| ElicitationCompleteNotificationParams | Parameters for ElicitationCompleteNotification | elicitationId: string |
| ElicitRequest | A request from the server to elicit additional informatio... | method: "elicitation..., params: ElicitReques... |
| ElicitRequestFormParams | The parameters for a request to elicit non-sensitive info... | mode?: "form", message: string, requestedSchema: ElicitReques... |
| ElicitRequestFormParamsRequestedSchema | A restricted subset of JSON Schema | $schema?: string, type: "object", required?: string[] |
| ElicitRequestParamsInterface | The parameters for a request to elicit additional informa... | - |
| ElicitRequestURLParams | The parameters for a request to elicit information from t... | mode: "url", message: string, elicitationId: string, +1 more |
| ElicitResult | The client's response to an elicitation request | action: "accept" \ |
| EnumSchemaInterface | Union type: SingleSelectEnumSchema \ | MultiSelectEnumSchem... |
| LegacyTitledEnumSchema | Use TitledSingleSelectEnumSchema instead | type: "string", title?: string, description?: string, +3 more |
| MultiSelectEnumSchemaInterface | Union type: UntitledMultiSelectEnumSchema \ | TitledMultiSe... |
| NumberSchema | Number Schema data structure | type: "number" \ |
| PrimitiveSchemaDefinitionInterface | Restricted schema definitions that only allow primitive t... | - |
| SingleSelectEnumSchemaInterface | Union type: UntitledSingleSelectEnumSchema \ | TitledSingle... |
| StringSchema | String Schema data structure | type: "string", title?: string, description?: string, +4 more |
| TitledMultiSelectEnumSchema | Schema for multiple-selection enumeration with display ti... | type: "array", title?: string, description?: string, +4 more |
| TitledMultiSelectEnumSchemaItems | Schema for array items with enum options and display labels | - |
| TitledSingleSelectEnumSchema | Schema for single-selection enumeration with display titl... | type: "string", title?: string, description?: string, +2 more |
| UntitledMultiSelectEnumSchema | Schema for multiple-selection enumeration without display... | type: "array", title?: string, description?: string, +4 more |
| UntitledMultiSelectEnumSchemaItems | Schema for the array items | type: "string", enum: string[] |
| UntitledSingleSelectEnumSchema | Schema for single-selection enumeration without display t... | type: "string", title?: string, description?: string, +2 more |
Relationships
ElicitRequestFormParamsextendsTaskAugmentedRequestParamsElicitRequestFormParamsimplementsElicitRequestParamsInterfaceElicitRequestURLParamsextendsTaskAugmentedRequestParamsElicitRequestURLParamsimplementsElicitRequestParamsInterfaceElicitRequestextendsJSONRPCRequest
Lifecycle
Types
| Type | Purpose | Key Properties |
|---|---|---|
| ClientCapabilities | Capabilities a client may support | experimental?: { [key: stri..., roots?: ClientCapabi..., sampling?: ClientCapabi..., +2 more |
| ClientCapabilitiesElicitation | Present if the client supports elicitation from the server | form?: object, url?: object |
| ClientCapabilitiesRoots | Present if the client supports listing roots | listChanged?: boolean |
| ClientCapabilitiesSampling | Present if the client supports sampling from an LLM | context?: object, tools?: object |
| ClientCapabilitiesTasks | Present if the client supports task-augmented requests | list?: object, cancel?: object |
| ClientResultInterface | Union type: EmptyResult \ | CreateMessageResult \ |
Roots
Types
| Type | Purpose | Key Properties |
|---|---|---|
| ListRootsRequest | Sent from the server to request a list of root URIs from ... | method: "roots/list", params?: RequestParams |
| ListRootsResult | The client's response to a roots/list request from the se... | roots: Root[] |
| Root | Represents a root directory or file that the server can o... | uri: string, name?: string, _meta?: { [key: stri... |
| RootsListChangedNotification | A notification from the client to the server, informing i... | method: "notificatio..., params?: Notification... |
Relationships
ListRootsRequestextendsJSONRPCRequestListRootsRequestimplementsServerRequestInterfaceListRootsResultextendsResultListRootsResultimplementsClientResultInterfaceRootsListChangedNotificationextendsJSONRPCNotification
Sampling
Types
| Type | Purpose | Key Properties |
|---|---|---|
| CreateMessageRequest | A request from the server to sample an LLM via the client | method: "sampling/cr..., params: CreateMessag... |
| CreateMessageRequestParams | Parameters for a sampling/createMessage request | messages: SamplingMess..., modelPreferences?: ModelPrefere..., systemPrompt?: string, +7 more |
| CreateMessageResult | The client's response to a sampling/createMessage request... | model: string, stopReason?: "endTurn" \ |
| ModelHint | Hints to use for model selection | name?: string |
| ModelPreferences | The server's preferences for model selection, requested o... | hints?: ModelHint[], costPriority?: number, speedPriority?: number, +1 more |
| SamplingMessage | Describes a message issued to or received from an LLM API | role: Role, content: SamplingMess..., _meta?: { [key: stri... |
| ToolChoice | Controls tool selection behavior for sampling requests | mode?: "auto" \ |
| ToolResultContent | The result of a tool use, provided by the user back to th... | type: "tool_result", toolUseId: string, content: ContentBlock[], +3 more |
| ToolUseContent | A request from the assistant to call a tool | type: "tool_use", id: string, name: string, +2 more |
Relationships
CreateMessageRequestParamsextendsTaskAugmentedRequestParamsCreateMessageRequestextendsJSONRPCRequestCreateMessageRequestimplementsServerRequestInterfaceCreateMessageResultextendsResultCreateMessageResultimplementsClientResultInterface
Tasks
Types
| Type | Purpose | Key Properties |
|---|---|---|
| CreateTaskResult | A response to a task-augmented request | task: Task |
| RelatedTaskMetadata | Metadata for associating messages with a task | taskId: string |
| Task | Data associated with a task | taskId: string, status: TaskStatus, statusMessage?: string, +4 more |
| TaskMetadata | Metadata for augmenting a request with task execution | ttl?: number |
| TaskStatusInterface | The status of a task | - |
Relationships
CreateTaskResultextendsResult
Common Domain Types
Contents
- Content (3 types)
- Core (1 types)
- JsonRpc (13 types)
- Lifecycle (1 types)
- Protocol (31 types)
- Tasks (10 types)
Content
Types
| Type | Purpose | Key Properties |
|---|---|---|
| AudioContent | Audio provided to or from an LLM | type: "audio", data: string, mimeType: string, +2 more |
| ImageContent | An image provided to or from an LLM | type: "image", data: string, mimeType: string, +2 more |
| TextContent | Text provided to or from an LLM | type: "text", text: string, annotations?: Annotations, +1 more |
Relationships
TextContentimplementsSamplingMessageContentBlockInterfaceTextContentimplementsContentBlockInterfaceImageContentimplementsSamplingMessageContentBlockInterfaceImageContentimplementsContentBlockInterfaceAudioContentimplementsSamplingMessageContentBlockInterface
Core
Types
| Type | Purpose | Key Properties |
|---|---|---|
| Icon | An optionally-sized icon that can be displayed in a user ... | src: string, mimeType?: string, sizes?: string[], +1 more |
JsonRpc
Types
| Type | Purpose | Key Properties |
|---|---|---|
| Error | Error data structure | code: number, message: string, data?: unknown |
| JSONRPCErrorResponse | A response to a request that indicates an error occurred | jsonrpc: typeof JSONR..., id?: RequestId, error: Error |
| JSONRPCMessageInterface | Refers to any valid JSON-RPC object that can be decoded o... | - |
| JSONRPCNotification | A notification which does not expect a response | jsonrpc: typeof JSONR... |
| JSONRPCRequest | A request that expects a response | jsonrpc: typeof JSONR..., id: RequestId |
| JSONRPCResponseInterface | A response to a request, containing either the result or ... | - |
| JSONRPCResultResponse | A successful (non-error) response to a request | jsonrpc: typeof JSONR..., id: RequestId, result: Result |
| Notification | Notification for events | method: string, params?: { [key: stri... |
| NotificationParams | Parameters for Notification | _meta?: { [key: stri... |
| Request | Request for operation | method: string, params?: { [key: stri... |
| RequestIdInterface | A uniquely identifying ID for a request in JSON-RPC | - |
| RequestParams | Common params for any request | _meta?: RequestParam... |
| RequestParamsMeta | See [General fields: _meta](/specification/2025-11-25/b... | progressToken?: ProgressToken |
Relationships
JSONRPCRequestextendsRequestJSONRPCRequestimplementsJSONRPCMessageInterfaceJSONRPCNotificationextendsNotificationJSONRPCNotificationimplementsJSONRPCMessageInterfaceJSONRPCResultResponseimplementsJSONRPCResponseInterface
Lifecycle
Types
| Type | Purpose | Key Properties |
|---|---|---|
| Implementation | Describes the MCP implementation | version: string, description?: string, websiteUrl?: string |
Relationships
ImplementationextendsBaseMetadata
Protocol
Types
| Type | Purpose | Key Properties |
|---|---|---|
| Annotations | Optional annotations for the client | audience?: Role[], priority?: number, lastModified?: string |
| BaseMetadata | Base interface for metadata with name (identifier) and ti... | name: string, title?: string |
| BlobResourceContents | Blob Resource Contents data structure | blob: string |
| CancelledNotification | This notification can be sent by either side to indicate ... | method: "notificatio..., params: CancelledNot... |
| CancelledNotificationParams | Parameters for a notifications/cancelled notification | requestId?: RequestId, reason?: string |
| ClientNotificationInterface | Union type: CancelledNotification \ | ProgressNotification ... |
| ClientRequestInterface | Union type: PingRequest \ | InitializeRequest \ |
| ContentBlockInterface | Union type: TextContent \ | ImageContent \ |
| EmbeddedResource | The contents of a resource, embedded into a prompt or too... | type: "resource", resource: TextResource..., annotations?: Annotations, +1 more |
| EmptyResult | A response that indicates success but carries no data | - |
| GetTaskPayloadRequest | A request to retrieve the result of a completed task | method: "tasks/result", params: GetTaskPaylo... |
| GetTaskPayloadRequestParams | Parameters for GetTaskPayloadRequest | taskId: string |
| GetTaskPayloadResult | The response to a tasks/result request | - |
| Icons | Base interface to add icons property | icons?: Icon[] |
| InitializedNotification | This notification is sent from the client to the server a... | method: "notificatio..., params?: Notification... |
| InitializeRequest | This request is sent from the client to the server when i... | method: "initialize", params: InitializeRe... |
| InitializeRequestParams | Parameters for an initialize request | protocolVersion: string, capabilities: ClientCapabi..., clientInfo: Implementation |
| InitializeResult | After receiving an initialize request from the client, th... | protocolVersion: string, capabilities: ServerCapabi..., serverInfo: Implementation, +1 more |
| PaginatedRequest | Request for Paginated operation | params?: PaginatedReq... |
| PaginatedRequestParams | Common parameters for paginated requests | cursor?: Cursor |
| PaginatedResult | Result from Paginated operation | nextCursor?: Cursor |
| PingRequest | A ping, issued by either the server or the client, to che... | method: "ping", params?: RequestParams |
| ProgressNotification | An out-of-band notification used to inform the receiver o... | method: "notificatio..., params: ProgressNoti... |
| ProgressNotificationParams | Parameters for a notifications/progress notification | progressToken: ProgressToken, progress: number, total?: number, +1 more |
| ProgressTokenInterface | A progress token, used to associate progress notification... | - |
| Result | Result from operation | _meta?: { [key: stri... |
| Role | The sender or recipient of messages and data in a convers... | USER: user, ASSISTANT: assistant |
| SamplingMessageContentBlockInterface | Union type: TextContent \ | ImageContent \ |
| ServerRequestInterface | Union type: PingRequest \ | CreateMessageRequest \ |
| TextResourceContents | Text Resource Contents data structure | text: string |
| URLElicitationRequiredError | An error response that indicates that the server requires... | error: Error & { |
| ... |
Relationships
URLElicitationRequiredErrorextendsOmitCancelledNotificationParamsextendsNotificationParamsCancelledNotificationextendsJSONRPCNotificationCancelledNotificationimplementsClientNotificationInterfaceCancelledNotificationimplementsServerNotificationInterface
Tasks
Types
| Type | Purpose | Key Properties |
|---|---|---|
| CancelTaskRequest | A request to cancel a task | method: "tasks/cancel", params: CancelTaskRe... |
| CancelTaskRequestParams | Parameters for CancelTaskRequest | taskId: string |
| CancelTaskResult | The response to a tasks/cancel request | taskId: string, status: "working" \ |
| GetTaskRequest | A request to retrieve the state of a task | method: "tasks/get", params: GetTaskReque... |
| GetTaskRequestParams | Parameters for GetTaskRequest | taskId: string |
| GetTaskResult | The response to a tasks/get request | taskId: string, status: "working" \ |
| ListTasksRequest | A request to retrieve a list of tasks | method: "tasks/list" |
| ListTasksResult | The response to a tasks/list request | tasks: Task[] |
| TaskAugmentedRequestParams | Common params for any task-augmented request | task?: TaskMetadata |
| TaskStatusNotification | An optional notification from the receiver to the request... | method: "notificatio..., params: TaskStatusNo... |
Relationships
TaskAugmentedRequestParamsextendsRequestParamsGetTaskRequestextendsJSONRPCRequestGetTaskRequestimplementsClientRequestInterfaceGetTaskRequestimplementsServerRequestInterfaceCancelTaskRequestextendsJSONRPCRequest
MCP PHP Schema Overview
Version: 2025-11-25 Namespace: WP\McpSchema
Architecture
The schema follows the Model Context Protocol specification. Types are organized into three domains:
- Common: Base types, JSON-RPC, content blocks
- Server: Resources, tools, prompts, logging
- Client: Sampling, elicitation, roots, tasks
Type Hierarchy
Request (base for all requests)
├── PaginatedRequest
├── [Domain]Request types
Result (base for all results)
├── PaginatedResult
├── [Domain]Result types
Notification (base for notifications)
├── [Domain]Notification typesUnion Interfaces
Union types are represented as interfaces with factory classes:
| Union | Purpose |
|---|---|
ClientRequestInterface | All requests from client to server |
ServerRequestInterface | All requests from server to client |
ClientResultInterface | All results for client requests |
ServerResultInterface | All results for server requests |
ContentBlockInterface | Text, image, audio, resource content |
RPC Methods Reference
Client → Server
| Method | Direction | Request | Result |
|---|---|---|---|
initialize | client→server | InitializeRequest | InitializeResult |
resources/list | client→server | ListResourcesRequest | ListResourcesResult |
resources/templates/list | client→server | ListResourceTemplatesRequest | ListResourceTemplatesResult |
resources/read | client→server | ReadResourceRequest | ReadResourceResult |
resources/subscribe | client→server | SubscribeRequest | Result |
resources/unsubscribe | client→server | UnsubscribeRequest | Result |
prompts/list | client→server | ListPromptsRequest | ListPromptsResult |
prompts/get | client→server | GetPromptRequest | GetPromptResult |
tools/list | client→server | ListToolsRequest | ListToolsResult |
tools/call | client→server | CallToolRequest | CallToolResult |
logging/setLevel | client→server | SetLevelRequest | Result |
completion/complete | client→server | CompleteRequest | CompleteResult |
Server → Client
| Method | Direction | Request | Result |
|---|---|---|---|
sampling/createMessage | server→client | CreateMessageRequest | CreateMessageResult |
roots/list | server→client | ListRootsRequest | ListRootsResult |
elicitation/create | server→client | ElicitRequest | ElicitResult |
Bidirectional
| Method | Direction | Request | Result |
|---|---|---|---|
ping | bidirectional | PingRequest | Result |
tasks/get | bidirectional | GetTaskRequest | Result |
tasks/result | bidirectional | GetTaskPayloadRequest | GetTaskPayloadResult |
tasks/cancel | bidirectional | CancelTaskRequest | Result |
tasks/list | bidirectional | ListTasksRequest | ListTasksResult |