Create artifact
create_artifactSave a validated research artifact in a Project with a clear description and evidence basis.
When to use it
You need to discover, read, validate, create, or attach Prism visual artifacts.
Plan, generate externally, validate, then create or attach.
Artifact metadata, specs, validation results, save guidance, or embeds.
Avoid using it when
You are trying to preview live output through MCP; render externally first.
Advanced input contract
Agent hosts use this JSON Schema to validate the exact input shape.
View full registry notes
Canonical Prism artifact creation tool. Use destination library for durable Project artifacts or destination article_draft for draft-linked artifacts. Select artifactType chart/table/metric_card/markdown/react/html/spreadsheet/presentation, or provide pythonSource by itself as a bounded generator. Native table headers/string cells and chart category/display labels support safe inline Markdown formatting.
View JSON Schema
{
"type": "object",
"properties": {
"destination": {
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"const": "library"
},
"folderId": {
"type": "string",
"format": "uuid"
},
"documentId": {
"type": "string",
"format": "uuid"
}
},
"required": [
"type",
"folderId"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"const": "article_draft"
},
"documentId": {
"type": "string",
"format": "uuid"
}
},
"required": [
"type",
"documentId"
],
"additionalProperties": false
}
]
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"description": {
"type": "string",
"maxLength": 2000,
"description": "Optional plain-language description of what the artifact shows, its source basis, and how it should be used for later search and AI retrieval."
},
"artifactType": {
"type": "string",
"enum": [
"chart",
"table",
"metric_card",
"markdown",
"react",
"html",
"spreadsheet",
"presentation"
]
},
"spec": {
"type": "object",
"description": "Validated Prism artifact spec. For react/html, pass inspected self-contained source. For table, column labels and string cells support **bold**, *italic*, ~~strikethrough~~, `code`, and safe links. For chart, use the same syntax in x-axis category values and labels: { xAxis?, series?: { [yKey]: label } }; keep y-series values numeric."
},
"pythonSource": {
"type": "string",
"description": "Optional bounded Python generator. Use by itself. Prism stores only the generated artifact spec."
},
"creationPlanSummary": {
"type": "string",
"maxLength": 4000
},
"previewInspection": {
"type": "object",
"properties": {
"rendered": {
"type": "boolean"
},
"tool": {
"type": "string",
"maxLength": 120
},
"summary": {
"type": "string",
"maxLength": 2000
},
"issues": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 20
}
},
"additionalProperties": false
}
},
"required": [
"destination",
"title"
],
"additionalProperties": false
}