All tools
ToolWrite

Upload library file source

upload_library_file_source

Use when the user wants a supported local PDF, document, spreadsheet, image, audio, or video saved as a private Prism Project source.

When to use it

Use when the user wants a supported local PDF, document, spreadsheet, image, audio, or video saved as a private Prism Project source. Pass bytes from the current host or conversation only when the host exposes them to the agent.

Typical workflow

Find candidate library objects before reading full evidence.

What it returns

Metadata lists, ids, snippets, activity, and discovery hints.

Avoid using it when

Do not use for remote URLs or YouTube videos; use the dedicated website or YouTube transcript import tools instead. A chat attachment is not automatically available as file bytes to every MCP host.

Advanced input contract

Agent hosts use this JSON Schema to validate the exact input shape.

View full registry notes

Upload a supported local PDF, document, spreadsheet, image, MP3 audio, or video into a Prism Project folder as a private indexed source. The declared category, filename extension, MIME type, and data-URL MIME must agree. This cannot fetch remote URLs, download YouTube/audio, replace files, publish, or delete. Use when: Use when the user wants a supported local PDF, document, spreadsheet, image, audio, or video saved as a private Prism Project source. Pass bytes from the current host or conversat... Avoid when: Do not use for remote URLs or YouTube videos; use the dedicated website or YouTube transcript import tools instead. A chat attachment is not automatically available as file bytes ...

View JSON Schema
{
  "type": "object",
  "properties": {
    "folderId": {
      "type": "string",
      "format": "uuid"
    },
    "folderPath": {
      "type": "string",
      "maxLength": 512,
      "description": "Folder name or /-delimited path; an alternative to folderId so no prior lookup is needed."
    },
    "createFolderPath": {
      "type": "boolean",
      "description": "Create any missing folders named in folderPath."
    },
    "filename": {
      "type": "string",
      "minLength": 1,
      "maxLength": 180
    },
    "contentCategory": {
      "type": "string",
      "enum": [
        "pdf",
        "document",
        "spreadsheet",
        "image",
        "audio",
        "video"
      ]
    },
    "mimeType": {
      "type": "string",
      "enum": [
        "application/pdf",
        "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
        "application/vnd.openxmlformats-officedocument.presentationml.presentation",
        "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
        "text/plain",
        "text/markdown",
        "text/csv",
        "image/png",
        "image/jpeg",
        "image/gif",
        "image/webp",
        "image/heic",
        "image/heif",
        "audio/mpeg",
        "video/mp4",
        "video/webm",
        "video/quicktime"
      ]
    },
    "fileBase64": {
      "type": "string",
      "description": "Base64 encoded file bytes. Use exactly one of fileBase64 or dataUrl."
    },
    "dataUrl": {
      "type": "string",
      "description": "Base64 file data URL whose MIME matches mimeType. Use exactly one of dataUrl or fileBase64."
    },
    "description": {
      "type": "string",
      "maxLength": 4000,
      "description": "Optional searchable description for retrieval."
    },
    "sourceKind": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        null,
        "document",
        "web_page",
        "article",
        "social_post",
        "note",
        "email",
        "transcript",
        "presentation",
        "dataset",
        "image",
        "audio",
        "video",
        "book_or_paper",
        "other",
        "news_article",
        "video_transcript",
        "research_report",
        "company_press_release",
        "quarterly_filing",
        "annual_filing",
        "sec_filing",
        "earnings_call",
        "investor_presentation"
      ]
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 40
      },
      "maxItems": 12
    },
    "compareKnowledge": {
      "type": "boolean"
    }
  },
  "required": [
    "filename",
    "contentCategory",
    "mimeType"
  ],
  "additionalProperties": false
}

Useful next tools