Base Protocol
Messages
Protocol Revision: 2024-11-05
All messages in MCP MUST follow the JSON-RPC 2.0 specification. The protocol defines three types of messages:
Requests
Requests are sent from the client to the server or vice versa.
- Requests MUST include a string or integer ID.
- Unlike base JSON-RPC, the ID MUST NOT be
null
. - The request ID MUST NOT have been previously used by the requestor within the same session.
Responses
Responses are sent in reply to requests.
- Responses MUST include the same ID as the request they correspond to.
- Either a
result
or anerror
MUST be set. A response MUST NOT set both. - Error codes MUST be integers.
Notifications
Notifications are sent from the client to the server or vice versa. They do not expect a response.
- Notifications MUST NOT include an ID.
Was this page helpful?