Skip to main content
Glama
notion-full-mcp
by cphoskins

upload_file_as_block

Upload PDFs, spreadsheets, archives, or other attachments to Notion and insert them as file blocks, set a caption or display name, and place them after a chosen block or on a page.

Instructions

Upload a file (PDF, doc, any attachment) to Notion and insert as a file block.

Analogous to upload_image_as_block but for non-image files. Use this for PDFs, spreadsheets, archives, etc.

Args: file_path: Local path to the file. after_block_id: If provided, insert after this block (siblings). parent_id: If after_block_id is empty, append to this page/block. caption: Optional caption. name: Optional display name override (defaults to the filename).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "file_path": "<file_path>"
    },
    "name": "upload_file_as_block"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNo
captionNo
file_pathYes
parent_idNo
after_block_idNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.1

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=true, so the safety profile is partly covered. The description adds genuine behavioral context beyond that: the tool uploads an external file into Notion and the block placement follows a precedence rule (after_block_id wins, otherwise append to parent_id). It does not mention upload size limits or permission requirements, and the return value is covered by the output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose and the image/non-image routing are front-loaded in the first two lines, followed by a compact Args list. Every line earns its place, though the Args block partially restates parameter names already visible in the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a five-parameter mutation tool with an output schema, the definition covers purpose, placement semantics and each parameter, which is what an agent needs to call it correctly. Remaining gaps (auth requirements, file size limits, overwrite behavior) are secondary given the annotations and output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry parameter meaning and largely does: it explains each of the five parameters, including the sibling-vs-append distinction between after_block_id and parent_id and the fact that name defaults to the filename. The only shortfall is that file_path gets no format or constraint detail beyond 'Local path'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Upload a file ... and insert as a file block') and immediately bounds scope ('non-image files'). It also names the closest sibling, upload_image_as_block, so an agent can separate the two without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear positive usage guidance ('Use this for PDFs, spreadsheets, archives, etc.') and implicitly routes images to the named sibling. It does not address the other similarly-named sibling, upload_file, so the routing is not fully exhaustive, but the when-to-use context is explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.