Read external file content

veryfront__read_external_file_content

Requires project.integrations.read.

Access

No external-service connection is required. Use a Veryfront credential with access to the requested resources.

Call type: Read-only.

Arguments

FieldTypeRequiredDescription and constraints
project_referencestringNoProject ID or slug. Requires project.integrations.read through the caller's own personal provider connection.
providerstringYesStorage provider accessed through the caller's own personal connection. A shared project connection is not used. Values: "onedrive", "sharepoint", "drive".
file_idstringYesFile ID from list_external_files Minimum length: 1. Maximum length: 1024.

Example request

Send this JSON-RPC request through an initialized MCP client. Replace sample identifiers and values before calling the tool. See MCP client setup.

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "veryfront__read_external_file_content",
    "arguments": {
      "provider": "onedrive",
      "file_id": "example"
    }
  }
}

Result

The published output shape is summarized below. Inspect both the MCP response content and isError when handling a call.

FieldTypeRequiredDescription and constraints
fileobjectYesStructured file details associated with this tool result.
contentstringYesComplete UTF-8 text or base64 content. More than 100000 encoded characters or 50 MiB returns limit_exceeded instead of partial content; use importExternalFile for larger files. Folders return invalid_input.
content_encodingstringYesValues: "utf8", "base64".

Full schemas

json
{
  "type": "object",
  "properties": {
    "project_reference": {
      "type": "string",
      "description": "Project ID or slug. Requires project.integrations.read through the caller's own personal provider connection."
    },
    "provider": {
      "type": "string",
      "enum": [
        "onedrive",
        "sharepoint",
        "drive"
      ],
      "description": "Storage provider accessed through the caller's own personal connection. A shared project connection is not used."
    },
    "file_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1024,
      "description": "File ID from list_external_files"
    }
  },
  "required": [
    "provider",
    "file_id"
  ],
  "additionalProperties": false,
  "description": "Arguments for the read_external_file_content tool.",
  "$schema": "http://json-schema.org/draft-07/schema#"
}
json
{
  "type": "object",
  "properties": {
    "file": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1,
          "maxLength": 1024,
          "description": "Unique identifier for the returned record."
        },
        "provider": {
          "type": "string",
          "enum": [
            "onedrive",
            "sharepoint",
            "drive"
          ]
        },
        "name": {
          "type": "string",
          "description": "Human-readable name for the returned record."
        },
        "kind": {
          "type": "string",
          "enum": [
            "file",
            "folder"
          ]
        },
        "parent_id": {
          "anyOf": [
            {
              "$ref": "#/properties/file/properties/id"
            },
            {
              "type": "null",
              "description": "The parent id returned by the tool."
            }
          ]
        },
        "path": {
          "type": "string"
        },
        "mime_type": {
          "type": "string",
          "minLength": 1
        },
        "size_bytes": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "modified_at": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null",
              "description": "The modified at returned by the tool."
            }
          ]
        },
        "etag": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 1024,
              "pattern": "^(?:\\*|(?:W\\/)?\"[\\x21\\x23-\\x7e]*\"(?:[ \\t]*,[ \\t]*(?:W\\/)?\"[\\x21\\x23-\\x7e]*\")*|[!#$%&'*+.^_`|~0-9A-Za-z-]+)$"
            },
            {
              "type": "null",
              "description": "The etag returned by the tool."
            }
          ]
        },
        "thumbnail_url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null",
              "description": "The thumbnail url returned by the tool."
            }
          ]
        },
        "web_url": {
          "anyOf": [
            {
              "$ref": "#/properties/file/properties/thumbnail_url/anyOf/0",
              "description": "The web url returned by the tool."
            },
            {
              "type": "null",
              "description": "The web url returned by the tool."
            }
          ]
        }
      },
      "required": [
        "id",
        "provider",
        "name",
        "kind",
        "parent_id",
        "path",
        "mime_type",
        "size_bytes",
        "modified_at",
        "etag",
        "thumbnail_url",
        "web_url"
      ],
      "additionalProperties": false,
      "description": "Structured file details associated with this tool result."
    },
    "content": {
      "type": "string",
      "description": "Complete UTF-8 text or base64 content. More than 100000 encoded characters or 50 MiB returns limit_exceeded instead of partial content; use importExternalFile for larger files. Folders return invalid_input."
    },
    "content_encoding": {
      "type": "string",
      "enum": [
        "utf8",
        "base64"
      ]
    }
  },
  "required": [
    "file",
    "content",
    "content_encoding"
  ],
  "additionalProperties": false,
  "description": "Structured result returned by the read_external_file_content tool.",
  "$schema": "http://json-schema.org/draft-07/schema#"
}