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.
`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: 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