Skip to main content
Glama
DMontgomery40

DeepSeek MCP Server

upload_file

Send base64-encoded JPEG, PNG, GIF, or WebP image data to DeepSeek and receive a reusable file_id. Server-local paths are not accepted; optional expiry is 3,600 to 2,592,000 seconds.

Instructions

Upload a JPEG, PNG, GIF, or WebP image to DeepSeek and return a reusable file_id. Supply base64 image data directly; server-local file paths are intentionally not accepted. Optional expiry is 3,600 to 2,592,000 seconds.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filenameYes
file_dataYes
expires_after_secondsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNo
bytesNo
objectNo
statusNo
messageNo
purposeNo
filenameNo
retryableNo
created_atNo
error_typeNo
expires_atNo
suggestionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.0.1

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare write/non-idempotent/open-world semantics, so the bar is lower; the description still adds real value by disclosing the accepted formats, the base64-only input restriction, the reusable file_id return, and the expiry window bounds (3,600–2,592,000s). It omits size limits, auth requirements, and what happens to the file when expiry elapses.

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?

Three short sentences, front-loaded with purpose and return value, then the input constraint, then the expiry detail. No filler, no repetition of the tool name, and each sentence carries distinct information.

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?

An output schema exists, so return-value documentation is not strictly required (the file_id mention is a bonus). For a 3-parameter upload tool the description covers formats, input mode, and expiry adequately, though it leaves file-size limits and any permission/auth prerequisites unaddressed.

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 compensate, and it largely does: it explains file_data must be base64 image data of a listed type, and that expires_after_seconds is optional with a 3,600–2,592,000 second range. The filename parameter's role and its 512-character cap are left unstated.

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 precise verb+resource ('Upload a JPEG, PNG, GIF, or WebP image to DeepSeek') and names the concrete artifact returned ('a reusable `file_id`'). This is unmistakably distinct from the sibling read/delete operations (list_files, retrieve_file, delete_file) without needing to name them.

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

Usage Guidelines3/5

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

Gives one hard input constraint ('Supply base64 image data directly; server-local file paths are intentionally not accepted') which steers how to call it, but never states when to prefer this tool over siblings or what precondition must hold (e.g. a file_id is needed by a later chat call). Usage context is implied rather than explicit.

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