OpenMetadata MCP Executions API

`MCP Executions` are time-series records of MCP server execution sessions, capturing tool calls, resource accesses, data lineage, compliance checks, and audit trails for AI governance.

OpenAPI Specification

openmetadata-mcp-executions-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: OpenMetadata APIs Agent Executions MCP Executions API
  description: Common types and API definition for OpenMetadata
  contact:
    name: OpenMetadata
    url: https://open-metadata.org
    email: openmetadata-dev@googlegroups.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: '1.13'
servers:
- url: /api
  description: Current Host
- url: http://localhost:8585/api
  description: Endpoint URL
security:
- BearerAuth: []
tags:
- name: MCP Executions
  description: '`MCP Executions` are time-series records of MCP server execution sessions, capturing tool calls, resource accesses, data lineage, compliance checks, and audit trails for AI governance.'
paths:
  /v1/mcpExecutions:
    get:
      tags:
      - MCP Executions
      summary: List MCP executions
      description: Get a list of MCP executions, optionally filtered by serverId, startTs and endTs.
      operationId: listMcpExecutions
      parameters:
      - name: serverId
        in: query
        description: Filter by MCP server ID
        schema:
          type: string
          format: uuid
      - name: startTs
        in: query
        description: Filter executions after the given start timestamp
        schema:
          type: number
      - name: endTs
        in: query
        description: Filter executions before the given end timestamp
        schema:
          type: number
      - name: limit
        in: query
        description: Limit the number of executions returned
        schema:
          type: integer
          format: int32
          default: 10
      responses:
        '200':
          description: List of MCP executions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/McpExecutionList'
    post:
      tags:
      - MCP Executions
      summary: Create an MCP execution
      description: Create a new MCP execution record.
      operationId: createMcpExecution
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/McpExecution'
      responses:
        '200':
          description: MCP Execution
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/McpExecution'
        '400':
          description: Bad request
  /v1/mcpExecutions/{id}:
    get:
      tags:
      - MCP Executions
      summary: Get an MCP execution by Id
      description: Get an MCP execution by `Id`.
      operationId: getMcpExecutionByID
      parameters:
      - name: id
        in: path
        description: Id of the MCP Execution
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: The execution
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/McpExecution'
        '404':
          description: Execution for instance {id} is not found
    delete:
      tags:
      - MCP Executions
      summary: Delete an MCP execution by Id
      description: Delete an MCP execution by `Id`.
      operationId: deleteMcpExecution
      parameters:
      - name: id
        in: path
        description: Id of the MCP Execution
        required: true
        schema:
          type: string
          format: uuid
      - name: hardDelete
        in: query
        description: Hard delete the entity. (Default = `false`)
        schema:
          type: boolean
      responses:
        '200':
          description: OK
        '404':
          description: Execution for instance {id} is not found
  /v1/mcpExecutions/{serverId}/{timestamp}:
    delete:
      tags:
      - MCP Executions
      summary: Delete MCP execution data at a timestamp
      description: Delete MCP execution data for a server at a specific timestamp.
      operationId: deleteMcpExecutionData
      parameters:
      - name: serverId
        in: path
        description: ID of the MCP Server
        required: true
        schema:
          type: string
          format: uuid
      - name: timestamp
        in: path
        description: Timestamp of the execution to delete
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Successfully deleted MCP Execution Data
components:
  schemas:
    Parameters__2:
      type: object
    McpResourceAccessRecord:
      type: object
      properties:
        resourceName:
          type: string
        resourceUri:
          type: string
        accessType:
          type: string
          enum:
          - Read
          - Write
          - Delete
        success:
          type: boolean
        timestamp:
          type: integer
          format: int64
        bytesTransferred:
          type: integer
          format: int32
    McpExecutionList:
      required:
      - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/McpExecution'
        paging:
          $ref: '#/components/schemas/Paging'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/EntityError'
        warningsCount:
          type: integer
          format: int32
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/EntityError'
    EntityError:
      type: object
      properties:
        message:
          type: string
        entity:
          type: object
    Arguments__1:
      type: object
    McpComplianceCheckRecord:
      type: object
      properties:
        checkName:
          type: string
        passed:
          type: boolean
        details:
          type: string
        severity:
          type: string
          enum:
          - Info
          - Warning
          - Error
          - Critical
        timestamp:
          type: integer
          format: int64
    McpDataAccessRecord:
      type: object
      properties:
        dataSource:
          $ref: '#/components/schemas/EntityReference'
        accessType:
          type: string
          enum:
          - Read
          - Write
          - Delete
        recordCount:
          type: integer
          format: int32
        columns:
          type: array
          items:
            type: string
        piiAccessed:
          type: boolean
        sensitivityLevel:
          type: string
          enum:
          - Public
          - Internal
          - Confidential
          - Restricted
        timestamp:
          type: integer
          format: int64
    McpExecution:
      required:
      - server
      - serverId
      - status
      - timestamp
      type: object
      properties:
        id:
          type: string
          format: uuid
        server:
          $ref: '#/components/schemas/EntityReference'
        serverId:
          type: string
          format: uuid
        timestamp:
          type: integer
          format: int64
        endTimestamp:
          type: integer
          format: int64
        durationMs:
          type: number
          format: double
        status:
          type: string
          enum:
          - Running
          - Success
          - Failed
          - Timeout
          - Cancelled
        executedBy:
          type: string
        applicationContext:
          $ref: '#/components/schemas/EntityReference'
        sessionId:
          type: string
        toolCalls:
          type: array
          items:
            $ref: '#/components/schemas/McpToolCallRecord'
        resourceAccesses:
          type: array
          items:
            $ref: '#/components/schemas/McpResourceAccessRecord'
        promptUses:
          type: array
          items:
            $ref: '#/components/schemas/McpPromptUseRecord'
        dataAccessed:
          type: array
          items:
            $ref: '#/components/schemas/McpDataAccessRecord'
        complianceChecks:
          type: array
          items:
            $ref: '#/components/schemas/McpComplianceCheckRecord'
        metrics:
          $ref: '#/components/schemas/McpExecutionMetrics'
        errorMessage:
          type: string
        errorStack:
          type: string
        environment:
          type: string
          enum:
          - Development
          - Testing
          - Staging
          - Production
        serverVersion:
          type: string
        protocolVersion:
          type: string
        metadata:
          $ref: '#/components/schemas/Metadata__1'
        deleted:
          type: boolean
    Paging:
      required:
      - total
      type: object
      properties:
        before:
          type: string
        after:
          type: string
        offset:
          type: integer
          format: int32
        limit:
          type: integer
          format: int32
        total:
          type: integer
          format: int32
    Metadata__1:
      type: object
    EntityReference:
      required:
      - id
      - type
      type: object
      properties:
        id:
          type: string
          format: uuid
        type:
          type: string
        name:
          type: string
        fullyQualifiedName:
          type: string
        description:
          type: string
        displayName:
          type: string
        deleted:
          type: boolean
        inherited:
          type: boolean
        href:
          type: string
          format: uri
    McpToolCallRecord:
      type: object
      properties:
        toolName:
          type: string
        parameters:
          $ref: '#/components/schemas/Parameters__2'
        result:
          type: string
        success:
          type: boolean
        latencyMs:
          type: number
          format: double
        timestamp:
          type: integer
          format: int64
        errorMessage:
          type: string
        dataAccessed:
          type: array
          items:
            $ref: '#/components/schemas/McpDataAccessRecord'
    McpPromptUseRecord:
      type: object
      properties:
        promptName:
          type: string
        arguments:
          $ref: '#/components/schemas/Arguments__1'
        timestamp:
          type: integer
          format: int64
        tokensGenerated:
          type: integer
          format: int32
    McpExecutionMetrics:
      type: object
      properties:
        totalToolCalls:
          type: integer
          format: int32
        successfulToolCalls:
          type: integer
          format: int32
        totalResourceAccesses:
          type: integer
          format: int32
        totalPromptUses:
          type: integer
          format: int32
        piiDataAccessed:
          type: boolean
        highSensitivityDataAccessed:
          type: boolean
        highRiskOperations:
          type: integer
          format: int32
        complianceViolations:
          type: integer
          format: int32
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT