Skip to main content
Glama
googlarz
by googlarz

photos_upload

Upload local photo and video files to your Proton Photos library (My Photos timeline). Duplicates are skipped or kept as copies; folders are flattened.

Instructions

Upload one or more local photo or video files directly into your Proton Photos library (My Photos timeline). Requires authentication. Non-photo/video files are silently skipped. Folders are recursed but flattened into My Photos — folder structure is not preserved. Never overwrites — duplicates (matched by name + content hash) resolve to 'keep-both' or 'skip' only. Do not use for regular Drive files — use drive_upload instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
localPathsYesOne or more absolute local paths to files or folders to upload (each must start with '/').
conflictStrategyNoHow to handle duplicate photos (matched by name + content hash). Defaults to 'skip'.
Behavior5/5

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

The only annotation is openWorldHint=true, so the description carries full behavioral disclosure. It reveals several non-obvious behaviors: silent skipping of non-media files, folder recursion with flattening, no overwriting, and duplicate resolution via name + content hash. This is far beyond what annotations provide.

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?

Four tight sentences, front-loaded with the main action, followed by constraints and alternative. Every sentence adds distinct value with no redundancy or filler.

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?

For an upload tool with mutational side effects, the description covers purpose, edge cases (silently skipped, flattening, duplicates), prerequisites (auth), and alternatives. The lack of an output schema is not a gap here. It is complete enough for an agent to select and invoke correctly.

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 100%, providing baseline 3. The description adds meaningful semantics beyond the schema: clarifies that localPaths can be folders and are recursed but flattened, and explains the duplicate matching algorithm for conflictStrategy. This extra context justifies a 4.

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 verb+resource: 'Upload one or more local photo or video files directly into your Proton Photos library (My Photos timeline).' It clearly distinguishes from sibling tools by explicitly stating 'Do not use for regular Drive files — use drive_upload instead.'

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

Usage Guidelines5/5

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

Provides explicit guidance on when to use and when not to: 'Non-photo/video files are silently skipped' and 'Do not use for regular Drive files — use drive_upload instead.' Also mentions authentication prerequisite, giving clear context for invocation.

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/googlarz/proton-drive-mcp'

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