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

# MCP Transport

> The single transport endpoint for all MCP communication. All tool calls, resource reads, and protocol messages are sent here as JSON-RPC 2.0 requests.

This is a stateless endpoint — each request creates a fresh server instance scoped to the authenticated user.

Every request must send `Content-Type: application/json` and an `Accept` header listing both `application/json` and `text/event-stream`; responses are always JSON. The body is a single JSON-RPC message or an array of them. Notifications (such as `notifications/initialized`) carry no `id` and receive an empty `202` response.




## OpenAPI

````yaml mcp-openapi.yaml POST /mcp
openapi: 3.0.3
info:
  title: Seamless.AI MCP Server
  version: 1.0.0
  description: >
    JSON-RPC 2.0 transport for the Seamless.AI [Model Context Protocol
    (MCP)](https://modelcontextprotocol.io/) server. See [MCP
    Docs](https://docs.seamless.ai/mcp/overview) for setup,
    [Authentication](https://docs.seamless.ai/mcp/authentication), and the [tool
    reference](https://docs.seamless.ai/mcp/tools/search).
servers:
  - url: https://mcp.seamless.ai
    description: Production
security:
  - OAuth2:
      - mcp.all
  - ApiKey: []
paths:
  /mcp:
    post:
      summary: MCP Transport
      description: >
        The single transport endpoint for all MCP communication. All tool calls,
        resource reads, and protocol messages are sent here as JSON-RPC 2.0
        requests.


        This is a stateless endpoint — each request creates a fresh server
        instance scoped to the authenticated user.


        Every request must send `Content-Type: application/json` and an `Accept`
        header listing both `application/json` and `text/event-stream`;
        responses are always JSON. The body is a single JSON-RPC message or an
        array of them. Notifications (such as `notifications/initialized`) carry
        no `id` and receive an empty `202` response.
      operationId: mcp_transport
      parameters:
        - name: Accept
          in: header
          required: true
          schema:
            type: string
            example: application/json, text/event-stream
          description: Must include both `application/json` and `text/event-stream`.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jsonrpc
                - method
              properties:
                jsonrpc:
                  type: string
                  enum:
                    - '2.0'
                  description: JSON-RPC version. Always "2.0".
                method:
                  type: string
                  description: >-
                    MCP method to invoke (e.g. "tools/list", "tools/call",
                    "resources/read").
                  example: tools/call
                params:
                  type: object
                  description: >-
                    Method-specific parameters. For `tools/call`, includes
                    `name` (tool name) and `arguments` (tool input). For
                    `resources/read`, includes `uri`.
                  properties:
                    name:
                      type: string
                      description: Tool name (for tools/call).
                      example: search_contacts
                    arguments:
                      type: object
                      description: Tool input arguments (for tools/call).
                      additionalProperties: true
                    uri:
                      type: string
                      description: Resource URI (for resources/read).
                      example: seamless://credits
                id:
                  oneOf:
                    - type: string
                    - type: integer
                  description: >-
                    Request ID for correlating responses. Omit it for
                    notifications.
            examples:
              listTools:
                summary: List available tools
                value:
                  jsonrpc: '2.0'
                  method: tools/list
                  params: {}
                  id: 1
              callTool:
                summary: Call a tool
                value:
                  jsonrpc: '2.0'
                  method: tools/call
                  params:
                    name: search_contacts
                    arguments:
                      companyName:
                        - Acme Corp
                      limit: 10
                  id: 2
              readResource:
                summary: Read a resource
                value:
                  jsonrpc: '2.0'
                  method: resources/read
                  params:
                    uri: seamless://credits
                  id: 3
      responses:
        '200':
          description: JSON-RPC 2.0 response with the result or error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                    example: '2.0'
                  result:
                    description: >-
                      Method-specific result payload. `tools/call` responses
                      match `McpToolCallResult`.
                    anyOf:
                      - $ref: '#/components/schemas/McpToolCallResult'
                      - type: object
                        additionalProperties: true
                  error:
                    type: object
                    description: >-
                      JSON-RPC protocol error, such as an unknown method. Tool
                      failures are returned in `result` with `isError` set to
                      true.
                    properties:
                      code:
                        type: integer
                      message:
                        type: string
                  id:
                    oneOf:
                      - type: string
                      - type: integer
              examples:
                listToolsResult:
                  summary: tools/list response (read tool with outputSchema)
                  value:
                    jsonrpc: '2.0'
                    result:
                      tools:
                        - name: search_contacts
                          description: >-
                            Search the Seamless.AI database for contacts
                            matching filters like company, title, seniority, and
                            location. (Abbreviated; the generated Search tools
                            page has the full text.)
                          inputSchema:
                            type: object
                            properties:
                              companyName:
                                type: array
                                items:
                                  type: string
                          outputSchema:
                            type: object
                            required:
                              - results
                            properties:
                              results:
                                type: array
                                items:
                                  type: object
                                  additionalProperties: true
                              pagination:
                                type: object
                                additionalProperties: true
                          annotations:
                            readOnlyHint: true
                            destructiveHint: false
                            idempotentHint: true
                            openWorldHint: true
                    id: 1
                toolResult:
                  summary: Successful read tool call (text + structuredContent)
                  value:
                    jsonrpc: '2.0'
                    result:
                      content:
                        - type: text
                          text: >
                            Results (2):


                            searchResultId | firstName | lastName | jobTitle |
                            companyName

                            --- | --- | --- | --- | ---

                            708dbb34-3849-3c06-abd1-238b9a0295b3 | Taylor |
                            Gonsalves | Customer Success Manager | Seamless

                            a1b2c3d4-5678-90ab-cdef-1234567890ab | Alex | Rivera
                            | VP Sales | Acme Corp


                            Pagination: total: 15, nextToken: eyJwYWdlIjoyfQ==,
                            creditsConsumed: 1, creditsRemaining: 999
                      structuredContent:
                        results:
                          - searchResultId: 708dbb34-3849-3c06-abd1-238b9a0295b3
                            firstName: Taylor
                            lastName: Gonsalves
                            fullName: Taylor Gonsalves
                            name: Taylor Gonsalves
                            jobTitle: Customer Success Manager
                            title: Customer Success Manager
                            companyName: Seamless
                            company: Seamless
                          - searchResultId: a1b2c3d4-5678-90ab-cdef-1234567890ab
                            firstName: Alex
                            lastName: Rivera
                            fullName: Alex Rivera
                            name: Alex Rivera
                            jobTitle: VP Sales
                            title: VP Sales
                            companyName: Acme Corp
                            company: Acme Corp
                        pagination:
                          total: 15
                          nextToken: eyJwYWdlIjoyfQ==
                          creditsConsumed: 1
                          creditsRemaining: 999
                    id: 2
                writeToolResult:
                  summary: Successful write tool call (no outputSchema)
                  value:
                    jsonrpc: '2.0'
                    result:
                      content:
                        - type: text
                          text: |-
                            {
                              "id": 12345,
                              "name": "VP Sales at SaaS"
                            }
                      structuredContent:
                        id: 12345
                        name: VP Sales at SaaS
                    id: 2
                toolErrorResult:
                  summary: Failed tool call (invalid arguments)
                  value:
                    jsonrpc: '2.0'
                    result:
                      content:
                        - type: text
                          text: >-
                            MCP error -32602: Input validation error: Invalid
                            arguments for tool search_contacts: Invalid input:
                            expected array, received string at companyName
                      isError: true
                    id: 2
        '202':
          description: >-
            Accepted. Returned with an empty body when the request contained
            only notifications or responses, with no JSON-RPC request to answer.
        '400':
          description: >-
            Malformed JSON or a body that is not a valid JSON-RPC message. The
            body is a JSON-RPC error (`-32700` or `-32600`).
        '401':
          description: >-
            Missing or invalid authentication. Includes a `WWW-Authenticate`
            header pointing at the protected resource metadata.
        '403':
          description: >-
            Authenticated, but not allowed. The token lacks the `mcp.all` scope,
            or MCP access is not enabled for the user or organization.
        '405':
          description: >-
            Method not allowed. GET (SSE streams) and DELETE (session teardown)
            are not supported by this stateless server.
        '406':
          description: >-
            The `Accept` header does not list both `application/json` and
            `text/event-stream`.
        '415':
          description: The `Content-Type` is not `application/json`.
        '422':
          description: >-
            The authenticated account has no public API access
            (`missingApiAccess`).
        '429':
          description: >-
            Rate limit exceeded. `X-RateLimit-Limit`, `X-RateLimit-Remaining`,
            and `X-RateLimit-Reset` describe the window.
components:
  schemas:
    McpToolCallResult:
      type: object
      description: tools/call result payload.
      properties:
        content:
          type: array
          description: Human-readable text output.
          items:
            type: object
            required:
              - type
              - text
            properties:
              type:
                type: string
                enum:
                  - text
              text:
                type: string
        structuredContent:
          description: >-
            Machine-readable output. Matches the tool's outputSchema when it
            publishes one; otherwise mirrors the text content with no guaranteed
            fields.
          type: object
          additionalProperties: true
        isError:
          type: boolean
          description: True when the tool failed; omitted on success.
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://mcp.seamless.ai/mcp/authorize
          tokenUrl: https://mcp.seamless.ai/mcp/token
          scopes:
            mcp.all: Full MCP access
    ApiKey:
      type: apiKey
      name: Token
      in: header
      description: API key passed via the `Token` header.

````

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