Dust MCP API

MCP servers

OpenAPI Specification

dust-tt-mcp-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Dust Agents MCP API
  version: 1.0.2
  description: Manage Dust agent configurations — list, retrieve, update, archive, search, and export agents as YAML.
  contact:
    name: Dust Support
    url: https://docs.dust.tt
  license:
    name: MIT
    url: https://github.com/dust-tt/dust/blob/main/LICENSE
servers:
- url: https://dust.tt
  description: Dust.tt API (us-central1)
- url: https://eu.dust.tt
  description: Dust.tt API (europe-west1)
tags:
- name: MCP
  description: MCP servers
paths:
  /api/v1/w/{wId}/mcp/heartbeat:
    post:
      summary: Update Heartbeat for a Client-Side MCP Server
      description: '[Documentation](https://docs.dust.tt/docs/client-side-mcp-server)

        Update the heartbeat for a previously registered client-side MCP server.

        This extends the TTL for the server registration.

        '
      tags:
      - MCP
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: wId
        required: true
        description: ID of the workspace
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - serverId
              properties:
                serverId:
                  type: string
                  description: The ID of the registered MCP server
      responses:
        '200':
          description: Heartbeat updated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  expiresAt:
                    type: string
                    format: date-time
        '400':
          description: Bad Request. Missing or invalid parameters.
        '401':
          description: Unauthorized. Invalid or missing authentication token.
        '403':
          description: Forbidden. User does not have access to the workspace.
        '404':
          description: Not Found. MCP server not registered or expired.
  /api/v1/w/{wId}/mcp/register:
    post:
      summary: Register a Client-Side MCP Server
      description: '[Documentation](https://docs.dust.tt/docs/client-side-mcp-server)

        Register a client-side MCP server to Dust.

        The registration is scoped to the current user and workspace.

        A serverId identifier is generated and returned in the response.

        '
      tags:
      - MCP
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: wId
        required: true
        description: ID of the workspace
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - serverName
              properties:
                serverName:
                  type: string
                  description: Name of the MCP server
      responses:
        '200':
          description: Server registered successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  serverId:
                    type: string
                  expiresAt:
                    type: string
                    format: date-time
        '400':
          description: Bad Request. Missing or invalid parameters.
        '401':
          description: Unauthorized. Invalid or missing authentication token.
        '403':
          description: Forbidden. User does not have access to the workspace.
  /api/v1/w/{wId}/mcp/requests:
    get:
      summary: Stream MCP Tool Requests for a Workspace
      description: '[Documentation](https://docs.dust.tt/docs/client-side-mcp-server)

        Server-Sent Events (SSE) endpoint that streams MCP tool requests for a workspace.

        This endpoint is used by client-side MCP servers to listen for tool requests in real-time.

        The connection will remain open and events will be sent as new tool requests are made.

        '
      tags:
      - MCP
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: wId
        required: true
        description: ID of the workspace
        schema:
          type: string
      - in: query
        name: serverId
        required: true
        description: ID of the MCP server to filter events for
        schema:
          type: string
      - in: query
        name: lastEventId
        required: false
        description: ID of the last event to filter events for
        schema:
          type: string
      responses:
        '200':
          description: 'Connection established successfully. Events will be streamed in Server-Sent Events format.

            Each event will contain a tool request that needs to be processed by the MCP server.

            '
          content:
            text/event-stream:
              schema:
                type: object
                properties:
                  type:
                    type: string
                    description: Type of the event (e.g. "tool_request")
                  data:
                    type: object
                    description: The tool request data
        '400':
          description: Bad Request. Missing or invalid parameters.
        '401':
          description: Unauthorized. Invalid or missing authentication token.
        '403':
          description: Forbidden. You don't have access to this workspace or MCP server.
        '500':
          description: Internal Server Error.
  /api/v1/w/{wId}/mcp/results:
    post:
      summary: Submit MCP Tool Execution Results
      description: '[Documentation](https://docs.dust.tt/docs/client-side-mcp-server)

        Endpoint for client-side MCP servers to submit the results of tool executions.

        This endpoint accepts the output from tools that were executed locally.

        '
      tags:
      - MCP
      security:
      - BearerAuth: []
      parameters:
      - in: path
        name: wId
        required: true
        description: ID of the workspace
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - result
              - serverId
              properties:
                result:
                  type: object
                  description: The result data from the tool execution
                serverId:
                  type: string
                  description: ID of the MCP server submitting the results
      responses:
        '200':
          description: Tool execution results successfully submitted
        '400':
          description: Bad Request. Missing or invalid parameters.
        '401':
          description: Unauthorized. Invalid or missing authentication token.
        '403':
          description: Forbidden. You don't have access to this workspace or MCP server.
        '404':
          description: Conversation or message not found.
        '500':
          description: Internal Server Error.
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Your DUST API key is a Bearer token.