$schema: http://json-schema.org/draft-07/schema#
definitions:
  ProgressToken:
    $anchor: ProgressToken
    description: A progress token, used to associate progress notifications with the
      original request.
    type:
    - string
  Annotations:
    description: Optional annotations for the client. The client can use annotations
      to inform how objects are used or displayed
    properties:
      audience:
        description: 'Describes who the intended customer of this object or data is.


          It can include multiple entries to indicate content useful for multiple
          audiences (e.g., `["user", "assistant"]`).'
        items:
          $ref: '#/definitions/Role'
        type: array
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasAudience
        x-jsonld-type: http://modelcontextprotocol.io/ontology#Role
        x-jsonld-container: '@list'
      lastModified:
        description: 'The moment the resource was last modified, as an ISO 8601 formatted
          string.


          Should be an ISO 8601 formatted string (e.g., "2025-01-12T15:00:58Z").


          Examples: last activity timestamp in an open file, timestamp when the resource

          was attached, etc.'
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasLastModified
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#dateTime
      priority:
        description: 'Describes how important this data is for operating the server.


          A value of 1 means "most important," and indicates that the data is

          effectively required, while 0 means "least important," and indicates that

          the data is entirely optional.'
        maximum: 1
        minimum: 0
        type: number
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasPriority
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#decimal
    type: object
  AudioContent:
    description: Audio provided to or from an LLM.
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      annotations:
        $ref: '#/definitions/Annotations'
        description: Optional annotations for the client.
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasAnnotations
        x-jsonld-type: '@id'
      data:
        description: The base64-encoded audio data.
        format: byte
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasData
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#base64Binary
      mimeType:
        description: The MIME type of the audio. Different providers may support different
          audio types.
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMimeType
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      type:
        const: audio
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasContentType
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
    required:
    - data
    - mimeType
    - type
    type: object
  BaseMetadata:
    description: Base interface for metadata with name (identifier) and title (display
      name) properties.
    properties:
      name:
        description: Intended for programmatic or logical use, but used as a display
          name in past specs or fallback (if title isn't present).
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasName
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      title:
        description: "Intended for UI and end-user contexts \u2014 optimized to be
          human-readable and easily understood,\neven by those unfamiliar with domain-specific
          terminology.\n\nIf not provided, the name should be used for display (except
          for Tool,\nwhere `annotations.title` should be given precedence over using
          `name`,\nif present)."
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasTitle
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
    required:
    - name
    type: object
  BlobResourceContents:
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      blob:
        description: A base64-encoded string representing the binary data of the item.
        format: byte
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasBlob
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#base64Binary
      mimeType:
        description: The MIME type of this resource, if known.
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMimeType
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      uri:
        description: The URI of this resource.
        format: uri
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasURI
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#anyURI
    required:
    - blob
    - uri
    type: object
  BooleanSchema:
    properties:
      default:
        type: boolean
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasDefault
      description:
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasDescription
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      title:
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasTitle
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      type:
        const: boolean
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasContentType
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
    required:
    - type
    type: object
  CallToolRequest:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Request
    description: Used by the client to invoke a tool provided by the server.
    properties:
      method:
        const: tools/call
        type: string
      params:
        properties:
          arguments:
            additionalProperties: {}
            type: object
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasArguments
            x-jsonld-type: '@json'
          name:
            type: string
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasName
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
        required:
        - name
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    - params
    type: object
  CallToolResult:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Response
    description: The server's response to a tool call.
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      content:
        description: A list of content objects that represent the unstructured result
          of the tool call.
        items:
          $ref: '#/definitions/ContentBlock'
        type: array
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasContent
        x-jsonld-type: '@id'
        x-jsonld-container: '@list'
      isError:
        description: 'Whether the tool call ended in an error.


          If not set, this is assumed to be false (the call was successful).


          Any errors that originate from the tool SHOULD be reported inside the result

          object, with `isError` set to true, _not_ as an MCP protocol-level error

          response. Otherwise, the LLM would not be able to see that an error occurred

          and self-correct.


          However, any errors in _finding_ the tool, an error indicating that the

          server does not support tool calls, or any other exceptional conditions,

          should be reported as an MCP error response.'
        type: boolean
        x-jsonld-id: http://modelcontextprotocol.io/ontology#isError
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#boolean
      structuredContent:
        additionalProperties: {}
        description: An optional JSON object that represents the structured result
          of the tool call.
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasStructuredContent
        x-jsonld-type: '@json'
    required:
    - content
    type: object
  CancelledNotification:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Notification
    description: 'This notification can be sent by either side to indicate that it
      is cancelling a previously-issued request.


      The request SHOULD still be in-flight, but due to communication latency, it
      is always possible that this notification MAY arrive after the request has already
      finished.


      This notification indicates that the result will be unused, so any associated
      processing SHOULD cease.


      A client MUST NOT attempt to cancel its `initialize` request.'
    properties:
      method:
        const: notifications/cancelled
        type: string
      params:
        properties:
          reason:
            description: An optional string describing the reason for the cancellation.
              This MAY be logged or presented to the user.
            type: string
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasReason
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
          requestId:
            $ref: '#/definitions/RequestId'
            description: 'The ID of the request to cancel.


              This MUST correspond to the ID of a request previously issued in the
              same direction.'
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasRequestId
            x-jsonld-type: http://modelcontextprotocol.io/ontology#RequestId
        required:
        - requestId
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    - params
    type: object
  ClientCapabilities:
    description: 'Capabilities a client may support. Known capabilities are defined
      here, in this schema, but this is not a closed set: any client can define its
      own, additional capabilities.'
    properties:
      elicitation:
        additionalProperties: true
        description: Present if the client supports elicitation from the server.
        properties: {}
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasElicitationCapability
        x-jsonld-type: '@json'
      experimental:
        additionalProperties:
          additionalProperties: true
          properties: {}
          type: object
        description: Experimental, non-standard capabilities that the client supports.
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasExperimentalCapabilities
        x-jsonld-type: '@json'
      roots:
        description: Present if the client supports listing roots.
        properties:
          listChanged:
            description: Whether the client supports notifications for changes to
              the roots list.
            type: boolean
            x-jsonld-id: http://modelcontextprotocol.io/ontology#supportsListChanged
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#boolean
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#containsRoot
        x-jsonld-type: http://modelcontextprotocol.io/ontology#Root
        x-jsonld-container: '@list'
      sampling:
        additionalProperties: true
        description: Present if the client supports sampling from an LLM.
        properties: {}
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasSamplingCapability
        x-jsonld-type: '@json'
    type: object
  ClientNotification:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Notification
    anyOf:
    - $ref: '#/definitions/CancelledNotification'
    - $ref: '#/definitions/InitializedNotification'
    - $ref: '#/definitions/ProgressNotification'
    - $ref: '#/definitions/RootsListChangedNotification'
  ClientRequest:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Request
    anyOf:
    - $ref: '#/definitions/InitializeRequest'
    - $ref: '#/definitions/PingRequest'
    - $ref: '#/definitions/ListResourcesRequest'
    - $ref: '#/definitions/ListResourceTemplatesRequest'
    - $ref: '#/definitions/ReadResourceRequest'
    - $ref: '#/definitions/SubscribeRequest'
    - $ref: '#/definitions/UnsubscribeRequest'
    - $ref: '#/definitions/ListPromptsRequest'
    - $ref: '#/definitions/GetPromptRequest'
    - $ref: '#/definitions/ListToolsRequest'
    - $ref: '#/definitions/CallToolRequest'
    - $ref: '#/definitions/SetLevelRequest'
    - $ref: '#/definitions/CompleteRequest'
  ClientResult:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Response
    anyOf:
    - $ref: '#/definitions/Result'
    - $ref: '#/definitions/CreateMessageResult'
    - $ref: '#/definitions/ListRootsResult'
    - $ref: '#/definitions/ElicitResult'
  CompleteRequest:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Request
    description: A request from the client to the server, to ask for completion options.
    properties:
      method:
        const: completion/complete
        type: string
      params:
        properties:
          argument:
            description: The argument's information
            properties:
              name:
                description: The name of the argument
                type: string
                x-jsonld-id: http://modelcontextprotocol.io/ontology#hasName
                x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
              value:
                description: The value of the argument to use for completion matching.
                type: string
            required:
            - name
            - value
            type: object
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasArgument
            x-jsonld-type: '@json'
          context:
            description: Additional, optional context for completions
            properties:
              arguments:
                additionalProperties:
                  type: string
                description: Previously-resolved variables in a URI template or prompt.
                type: object
                x-jsonld-id: http://modelcontextprotocol.io/ontology#hasArguments
                x-jsonld-type: '@json'
            type: object
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasContext
            x-jsonld-type: '@json'
          ref:
            anyOf:
            - $ref: '#/definitions/PromptReference'
            - $ref: '#/definitions/ResourceTemplateReference'
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasReference
            x-jsonld-type: '@id'
        required:
        - argument
        - ref
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    - params
    type: object
  CompleteResult:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Response
    description: The server's response to a completion/complete request
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      completion:
        properties:
          hasMore:
            description: Indicates whether there are additional completion options
              beyond those provided in the current response, even if the exact total
              is unknown.
            type: boolean
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMore
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#boolean
          total:
            description: The total number of completion options available. This can
              exceed the number of values actually sent in the response.
            type: integer
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasTotal
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#integer
          values:
            description: An array of completion values. Must not exceed 100 items.
            items:
              type: string
            type: array
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasValues
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
            x-jsonld-container: '@list'
        required:
        - values
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasCompletion
        x-jsonld-type: '@json'
    required:
    - completion
    type: object
  ContentBlock:
    anyOf:
    - $ref: '#/definitions/TextContent'
    - $ref: '#/definitions/ImageContent'
    - $ref: '#/definitions/AudioContent'
    - $ref: '#/definitions/ResourceLink'
    - $ref: '#/definitions/EmbeddedResource'
  CreateMessageRequest:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Request
    description: A request from the server to sample an LLM via the client. The client
      has full discretion over which model to select. The client should also inform
      the user before beginning sampling, to allow them to inspect the request (human
      in the loop) and decide whether to approve it.
    properties:
      method:
        const: sampling/createMessage
        type: string
      params:
        properties:
          includeContext:
            description: A request to include context from one or more MCP servers
              (including the caller), to be attached to the prompt. The client MAY
              ignore this request.
            enum:
            - allServers
            - none
            - thisServer
            type: string
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasIncludeContext
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
          maxTokens:
            description: The maximum number of tokens to sample, as requested by the
              server. The client MAY choose to sample fewer tokens than requested.
            type: integer
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMaxTokens
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#integer
          messages:
            items:
              $ref: '#/definitions/SamplingMessage'
            type: array
            x-jsonld-id: http://modelcontextprotocol.io/ontology#containsMessage
            x-jsonld-type: '@id'
            x-jsonld-container: '@list'
          metadata:
            additionalProperties: true
            description: Optional metadata to pass through to the LLM provider. The
              format of this metadata is provider-specific.
            properties: {}
            type: object
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
            x-jsonld-type: '@json'
          modelPreferences:
            $ref: '#/definitions/ModelPreferences'
            description: The server's preferences for which model to select. The client
              MAY ignore these preferences.
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasModelPreferences
            x-jsonld-type: http://modelcontextprotocol.io/ontology#ModelPreferences
          stopSequences:
            items:
              type: string
            type: array
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasStopSequences
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
            x-jsonld-container: '@list'
          systemPrompt:
            description: An optional system prompt the server wants to use for sampling.
              The client MAY modify or omit this prompt.
            type: string
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasSystemPrompt
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
          temperature:
            type: number
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasTemperature
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#decimal
        required:
        - maxTokens
        - messages
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    - params
    type: object
  CreateMessageResult:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Response
    description: The client's response to a sampling/create_message request from the
      server. The client should inform the user before returning the sampled message,
      to allow them to inspect the response (human in the loop) and decide whether
      to allow the server to see it.
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      content:
        anyOf:
        - $ref: '#/definitions/TextContent'
        - $ref: '#/definitions/ImageContent'
        - $ref: '#/definitions/AudioContent'
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasContent
        x-jsonld-type: '@id'
        x-jsonld-container: '@list'
      model:
        description: The name of the model that generated the message.
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasModel
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      role:
        $ref: '#/definitions/Role'
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasRole
        x-jsonld-type: http://modelcontextprotocol.io/ontology#Role
      stopReason:
        description: The reason why sampling stopped, if known.
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasStopReason
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
    required:
    - content
    - model
    - role
    type: object
  Cursor:
    description: An opaque token used to represent a cursor for pagination.
    type: string
  ElicitRequest:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Request
    description: A request from the server to elicit additional information from the
      user via the client.
    properties:
      method:
        const: elicitation/create
        type: string
      params:
        properties:
          message:
            description: The message to present to the user.
            type: string
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMessage
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
          requestedSchema:
            description: 'A restricted subset of JSON Schema.

              Only top-level properties are allowed, without nesting.'
            properties:
              properties:
                additionalProperties:
                  $ref: '#/definitions/PrimitiveSchemaDefinition'
                type: object
                x-jsonld-id: http://modelcontextprotocol.io/ontology#hasProperties
                x-jsonld-type: '@json'
              required:
                items:
                  type: string
                type: array
                x-jsonld-id: http://modelcontextprotocol.io/ontology#isRequired
                x-jsonld-type: http://www.w3.org/2001/XMLSchema#boolean
              type:
                const: object
                type: string
                x-jsonld-id: http://modelcontextprotocol.io/ontology#hasContentType
                x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
            required:
            - properties
            - type
            type: object
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasRequestedSchema
            x-jsonld-type: '@json'
        required:
        - message
        - requestedSchema
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    - params
    type: object
  ElicitResult:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Response
    description: The client's response to an elicitation request.
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      action:
        description: 'The user action in response to the elicitation.

          - "accept": User submitted the form/confirmed the action

          - "decline": User explicitly declined the action

          - "cancel": User dismissed without making an explicit choice'
        enum:
        - accept
        - cancel
        - decline
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasAction
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      content:
        additionalProperties:
          type:
          - string
          - integer
          - boolean
        description: 'The submitted form data, only present when action is "accept".

          Contains values matching the requested schema.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasContent
        x-jsonld-type: '@id'
        x-jsonld-container: '@list'
    required:
    - action
    type: object
  EmbeddedResource:
    description: 'The contents of a resource, embedded into a prompt or tool call
      result.


      It is up to the client how best to render embedded resources for the benefit

      of the LLM and/or the user.'
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      annotations:
        $ref: '#/definitions/Annotations'
        description: Optional annotations for the client.
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasAnnotations
        x-jsonld-type: '@id'
      resource:
        anyOf:
        - $ref: '#/definitions/TextResourceContents'
        - $ref: '#/definitions/BlobResourceContents'
        x-jsonld-id: http://modelcontextprotocol.io/ontology#embedsResource
        x-jsonld-type: '@id'
      type:
        const: resource
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasContentType
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
    required:
    - resource
    - type
    type: object
  EmptyResult:
    $ref: '#/definitions/Result'
  EnumSchema:
    properties:
      description:
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasDescription
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      enum:
        items:
          type: string
        type: array
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasEnumValues
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
        x-jsonld-container: '@list'
      enumNames:
        items:
          type: string
        type: array
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasEnumNames
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
        x-jsonld-container: '@list'
      title:
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasTitle
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      type:
        const: string
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasContentType
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
    required:
    - enum
    - type
    type: object
  GetPromptRequest:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Request
    description: Used by the client to get a prompt provided by the server.
    properties:
      method:
        const: prompts/get
        type: string
      params:
        properties:
          arguments:
            additionalProperties:
              type: string
            description: Arguments to use for templating the prompt.
            type: object
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasArguments
            x-jsonld-type: '@json'
          name:
            description: The name of the prompt or prompt template.
            type: string
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasName
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
        required:
        - name
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    - params
    type: object
  GetPromptResult:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Response
    description: The server's response to a prompts/get request from the client.
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      description:
        description: An optional description for the prompt.
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasDescription
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      messages:
        items:
          $ref: '#/definitions/PromptMessage'
        type: array
        x-jsonld-id: http://modelcontextprotocol.io/ontology#containsMessage
        x-jsonld-type: '@id'
        x-jsonld-container: '@list'
    required:
    - messages
    type: object
  ImageContent:
    description: An image provided to or from an LLM.
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      annotations:
        $ref: '#/definitions/Annotations'
        description: Optional annotations for the client.
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasAnnotations
        x-jsonld-type: '@id'
      data:
        description: The base64-encoded image data.
        format: byte
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasData
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#base64Binary
      mimeType:
        description: The MIME type of the image. Different providers may support different
          image types.
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMimeType
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      type:
        const: image
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasContentType
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
    required:
    - data
    - mimeType
    - type
    type: object
  Implementation:
    description: Describes the name and version of an MCP implementation, with an
      optional title for UI representation.
    properties:
      name:
        description: Intended for programmatic or logical use, but used as a display
          name in past specs or fallback (if title isn't present).
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasName
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      title:
        description: "Intended for UI and end-user contexts \u2014 optimized to be
          human-readable and easily understood,\neven by those unfamiliar with domain-specific
          terminology.\n\nIf not provided, the name should be used for display (except
          for Tool,\nwhere `annotations.title` should be given precedence over using
          `name`,\nif present)."
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasTitle
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      version:
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasVersion
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
    required:
    - name
    - version
    type: object
  InitializeRequest:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Request
    description: This request is sent from the client to the server when it first
      connects, asking it to begin initialization.
    properties:
      method:
        const: initialize
        type: string
      params:
        properties:
          capabilities:
            $ref: '#/definitions/ClientCapabilities'
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasCapabilities
            x-jsonld-type: '@id'
          clientInfo:
            $ref: '#/definitions/Implementation'
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasClientInfo
            x-jsonld-type: http://modelcontextprotocol.io/ontology#Implementation
          protocolVersion:
            description: The latest version of the Model Context Protocol that the
              client supports. The client MAY decide to support older versions as
              well.
            type: string
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasProtocolVersion
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
        required:
        - capabilities
        - clientInfo
        - protocolVersion
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    - params
    type: object
  InitializeResult:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Response
    description: After receiving an initialize request from the client, the server
      sends this response.
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      capabilities:
        $ref: '#/definitions/ServerCapabilities'
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasCapabilities
        x-jsonld-type: '@id'
      instructions:
        description: 'Instructions describing how to use the server and its features.


          This can be used by clients to improve the LLM''s understanding of available
          tools, resources, etc. It can be thought of like a "hint" to the model.
          For example, this information MAY be added to the system prompt.'
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasInstructions
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      protocolVersion:
        description: The version of the Model Context Protocol that the server wants
          to use. This may not match the version that the client requested. If the
          client cannot support this version, it MUST disconnect.
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasProtocolVersion
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      serverInfo:
        $ref: '#/definitions/Implementation'
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasServerInfo
        x-jsonld-type: http://modelcontextprotocol.io/ontology#Implementation
    required:
    - capabilities
    - protocolVersion
    - serverInfo
    type: object
  InitializedNotification:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Notification
    description: This notification is sent from the client to the server after initialization
      has finished.
    properties:
      method:
        const: notifications/initialized
        type: string
      params:
        additionalProperties: {}
        properties:
          _meta:
            additionalProperties: {}
            description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
              for notes on `_meta` usage.'
            type: object
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
            x-jsonld-type: '@json'
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    type: object
  JSONRPCMessage:
    anyOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Request
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Response
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Notification
    description: Refers to any valid JSON-RPC object that can be decoded off the wire,
      or encoded to be sent.
  ListPromptsRequest:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Request
    description: Sent from the client to request a list of prompts and prompt templates
      the server has.
    properties:
      method:
        const: prompts/list
        type: string
      params:
        properties:
          cursor:
            description: 'An opaque token representing the current pagination position.

              If provided, the server should return results starting after this cursor.'
            type: string
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasCursor
            x-jsonld-type: http://modelcontextprotocol.io/ontology#Cursor
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    type: object
  ListPromptsResult:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Response
    description: The server's response to a prompts/list request from the client.
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      nextCursor:
        description: 'An opaque token representing the pagination position after the
          last returned result.

          If present, there may be more results available.'
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasNextCursor
        x-jsonld-type: http://modelcontextprotocol.io/ontology#Cursor
      prompts:
        items:
          $ref: '#/definitions/Prompt'
        type: array
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasPromptsCapability
        x-jsonld-type: '@json'
    required:
    - prompts
    type: object
  ListResourceTemplatesRequest:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Request
    description: Sent from the client to request a list of resource templates the
      server has.
    properties:
      method:
        const: resources/templates/list
        type: string
      params:
        properties:
          cursor:
            description: 'An opaque token representing the current pagination position.

              If provided, the server should return results starting after this cursor.'
            type: string
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasCursor
            x-jsonld-type: http://modelcontextprotocol.io/ontology#Cursor
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    type: object
  ListResourceTemplatesResult:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Response
    description: The server's response to a resources/templates/list request from
      the client.
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      nextCursor:
        description: 'An opaque token representing the pagination position after the
          last returned result.

          If present, there may be more results available.'
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasNextCursor
        x-jsonld-type: http://modelcontextprotocol.io/ontology#Cursor
      resourceTemplates:
        items:
          $ref: '#/definitions/ResourceTemplate'
        type: array
        x-jsonld-id: http://modelcontextprotocol.io/ontology#containsResourceTemplate
        x-jsonld-type: '@id'
        x-jsonld-container: '@list'
    required:
    - resourceTemplates
    type: object
  ListResourcesRequest:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Request
    description: Sent from the client to request a list of resources the server has.
    properties:
      method:
        const: resources/list
        type: string
      params:
        properties:
          cursor:
            description: 'An opaque token representing the current pagination position.

              If provided, the server should return results starting after this cursor.'
            type: string
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasCursor
            x-jsonld-type: http://modelcontextprotocol.io/ontology#Cursor
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    type: object
  ListResourcesResult:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Response
    description: The server's response to a resources/list request from the client.
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      nextCursor:
        description: 'An opaque token representing the pagination position after the
          last returned result.

          If present, there may be more results available.'
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasNextCursor
        x-jsonld-type: http://modelcontextprotocol.io/ontology#Cursor
      resources:
        items:
          $ref: '#/definitions/Resource'
        type: array
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasResourcesCapability
        x-jsonld-type: '@json'
    required:
    - resources
    type: object
  ListRootsRequest:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Request
    description: 'Sent from the server to request a list of root URIs from the client.
      Roots allow

      servers to ask for specific directories or files to operate on. A common example

      for roots is providing a set of repositories or directories a server should
      operate

      on.


      This request is typically used when the server needs to understand the file
      system

      structure or access specific locations that the client has permission to read
      from.'
    properties:
      method:
        const: roots/list
        type: string
      params:
        additionalProperties: {}
        properties:
          _meta:
            additionalProperties: {}
            description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
              for notes on `_meta` usage.'
            properties:
              progressToken:
                $ref: '#/definitions/ProgressToken'
                description: If specified, the caller is requesting out-of-band progress
                  notifications for this request (as represented by notifications/progress).
                  The value of this parameter is an opaque token that will be attached
                  to any subsequent notifications. The receiver is not obligated to
                  provide these notifications.
                x-jsonld-id: http://modelcontextprotocol.io/ontology#hasProgressToken
                x-jsonld-type: http://modelcontextprotocol.io/ontology#ProgressToken
            type: object
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
            x-jsonld-type: '@json'
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    type: object
  ListRootsResult:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Response
    description: 'The client''s response to a roots/list request from the server.

      This result contains an array of Root objects, each representing a root directory

      or file that the server can operate on.'
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      roots:
        items:
          $ref: '#/definitions/Root'
        type: array
        x-jsonld-id: http://modelcontextprotocol.io/ontology#containsRoot
        x-jsonld-type: http://modelcontextprotocol.io/ontology#Root
        x-jsonld-container: '@list'
    required:
    - roots
    type: object
  ListToolsRequest:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Request
    description: Sent from the client to request a list of tools the server has.
    properties:
      method:
        const: tools/list
        type: string
      params:
        properties:
          cursor:
            description: 'An opaque token representing the current pagination position.

              If provided, the server should return results starting after this cursor.'
            type: string
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasCursor
            x-jsonld-type: http://modelcontextprotocol.io/ontology#Cursor
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    type: object
  ListToolsResult:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Response
    description: The server's response to a tools/list request from the client.
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      nextCursor:
        description: 'An opaque token representing the pagination position after the
          last returned result.

          If present, there may be more results available.'
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasNextCursor
        x-jsonld-type: http://modelcontextprotocol.io/ontology#Cursor
      tools:
        items:
          $ref: '#/definitions/Tool'
        type: array
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasToolsCapability
        x-jsonld-type: '@json'
    required:
    - tools
    type: object
  LoggingLevel:
    description: 'The severity of a log message.


      These map to syslog message severities, as specified in RFC-5424:

      https://datatracker.ietf.org/doc/html/rfc5424#section-6.2.1'
    enum:
    - alert
    - critical
    - debug
    - emergency
    - error
    - info
    - notice
    - warning
    type: string
  LoggingMessageNotification:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Notification
    description: Notification of a log message passed from server to client. If no
      logging/setLevel request has been sent from the client, the server MAY decide
      which messages to send automatically.
    properties:
      method:
        const: notifications/message
        type: string
      params:
        properties:
          data:
            description: The data to be logged, such as a string message or an object.
              Any JSON serializable type is allowed here.
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasData
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#base64Binary
          level:
            $ref: '#/definitions/LoggingLevel'
            description: The severity of this log message.
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasLevel
            x-jsonld-type: http://modelcontextprotocol.io/ontology#LoggingLevel
          logger:
            description: An optional name of the logger issuing this message.
            type: string
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasLogger
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
        required:
        - data
        - level
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    - params
    type: object
  ModelHint:
    description: 'Hints to use for model selection.


      Keys not declared here are currently left unspecified by the spec and are up

      to the client to interpret.'
    properties:
      name:
        description: "A hint for a model name.\n\nThe client SHOULD treat this as
          a substring of a model name; for example:\n - `claude-3-5-sonnet` should
          match `claude-3-5-sonnet-20241022`\n - `sonnet` should match `claude-3-5-sonnet-20241022`,
          `claude-3-sonnet-20240229`, etc.\n - `claude` should match any Claude model\n\nThe
          client MAY also map the string to a different provider's model name or a
          different model family, as long as it fills a similar niche; for example:\n
          - `gemini-1.5-flash` could match `claude-3-haiku-20240307`"
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasName
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
    type: object
  ModelPreferences:
    description: "The server's preferences for model selection, requested of the client
      during sampling.\n\nBecause LLMs can vary along multiple dimensions, choosing
      the \"best\" model is\nrarely straightforward.  Different models excel in different
      areas\u2014some are\nfaster but less capable, others are more capable but more
      expensive, and so\non. This interface allows servers to express their priorities
      across multiple\ndimensions to help clients make an appropriate selection for
      their use case.\n\nThese preferences are always advisory. The client MAY ignore
      them. It is also\nup to the client to decide how to interpret these preferences
      and how to\nbalance them against other considerations."
    properties:
      costPriority:
        description: 'How much to prioritize cost when selecting a model. A value
          of 0 means cost

          is not important, while a value of 1 means cost is the most important

          factor.'
        maximum: 1
        minimum: 0
        type: number
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasCostPriority
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#decimal
      hints:
        description: 'Optional hints to use for model selection.


          If multiple hints are specified, the client MUST evaluate them in order

          (such that the first match is taken).


          The client SHOULD prioritize these hints over the numeric priorities, but

          MAY still use the priorities to select from ambiguous matches.'
        items:
          $ref: '#/definitions/ModelHint'
        type: array
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasHints
        x-jsonld-type: http://modelcontextprotocol.io/ontology#ModelHint
        x-jsonld-container: '@list'
      intelligencePriority:
        description: 'How much to prioritize intelligence and capabilities when selecting
          a

          model. A value of 0 means intelligence is not important, while a value of
          1

          means intelligence is the most important factor.'
        maximum: 1
        minimum: 0
        type: number
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasIntelligencePriority
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#decimal
      speedPriority:
        description: 'How much to prioritize sampling speed (latency) when selecting
          a model. A

          value of 0 means speed is not important, while a value of 1 means speed
          is

          the most important factor.'
        maximum: 1
        minimum: 0
        type: number
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasSpeedPriority
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#decimal
    type: object
  Notification:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Notification
    properties:
      method:
        type: string
      params:
        additionalProperties: {}
        properties:
          _meta:
            additionalProperties: {}
            description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
              for notes on `_meta` usage.'
            type: object
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
            x-jsonld-type: '@json'
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    type: object
  NumberSchema:
    properties:
      description:
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasDescription
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      maximum:
        type: integer
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMaximum
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#integer
      minimum:
        type: integer
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMinimum
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#integer
      title:
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasTitle
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      type:
        enum:
        - integer
        - number
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasContentType
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
    required:
    - type
    type: object
  PaginatedRequest:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Request
    properties:
      method:
        type: string
      params:
        properties:
          cursor:
            description: 'An opaque token representing the current pagination position.

              If provided, the server should return results starting after this cursor.'
            type: string
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasCursor
            x-jsonld-type: http://modelcontextprotocol.io/ontology#Cursor
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    type: object
  PaginatedResult:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Response
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      nextCursor:
        description: 'An opaque token representing the pagination position after the
          last returned result.

          If present, there may be more results available.'
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasNextCursor
        x-jsonld-type: http://modelcontextprotocol.io/ontology#Cursor
    type: object
  PingRequest:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Request
    description: A ping, issued by either the server or the client, to check that
      the other party is still alive. The receiver must promptly respond, or else
      may be disconnected.
    properties:
      method:
        const: ping
        type: string
      params:
        additionalProperties: {}
        properties:
          _meta:
            additionalProperties: {}
            description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
              for notes on `_meta` usage.'
            properties:
              progressToken:
                $ref: '#/definitions/ProgressToken'
                description: If specified, the caller is requesting out-of-band progress
                  notifications for this request (as represented by notifications/progress).
                  The value of this parameter is an opaque token that will be attached
                  to any subsequent notifications. The receiver is not obligated to
                  provide these notifications.
                x-jsonld-id: http://modelcontextprotocol.io/ontology#hasProgressToken
                x-jsonld-type: http://modelcontextprotocol.io/ontology#ProgressToken
            type: object
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
            x-jsonld-type: '@json'
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    type: object
  PrimitiveSchemaDefinition:
    anyOf:
    - $ref: '#/definitions/StringSchema'
    - $ref: '#/definitions/NumberSchema'
    - $ref: '#/definitions/BooleanSchema'
    - $ref: '#/definitions/EnumSchema'
    description: 'Restricted schema definitions that only allow primitive types

      without nested objects or arrays.'
  ProgressNotification:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Notification
    description: An out-of-band notification used to inform the receiver of a progress
      update for a long-running request.
    properties:
      method:
        const: notifications/progress
        type: string
      params:
        properties:
          message:
            description: An optional message describing the current progress.
            type: string
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMessage
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
          progress:
            description: The progress thus far. This should increase every time progress
              is made, even if the total is unknown.
            type: number
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasProgress
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#decimal
          progressToken:
            $ref: '#/definitions/ProgressToken'
            description: The progress token which was given in the initial request,
              used to associate this notification with the request that is proceeding.
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasProgressToken
            x-jsonld-type: http://modelcontextprotocol.io/ontology#ProgressToken
          total:
            description: Total number of items to process (or total progress required),
              if known.
            type: number
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasTotal
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#integer
        required:
        - progress
        - progressToken
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    - params
    type: object
  Prompt:
    description: A prompt or prompt template that the server offers.
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      arguments:
        description: A list of arguments to use for templating the prompt.
        items:
          $ref: '#/definitions/PromptArgument'
        type: array
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasArguments
        x-jsonld-type: '@json'
      description:
        description: An optional description of what this prompt provides
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasDescription
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      name:
        description: Intended for programmatic or logical use, but used as a display
          name in past specs or fallback (if title isn't present).
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasName
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      title:
        description: "Intended for UI and end-user contexts \u2014 optimized to be
          human-readable and easily understood,\neven by those unfamiliar with domain-specific
          terminology.\n\nIf not provided, the name should be used for display (except
          for Tool,\nwhere `annotations.title` should be given precedence over using
          `name`,\nif present)."
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasTitle
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
    required:
    - name
    type: object
  PromptArgument:
    description: Describes an argument that a prompt can accept.
    properties:
      description:
        description: A human-readable description of the argument.
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasDescription
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      name:
        description: Intended for programmatic or logical use, but used as a display
          name in past specs or fallback (if title isn't present).
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasName
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      required:
        description: Whether this argument must be provided.
        type: boolean
        x-jsonld-id: http://modelcontextprotocol.io/ontology#isRequired
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#boolean
      title:
        description: "Intended for UI and end-user contexts \u2014 optimized to be
          human-readable and easily understood,\neven by those unfamiliar with domain-specific
          terminology.\n\nIf not provided, the name should be used for display (except
          for Tool,\nwhere `annotations.title` should be given precedence over using
          `name`,\nif present)."
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasTitle
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
    required:
    - name
    type: object
  PromptListChangedNotification:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Notification
    description: An optional notification from the server to the client, informing
      it that the list of prompts it offers has changed. This may be issued by servers
      without any previous subscription from the client.
    properties:
      method:
        const: notifications/prompts/list_changed
        type: string
      params:
        additionalProperties: {}
        properties:
          _meta:
            additionalProperties: {}
            description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
              for notes on `_meta` usage.'
            type: object
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
            x-jsonld-type: '@json'
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    type: object
  PromptMessage:
    description: 'Describes a message returned as part of a prompt.


      This is similar to `SamplingMessage`, but also supports the embedding of

      resources from the MCP server.'
    properties:
      content:
        $ref: '#/definitions/ContentBlock'
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasContent
        x-jsonld-type: '@id'
        x-jsonld-container: '@list'
      role:
        $ref: '#/definitions/Role'
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasRole
        x-jsonld-type: http://modelcontextprotocol.io/ontology#Role
    required:
    - content
    - role
    type: object
  PromptReference:
    description: Identifies a prompt.
    properties:
      name:
        description: Intended for programmatic or logical use, but used as a display
          name in past specs or fallback (if title isn't present).
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasName
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      title:
        description: "Intended for UI and end-user contexts \u2014 optimized to be
          human-readable and easily understood,\neven by those unfamiliar with domain-specific
          terminology.\n\nIf not provided, the name should be used for display (except
          for Tool,\nwhere `annotations.title` should be given precedence over using
          `name`,\nif present)."
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasTitle
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      type:
        const: ref/prompt
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasContentType
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
    required:
    - name
    - type
    type: object
  ReadResourceRequest:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Request
    description: Sent from the client to the server, to read a specific resource URI.
    properties:
      method:
        const: resources/read
        type: string
      params:
        properties:
          uri:
            description: The URI of the resource to read. The URI can use any protocol;
              it is up to the server how to interpret it.
            format: uri
            type: string
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasURI
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#anyURI
        required:
        - uri
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    - params
    type: object
  ReadResourceResult:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Response
    description: The server's response to a resources/read request from the client.
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      contents:
        items:
          anyOf:
          - $ref: '#/definitions/TextResourceContents'
          - $ref: '#/definitions/BlobResourceContents'
        type: array
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasContents
        x-jsonld-type: '@id'
        x-jsonld-container: '@list'
    required:
    - contents
    type: object
  Request:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Request
    properties:
      method:
        type: string
      params:
        additionalProperties: {}
        properties:
          _meta:
            additionalProperties: {}
            description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
              for notes on `_meta` usage.'
            properties:
              progressToken:
                $ref: '#/definitions/ProgressToken'
                description: If specified, the caller is requesting out-of-band progress
                  notifications for this request (as represented by notifications/progress).
                  The value of this parameter is an opaque token that will be attached
                  to any subsequent notifications. The receiver is not obligated to
                  provide these notifications.
                x-jsonld-id: http://modelcontextprotocol.io/ontology#hasProgressToken
                x-jsonld-type: http://modelcontextprotocol.io/ontology#ProgressToken
            type: object
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
            x-jsonld-type: '@json'
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    type: object
  RequestId:
    description: A uniquely identifying ID for a request in JSON-RPC.
    type:
    - string
    - integer
  Resource:
    description: A known resource that the server is capable of reading.
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      annotations:
        $ref: '#/definitions/Annotations'
        description: Optional annotations for the client.
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasAnnotations
        x-jsonld-type: '@id'
      description:
        description: 'A description of what this resource represents.


          This can be used by clients to improve the LLM''s understanding of available
          resources. It can be thought of like a "hint" to the model.'
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasDescription
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      mimeType:
        description: The MIME type of this resource, if known.
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMimeType
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      name:
        description: Intended for programmatic or logical use, but used as a display
          name in past specs or fallback (if title isn't present).
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasName
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      size:
        description: 'The size of the raw resource content, in bytes (i.e., before
          base64 encoding or any tokenization), if known.


          This can be used by Hosts to display file sizes and estimate context window
          usage.'
        type: integer
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasSize
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#integer
      title:
        description: "Intended for UI and end-user contexts \u2014 optimized to be
          human-readable and easily understood,\neven by those unfamiliar with domain-specific
          terminology.\n\nIf not provided, the name should be used for display (except
          for Tool,\nwhere `annotations.title` should be given precedence over using
          `name`,\nif present)."
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasTitle
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      uri:
        description: The URI of this resource.
        format: uri
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasURI
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#anyURI
    required:
    - name
    - uri
    type: object
  ResourceContents:
    description: The contents of a specific resource or sub-resource.
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      mimeType:
        description: The MIME type of this resource, if known.
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMimeType
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      uri:
        description: The URI of this resource.
        format: uri
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasURI
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#anyURI
    required:
    - uri
    type: object
  ResourceLink:
    description: 'A resource that the server is capable of reading, included in a
      prompt or tool call result.


      Note: resource links returned by tools are not guaranteed to appear in the results
      of `resources/list` requests.'
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      annotations:
        $ref: '#/definitions/Annotations'
        description: Optional annotations for the client.
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasAnnotations
        x-jsonld-type: '@id'
      description:
        description: 'A description of what this resource represents.


          This can be used by clients to improve the LLM''s understanding of available
          resources. It can be thought of like a "hint" to the model.'
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasDescription
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      mimeType:
        description: The MIME type of this resource, if known.
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMimeType
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      name:
        description: Intended for programmatic or logical use, but used as a display
          name in past specs or fallback (if title isn't present).
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasName
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      size:
        description: 'The size of the raw resource content, in bytes (i.e., before
          base64 encoding or any tokenization), if known.


          This can be used by Hosts to display file sizes and estimate context window
          usage.'
        type: integer
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasSize
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#integer
      title:
        description: "Intended for UI and end-user contexts \u2014 optimized to be
          human-readable and easily understood,\neven by those unfamiliar with domain-specific
          terminology.\n\nIf not provided, the name should be used for display (except
          for Tool,\nwhere `annotations.title` should be given precedence over using
          `name`,\nif present)."
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasTitle
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      type:
        const: resource_link
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasContentType
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      uri:
        description: The URI of this resource.
        format: uri
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasURI
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#anyURI
    required:
    - name
    - type
    - uri
    type: object
  ResourceListChangedNotification:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Notification
    description: An optional notification from the server to the client, informing
      it that the list of resources it can read from has changed. This may be issued
      by servers without any previous subscription from the client.
    properties:
      method:
        const: notifications/resources/list_changed
        type: string
      params:
        additionalProperties: {}
        properties:
          _meta:
            additionalProperties: {}
            description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
              for notes on `_meta` usage.'
            type: object
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
            x-jsonld-type: '@json'
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    type: object
  ResourceTemplate:
    description: A template description for resources available on the server.
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      annotations:
        $ref: '#/definitions/Annotations'
        description: Optional annotations for the client.
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasAnnotations
        x-jsonld-type: '@id'
      description:
        description: 'A description of what this template is for.


          This can be used by clients to improve the LLM''s understanding of available
          resources. It can be thought of like a "hint" to the model.'
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasDescription
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      mimeType:
        description: The MIME type for all resources that match this template. This
          should only be included if all resources matching this template have the
          same type.
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMimeType
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      name:
        description: Intended for programmatic or logical use, but used as a display
          name in past specs or fallback (if title isn't present).
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasName
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      title:
        description: "Intended for UI and end-user contexts \u2014 optimized to be
          human-readable and easily understood,\neven by those unfamiliar with domain-specific
          terminology.\n\nIf not provided, the name should be used for display (except
          for Tool,\nwhere `annotations.title` should be given precedence over using
          `name`,\nif present)."
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasTitle
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      uriTemplate:
        description: A URI template (according to RFC 6570) that can be used to construct
          resource URIs.
        format: uri-template
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasURITemplate
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
    required:
    - name
    - uriTemplate
    type: object
  ResourceTemplateReference:
    description: A reference to a resource or resource template definition.
    properties:
      type:
        const: ref/resource
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasContentType
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      uri:
        description: The URI or URI template of the resource.
        format: uri-template
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasURI
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#anyURI
    required:
    - type
    - uri
    type: object
  ResourceUpdatedNotification:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Notification
    description: A notification from the server to the client, informing it that a
      resource has changed and may need to be read again. This should only be sent
      if the client previously sent a resources/subscribe request.
    properties:
      method:
        const: notifications/resources/updated
        type: string
      params:
        properties:
          uri:
            description: The URI of the resource that has been updated. This might
              be a sub-resource of the one that the client actually subscribed to.
            format: uri
            type: string
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasURI
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#anyURI
        required:
        - uri
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    - params
    type: object
  Result:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Response
    additionalProperties: {}
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
    type: object
  Role:
    description: The sender or recipient of messages and data in a conversation.
    enum:
    - assistant
    - user
    type: string
  Root:
    description: Represents a root directory or file that the server can operate on.
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      name:
        description: 'An optional name for the root. This can be used to provide a
          human-readable

          identifier for the root, which may be useful for display purposes or for

          referencing the root in other parts of the application.'
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasName
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      uri:
        description: 'The URI identifying the root. This *must* start with file://
          for now.

          This restriction may be relaxed in future versions of the protocol to allow

          other URI schemes.'
        format: uri
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasURI
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#anyURI
    required:
    - uri
    type: object
  RootsListChangedNotification:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Notification
    description: 'A notification from the client to the server, informing it that
      the list of roots has changed.

      This notification should be sent whenever the client adds, removes, or modifies
      any root.

      The server should then request an updated list of roots using the ListRootsRequest.'
    properties:
      method:
        const: notifications/roots/list_changed
        type: string
      params:
        additionalProperties: {}
        properties:
          _meta:
            additionalProperties: {}
            description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
              for notes on `_meta` usage.'
            type: object
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
            x-jsonld-type: '@json'
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    type: object
  SamplingMessage:
    description: Describes a message issued to or received from an LLM API.
    properties:
      content:
        anyOf:
        - $ref: '#/definitions/TextContent'
        - $ref: '#/definitions/ImageContent'
        - $ref: '#/definitions/AudioContent'
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasContent
        x-jsonld-type: '@id'
        x-jsonld-container: '@list'
      role:
        $ref: '#/definitions/Role'
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasRole
        x-jsonld-type: http://modelcontextprotocol.io/ontology#Role
    required:
    - content
    - role
    type: object
  ServerCapabilities:
    description: 'Capabilities that a server may support. Known capabilities are defined
      here, in this schema, but this is not a closed set: any server can define its
      own, additional capabilities.'
    properties:
      completions:
        additionalProperties: true
        description: Present if the server supports argument autocompletion suggestions.
        properties: {}
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasCompletionsCapability
        x-jsonld-type: '@json'
      experimental:
        additionalProperties:
          additionalProperties: true
          properties: {}
          type: object
        description: Experimental, non-standard capabilities that the server supports.
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasExperimentalCapabilities
        x-jsonld-type: '@json'
      logging:
        additionalProperties: true
        description: Present if the server supports sending log messages to the client.
        properties: {}
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasLoggingCapability
        x-jsonld-type: '@json'
      prompts:
        description: Present if the server offers any prompt templates.
        properties:
          listChanged:
            description: Whether this server supports notifications for changes to
              the prompt list.
            type: boolean
            x-jsonld-id: http://modelcontextprotocol.io/ontology#supportsListChanged
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#boolean
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasPromptsCapability
        x-jsonld-type: '@json'
      resources:
        description: Present if the server offers any resources to read.
        properties:
          listChanged:
            description: Whether this server supports notifications for changes to
              the resource list.
            type: boolean
            x-jsonld-id: http://modelcontextprotocol.io/ontology#supportsListChanged
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#boolean
          subscribe:
            description: Whether this server supports subscribing to resource updates.
            type: boolean
            x-jsonld-id: http://modelcontextprotocol.io/ontology#supportsSubscription
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#boolean
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasResourcesCapability
        x-jsonld-type: '@json'
      tools:
        description: Present if the server offers any tools to call.
        properties:
          listChanged:
            description: Whether this server supports notifications for changes to
              the tool list.
            type: boolean
            x-jsonld-id: http://modelcontextprotocol.io/ontology#supportsListChanged
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#boolean
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasToolsCapability
        x-jsonld-type: '@json'
    type: object
  ServerNotification:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Notification
    anyOf:
    - $ref: '#/definitions/CancelledNotification'
    - $ref: '#/definitions/ProgressNotification'
    - $ref: '#/definitions/ResourceListChangedNotification'
    - $ref: '#/definitions/ResourceUpdatedNotification'
    - $ref: '#/definitions/PromptListChangedNotification'
    - $ref: '#/definitions/ToolListChangedNotification'
    - $ref: '#/definitions/LoggingMessageNotification'
  ServerRequest:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Request
    anyOf:
    - $ref: '#/definitions/PingRequest'
    - $ref: '#/definitions/CreateMessageRequest'
    - $ref: '#/definitions/ListRootsRequest'
    - $ref: '#/definitions/ElicitRequest'
  ServerResult:
    anyOf:
    - $ref: '#/definitions/Result'
    - $ref: '#/definitions/InitializeResult'
    - $ref: '#/definitions/ListResourcesResult'
    - $ref: '#/definitions/ListResourceTemplatesResult'
    - $ref: '#/definitions/ReadResourceResult'
    - $ref: '#/definitions/ListPromptsResult'
    - $ref: '#/definitions/GetPromptResult'
    - $ref: '#/definitions/ListToolsResult'
    - $ref: '#/definitions/CallToolResult'
    - $ref: '#/definitions/CompleteResult'
  SetLevelRequest:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Request
    description: A request from the client to the server, to enable or adjust logging.
    properties:
      method:
        const: logging/setLevel
        type: string
      params:
        properties:
          level:
            $ref: '#/definitions/LoggingLevel'
            description: The level of logging that the client wants to receive from
              the server. The server should send all logs at this level and higher
              (i.e., more severe) to the client as notifications/message.
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasLevel
            x-jsonld-type: http://modelcontextprotocol.io/ontology#LoggingLevel
        required:
        - level
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    - params
    type: object
  StringSchema:
    properties:
      description:
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasDescription
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      format:
        enum:
        - date
        - date-time
        - email
        - uri
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasFormat
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      maxLength:
        type: integer
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMaxLength
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#integer
      minLength:
        type: integer
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMinLength
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#integer
      title:
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasTitle
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      type:
        const: string
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasContentType
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
    required:
    - type
    type: object
  SubscribeRequest:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Request
    description: Sent from the client to request resources/updated notifications from
      the server whenever a particular resource changes.
    properties:
      method:
        const: resources/subscribe
        type: string
      params:
        properties:
          uri:
            description: The URI of the resource to subscribe to. The URI can use
              any protocol; it is up to the server how to interpret it.
            format: uri
            type: string
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasURI
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#anyURI
        required:
        - uri
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    - params
    type: object
  TextContent:
    description: Text provided to or from an LLM.
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      annotations:
        $ref: '#/definitions/Annotations'
        description: Optional annotations for the client.
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasAnnotations
        x-jsonld-type: '@id'
      text:
        description: The text content of the message.
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasText
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      type:
        const: text
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasContentType
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
    required:
    - text
    - type
    type: object
  TextResourceContents:
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      mimeType:
        description: The MIME type of this resource, if known.
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMimeType
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      text:
        description: The text of the item. This must only be set if the item can actually
          be represented as text (not binary data).
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasText
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      uri:
        description: The URI of this resource.
        format: uri
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasURI
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#anyURI
    required:
    - text
    - uri
    type: object
  Tool:
    description: Definition for a tool the client can call.
    properties:
      _meta:
        additionalProperties: {}
        description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
          for notes on `_meta` usage.'
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
        x-jsonld-type: '@json'
      annotations:
        $ref: '#/definitions/ToolAnnotations'
        description: 'Optional additional tool information.


          Display name precedence order is: title, annotations.title, then name.'
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasAnnotations
        x-jsonld-type: '@id'
      description:
        description: 'A human-readable description of the tool.


          This can be used by clients to improve the LLM''s understanding of available
          tools. It can be thought of like a "hint" to the model.'
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasDescription
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      inputSchema:
        description: A JSON Schema object defining the expected parameters for the
          tool.
        properties:
          properties:
            additionalProperties:
              additionalProperties: true
              properties: {}
              type: object
            type: object
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasProperties
            x-jsonld-type: '@json'
          required:
            items:
              type: string
            type: array
            x-jsonld-id: http://modelcontextprotocol.io/ontology#isRequired
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#boolean
          type:
            const: object
            type: string
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasContentType
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
        required:
        - type
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasInputSchema
        x-jsonld-type: '@json'
      name:
        description: Intended for programmatic or logical use, but used as a display
          name in past specs or fallback (if title isn't present).
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasName
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
      outputSchema:
        description: 'An optional JSON Schema object defining the structure of the
          tool''s output returned in

          the structuredContent field of a CallToolResult.'
        properties:
          properties:
            additionalProperties:
              additionalProperties: true
              properties: {}
              type: object
            type: object
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasProperties
            x-jsonld-type: '@json'
          required:
            items:
              type: string
            type: array
            x-jsonld-id: http://modelcontextprotocol.io/ontology#isRequired
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#boolean
          type:
            const: object
            type: string
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasContentType
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
        required:
        - type
        type: object
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasOutputSchema
        x-jsonld-type: '@json'
      title:
        description: "Intended for UI and end-user contexts \u2014 optimized to be
          human-readable and easily understood,\neven by those unfamiliar with domain-specific
          terminology.\n\nIf not provided, the name should be used for display (except
          for Tool,\nwhere `annotations.title` should be given precedence over using
          `name`,\nif present)."
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasTitle
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
    required:
    - inputSchema
    - name
    type: object
  ToolAnnotations:
    description: 'Additional properties describing a Tool to clients.


      NOTE: all properties in ToolAnnotations are **hints**.

      They are not guaranteed to provide a faithful description of

      tool behavior (including descriptive properties like `title`).


      Clients should never make tool use decisions based on ToolAnnotations

      received from untrusted servers.'
    properties:
      destructiveHint:
        description: 'If true, the tool may perform destructive updates to its environment.

          If false, the tool performs only additive updates.


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


          Default: true'
        type: boolean
        x-jsonld-id: http://modelcontextprotocol.io/ontology#isDestructiveHint
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#boolean
      idempotentHint:
        description: 'If true, calling the tool repeatedly with the same arguments

          will have no additional effect on the its environment.


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


          Default: false'
        type: boolean
        x-jsonld-id: http://modelcontextprotocol.io/ontology#isIdempotentHint
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#boolean
      openWorldHint:
        description: 'If true, this tool may interact with an "open world" of external

          entities. If false, the tool''s domain of interaction is closed.

          For example, the world of a web search tool is open, whereas that

          of a memory tool is not.


          Default: true'
        type: boolean
        x-jsonld-id: http://modelcontextprotocol.io/ontology#isOpenWorldHint
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#boolean
      readOnlyHint:
        description: 'If true, the tool does not modify its environment.


          Default: false'
        type: boolean
        x-jsonld-id: http://modelcontextprotocol.io/ontology#isReadOnlyHint
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#boolean
      title:
        description: A human-readable title for the tool.
        type: string
        x-jsonld-id: http://modelcontextprotocol.io/ontology#hasTitle
        x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
    type: object
  ToolListChangedNotification:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Notification
    description: An optional notification from the server to the client, informing
      it that the list of tools it offers has changed. This may be issued by servers
      without any previous subscription from the client.
    properties:
      method:
        const: notifications/tools/list_changed
        type: string
      params:
        additionalProperties: {}
        properties:
          _meta:
            additionalProperties: {}
            description: 'See [General fields: `_meta`](/specification/2025-06-18/basic/index#meta)
              for notes on `_meta` usage.'
            type: object
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMetadata
            x-jsonld-type: '@json'
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    type: object
  UnsubscribeRequest:
    allOf:
    - $ref: https://ogcincubator.github.io/modelcontextprotocol/build/annotated/json-rpc/schema.yaml#Request
    description: Sent from the client to request cancellation of resources/updated
      notifications from the server. This should follow a previous resources/subscribe
      request.
    properties:
      method:
        const: resources/unsubscribe
        type: string
      params:
        properties:
          uri:
            description: The URI of the resource to unsubscribe from.
            format: uri
            type: string
            x-jsonld-id: http://modelcontextprotocol.io/ontology#hasURI
            x-jsonld-type: http://www.w3.org/2001/XMLSchema#anyURI
        required:
        - uri
        type: object
        x-jsonld-id: jrpc:hasParameters
        x-jsonld-type: urn:mcp:params
    required:
    - method
    - params
    type: object
anyOf:
- $ref: '#/definitions/ClientRequest'
- $ref: '#/definitions/ClientResult'
- $ref: '#/definitions/ServerRequest'
- $ref: '#/definitions/ServerResult'
x-jsonld-extra-terms:
  RequestId: http://modelcontextprotocol.io/ontology#RequestId
  Cursor:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#Cursor
    x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
  ProgressToken: http://modelcontextprotocol.io/ontology#ProgressToken
  Implementation:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#Implementation
    x-jsonld-type: '@id'
  InitializeRequest:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#InitializeRequest
    x-jsonld-type: '@id'
  InitializeResult:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#InitializeResult
    x-jsonld-type: '@id'
  InitializedNotification:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#InitializedNotification
    x-jsonld-type: '@id'
  ClientCapabilities:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ClientCapabilities
    x-jsonld-type: '@id'
  ServerCapabilities:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ServerCapabilities
    x-jsonld-type: '@id'
  rootsX-duplicate-tofix:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#hasRootsCapability
    x-jsonld-type: '@json'
  Resource:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#Resource
    x-jsonld-type: '@id'
  ResourceTemplate:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ResourceTemplate
    x-jsonld-type: '@id'
  ResourceContents:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ResourceContents
    x-jsonld-type: '@id'
  TextResourceContents:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#TextResourceContents
    x-jsonld-type: '@id'
  BlobResourceContents:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#BlobResourceContents
    x-jsonld-type: '@id'
  ResourceLink:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ResourceLink
    x-jsonld-type: '@id'
  EmbeddedResource:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#EmbeddedResource
    x-jsonld-type: '@id'
  ListResourcesRequest:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ListResourcesRequest
    x-jsonld-type: '@id'
  ListResourcesResult:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ListResourcesResult
    x-jsonld-type: '@id'
  ListResourceTemplatesRequest:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ListResourceTemplatesRequest
    x-jsonld-type: '@id'
  ListResourceTemplatesResult:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ListResourceTemplatesResult
    x-jsonld-type: '@id'
  ReadResourceRequest:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ReadResourceRequest
    x-jsonld-type: '@id'
  ReadResourceResult:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ReadResourceResult
    x-jsonld-type: '@id'
  SubscribeRequest:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#SubscribeRequest
    x-jsonld-type: '@id'
  UnsubscribeRequest:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#UnsubscribeRequest
    x-jsonld-type: '@id'
  ResourceUpdatedNotification:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ResourceUpdatedNotification
    x-jsonld-type: '@id'
  ResourceListChangedNotification:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ResourceListChangedNotification
    x-jsonld-type: '@id'
  Tool:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#Tool
    x-jsonld-type: '@id'
  ToolResult:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#CallToolResult
    x-jsonld-type: '@id'
  ToolAnnotations:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ToolAnnotations
    x-jsonld-type: '@id'
  ListToolsRequest:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ListToolsRequest
    x-jsonld-type: '@id'
  ListToolsResult:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ListToolsResult
    x-jsonld-type: '@id'
  CallToolRequest:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#CallToolRequest
    x-jsonld-type: '@id'
  CallToolResult:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#CallToolResult
    x-jsonld-type: '@id'
  ToolListChangedNotification:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ToolListChangedNotification
    x-jsonld-type: '@id'
  Prompt:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#Prompt
    x-jsonld-type: '@id'
  PromptArgument:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#PromptArgument
    x-jsonld-type: '@id'
  PromptMessage:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#PromptMessage
    x-jsonld-type: '@id'
  PromptReference:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#PromptReference
    x-jsonld-type: '@id'
  ListPromptsRequest:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ListPromptsRequest
    x-jsonld-type: '@id'
  ListPromptsResult:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ListPromptsResult
    x-jsonld-type: '@id'
  GetPromptRequest:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#GetPromptRequest
    x-jsonld-type: '@id'
  GetPromptResult:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#GetPromptResult
    x-jsonld-type: '@id'
  PromptListChangedNotification:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#PromptListChangedNotification
    x-jsonld-type: '@id'
  ContentBlock:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ContentBlock
    x-jsonld-type: '@id'
  TextContent:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#TextContent
    x-jsonld-type: '@id'
  ImageContent:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ImageContent
    x-jsonld-type: '@id'
  AudioContent:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#AudioContent
    x-jsonld-type: '@id'
  Role:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#Role
    x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
  SamplingMessage:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#SamplingMessage
    x-jsonld-type: '@id'
  Annotations:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#Annotations
    x-jsonld-type: '@id'
  CreateMessageRequest:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#CreateMessageRequest
    x-jsonld-type: '@id'
  CreateMessageResult:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#CreateMessageResult
    x-jsonld-type: '@id'
  ModelPreferences:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ModelPreferences
    x-jsonld-type: '@id'
  ModelHint:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ModelHint
    x-jsonld-type: '@id'
  Root:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#Root
    x-jsonld-type: '@id'
  ListRootsRequest:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ListRootsRequest
    x-jsonld-type: '@id'
  ListRootsResult:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ListRootsResult
    x-jsonld-type: '@id'
  RootsListChangedNotification:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#RootsListChangedNotification
    x-jsonld-type: '@id'
  ElicitRequest:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ElicitRequest
    x-jsonld-type: '@id'
  ElicitResult:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ElicitResult
    x-jsonld-type: '@id'
  CompleteRequest:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#CompleteRequest
    x-jsonld-type: '@id'
  CompleteResult:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#CompleteResult
    x-jsonld-type: '@id'
  ResourceTemplateReference:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ResourceTemplateReference
    x-jsonld-type: '@id'
  LoggingLevel:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#LoggingLevel
    x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
  SetLevelRequest:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#SetLevelRequest
    x-jsonld-type: '@id'
  LoggingMessageNotification:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#LoggingMessageNotification
    x-jsonld-type: '@id'
  logger:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#hasLogger
    x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
  ProgressNotification:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#ProgressNotification
    x-jsonld-type: '@id'
  CancelledNotification:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#CancelledNotification
    x-jsonld-type: '@id'
  progress:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#hasProgress
    x-jsonld-type: http://www.w3.org/2001/XMLSchema#decimal
  requestId:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#hasRequestId
    x-jsonld-type: http://modelcontextprotocol.io/ontology#RequestId
  reason:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#hasReason
    x-jsonld-type: http://www.w3.org/2001/XMLSchema#string
  PingRequest:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#PingRequest
    x-jsonld-type: '@id'
  Result:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#Result
    x-jsonld-type: '@id'
  EmptyResult:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#EmptyResult
    x-jsonld-type: '@id'
  StringSchema:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#StringSchema
    x-jsonld-type: '@id'
  NumberSchema:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#NumberSchema
    x-jsonld-type: '@id'
  BooleanSchema:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#BooleanSchema
    x-jsonld-type: '@id'
  EnumSchema:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#EnumSchema
    x-jsonld-type: '@id'
  PrimitiveSchemaDefinition:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#PrimitiveSchemaDefinition
    x-jsonld-type: '@id'
  minimum:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMinimum
    x-jsonld-type: http://www.w3.org/2001/XMLSchema#integer
  maximum:
    x-jsonld-id: http://modelcontextprotocol.io/ontology#hasMaximum
    x-jsonld-type: http://www.w3.org/2001/XMLSchema#integer
x-jsonld-prefixes:
  mcp: http://modelcontextprotocol.io/ontology#
  xsd: http://www.w3.org/2001/XMLSchema#
  rdfs: http://www.w3.org/2000/01/rdf-schema#
