Upload Phoenix Artifact
The v2 MCP API is in preview and not yet generally available. These pages document its tools and request/response shapes; live data access is limited to enrolled organizations until v2 is released.
Register an externally-produced PDF or HTML file into Phoenix as an artifact by giving a publicly-fetchable https URL to the bytes. Phoenix server-side fetches the URL (SSRF-guarded), stores it in S3, and it then appears in the org's Artifacts tab tagged "Uploaded" — indistinguishable from an agent-generated deliverable. Returns the created upload run id and the artifact descriptor. Only PDF (application/pdf) and HTML (text/html) files up to 25 MB are supported, and the URL must be https and reachable without auth. Use this when you already have a finished deliverable hosted somewhere and want it filed in Phoenix. Do NOT use this to generate a deliverable from scratch — use phoenix_invoke_agent; do NOT use it to read back an existing artifact — use phoenix_get_artifact or phoenix_list_artifacts.
Credits
Free — No credits consumed. See the full credit table for how AI Credits work.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
file_name Required | string | - | Original file name including extension, shown in the Artifacts tab (e.g. "acme-account-brief.pdf"). 1-512 chars. |
content_type Required | string | - | MIME type of the file — only "application/pdf" or "text/html" are accepted. Must match the actual bytes at source_url. |
source_url Required | string | - | Publicly-fetchable https URL to the file bytes (must be https and reachable server-side without auth; file must be ≤25 MB). Phoenix fetches this URL, not the caller. |
Use Cases
- File an externally-produced PDF deliverable into a Phoenix org's Artifacts tab
- Ingest an HTML brief hosted elsewhere so it appears alongside agent-generated briefs
- Attach an Ottobot- or programmatically-produced document to Phoenix from its hosted URL
Example Usage
Upload a hosted PDF deliverable
{
"tool": "phoenix_upload_artifact",
"arguments": {
"file_name": "acme-account-brief.pdf",
"content_type": "application/pdf",
"source_url": "https://example.com/briefs/acme-account-brief.pdf"
}
}
Upload an HTML brief
{
"tool": "phoenix_upload_artifact",
"arguments": {
"file_name": "acme-brief.html",
"content_type": "text/html",
"source_url": "https://example.com/briefs/acme.html"
}
}
Response Format
| Field | Type | Description |
|---|---|---|
runId | string | The upload run ID |
artifactType | string | Resolved artifact type (pdf or html) |
message | string | Status message |
artifacts | array | The uploaded artifact descriptor. |
artifacts[].id | string | |
artifacts[].type | string | |
artifacts[].url | string |
Related Tools
phoenix_list_artifacts, phoenix_get_artifact, phoenix_invoke_agent, phoenix_get_run_status