Skip to main content
Glama

notion_import_file_from_url

Import files into Notion directly from a public HTTPS URL, with bytes going Notion-side. Specify the file URL, parent page, and filename to trigger an asynchronous upload.

Instructions

Import a file into Notion directly from a public HTTPS URL — the bytes go Notion-side, never through this server or MCP parameters.

url must be publicly accessible over HTTPS. filename must carry an extension Notion accepts (it determines the block type). The import is asynchronous: this tool polls until the upload reaches a terminal status or wait_seconds elapses. parent_page_id and position behave as in notion_upload_file.

Size limits are plan-dependent (5 MiB free / 5 GiB paid). No sha256 is reported — the bytes never pass through this server; verify via notion_download_file if integrity matters.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
captionNo
filenameYes
positionNoend
wait_secondsNo
parent_page_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

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

No annotations exist, so the description carries full responsibility. It discloses async polling behavior, plan-dependent size limits, the absence of sha256 reporting, and the server-side transfer path without sending bytes through this server. This is exemplary transparency for a tool with no annotations.

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

Conciseness5/5

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

The description is compact—four sentences—with the core purpose front-loaded. Every sentence adds essential context: constraints, async behavior, size limits, and integrity caveat. It is dense but not bloated, and each statement earns its place.

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

Completeness5/5

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

Given the tool's complexity (async import, size limits, integrity concerns) and the presence of an output schema, the description covers all necessary operational aspects. It explains the critical behaviors without needing to describe return values, which are already handled by the 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?

With 0% schema description coverage, the description compensates well by explaining url requirements, filename semantics (determines block type), wait_seconds as polling timeout, and referencing notion_upload_file for parent_page_id and position. However, the caption parameter is not mentioned, leaving a gap for a minor field.

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?

The description opens with a specific action: 'Import a file into Notion directly from a public HTTPS URL' and clearly distinguishes this tool from notion_upload_file by noting the bytes go Notion-side, never through the server. It also references notion_upload_file for parameter behavior, making the scope and differentiation explicit.

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?

It provides clear usage context: url must be publicly accessible, filename must have an acceptable extension, and the import is asynchronous with wait_seconds timeout. It recommends notion_download_file for integrity checks, offering an alternative for a related need, but does not explicitly state when to prefer this over notion_upload_file for local files.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/snickery/notion-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server