> ## Documentation Index
> Fetch the complete documentation index at: https://docs.statusstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Send an MCP JSON-RPC message

> The MCP Streamable HTTP transport endpoint. Accepts one JSON-RPC 2.0 message; a request
(with `id`) returns its JSON-RPC response, and a notification (no `id`) returns 202 with no
body. Protocol-level failures inside a well-formed request are reported as a 200 carrying a
JSON-RPC `error`, per the JSON-RPC specification. Rate limits are described on the 429
response.

GET and DELETE answer `405 Method Not Allowed` with `Allow: POST`: this server offers no
server-initiated SSE stream and no session termination.




## OpenAPI

````yaml /openapi/api-docs.yaml post /v1/mcp/messages
openapi: 3.0.3
info:
  title: StatusStack API
  description: >
    API for managing status monitoring, incidents, stacks, and website
    monitoring.


    You can import this specification directly into Postman, Insomnia or any
    other

    OpenAPI-compatible client.


    Only the operations documented here are part of the supported public API.
    Any other

    endpoint is unstable and may change without a version bump.
  version: 1.4.0
  contact:
    name: StatusStack Support
    url: https://statusstack.com/support
servers:
  - url: https://statusstack.com/api
    description: Production server
security: []
paths:
  /v1/mcp/messages:
    post:
      tags:
        - MCP
      summary: Send an MCP JSON-RPC message
      description: >
        The MCP Streamable HTTP transport endpoint. Accepts one JSON-RPC 2.0
        message; a request

        (with `id`) returns its JSON-RPC response, and a notification (no `id`)
        returns 202 with no

        body. Protocol-level failures inside a well-formed request are reported
        as a 200 carrying a

        JSON-RPC `error`, per the JSON-RPC specification. Rate limits are
        described on the 429

        response.


        GET and DELETE answer `405 Method Not Allowed` with `Allow: POST`: this
        server offers no

        server-initiated SSE stream and no session termination.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/McpJsonRpcRequest'
      responses:
        '200':
          description: JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/McpJsonRpcResponse'
        '202':
          description: Notification accepted; no body
        '400':
          description: >-
            Missing or invalid `jsonrpc` version, or missing `method` (JSON-RPC
            `-32600`)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/McpJsonRpcErrorResponse'
        '401':
          $ref: '#/components/responses/McpUnauthenticated'
        '403':
          $ref: '#/components/responses/McpSubscriptionRequired'
        '429':
          $ref: '#/components/responses/McpTooManyRequests'
      security:
        - mcpAuth: []
        - mcpApiKey: []
components:
  schemas:
    McpJsonRpcRequest:
      type: object
      required:
        - jsonrpc
        - method
      properties:
        jsonrpc:
          type: string
          enum:
            - '2.0'
        id:
          description: >-
            Omit to send a notification, which is acknowledged with 202 and no
            body.
          oneOf:
            - type: string
            - type: integer
        method:
          type: string
          description: >
            Requests: `initialize`, `ping`, `tools/list`, `tools/call`,
            `resources/list`,

            `resources/read`, `prompts/list`; any other method with an `id`
            answers JSON-RPC

            `-32601`. Notifications (no `id`), such as
            `notifications/initialized`, are accepted

            whatever their method.
          example: tools/list
        params:
          type: object
          additionalProperties: true
    McpJsonRpcResponse:
      oneOf:
        - $ref: '#/components/schemas/McpJsonRpcSuccessResponse'
        - $ref: '#/components/schemas/McpJsonRpcErrorResponse'
    McpJsonRpcErrorResponse:
      type: object
      required:
        - jsonrpc
        - error
      properties:
        jsonrpc:
          type: string
          enum:
            - '2.0'
        id:
          description: >
            The request's `id`; `null` when the request could not be read far
            enough to recover

            it. Absent on refusals made before the message is read (401, 403,
            429).
          oneOf:
            - type: string
              nullable: true
            - type: integer
        error:
          $ref: '#/components/schemas/McpJsonRpcError'
    McpJsonRpcSuccessResponse:
      type: object
      required:
        - jsonrpc
        - id
        - result
      properties:
        jsonrpc:
          type: string
          enum:
            - '2.0'
        id:
          oneOf:
            - type: string
            - type: integer
        result:
          description: Method-specific result, as defined by the MCP specification.
    McpJsonRpcError:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: integer
          description: >
            JSON-RPC error code: `-32600` invalid request, `-32601` unknown
            method, `-32602`

            invalid params (missing or unknown tool name or resource URI),
            `-32603` internal

            error or access denied, `-32000` rate limited, `-32001`
            unauthorized, `-32002`

            subscription required.
        message:
          type: string
        data:
          type: object
          additionalProperties: true
  responses:
    McpUnauthenticated:
      description: Missing or invalid MCP credentials.
      headers:
        WWW-Authenticate:
          schema:
            type: string
          description: '`Bearer realm="MCP", resource_metadata="..."` (RFC 9728).'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/McpJsonRpcErrorResponse'
    McpSubscriptionRequired:
      description: >
        The connection's organization has no paid plan with API access. JSON-RPC
        error code

        `-32002`, with `data.reason` = `subscription_required` and
        `data.upgrade_url`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/McpJsonRpcErrorResponse'
    McpTooManyRequests:
      description: >
        Rate limit exceeded. Each MCP connection may make 60 requests per minute
        by default across all

        authenticated MCP endpoints combined, answered

        with JSON-RPC error `-32000`. The route additionally caps each caller at
        120 requests per

        minute, answered with a plain `{message}` body.
      content:
        application/json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/McpJsonRpcErrorResponse'
              - type: object
                required:
                  - message
                properties:
                  message:
                    type: string
  securitySchemes:
    mcpAuth:
      type: http
      scheme: bearer
      description: >
        MCP credentials, distinct from v1 API keys. Either an MCP connection key
        (`mcp_sk_...`,

        created from the customer dashboard) or an OAuth 2.1 access token
        carrying the `mcp:use`

        scope. Credentials are never accepted in the query string. A refused
        request answers

        401 with a `WWW-Authenticate` header naming the protected resource
        metadata, so

        OAuth-capable clients can discover the authorization server.
    mcpApiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        An MCP connection key (`mcp_sk_...`) sent in a header instead of
        `Authorization`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.