Working Group
The File Uploads Working Group exists to define how MCP tools and elicitation requests declare file
inputs so that hosts can present native file pickers and pass user-selected file content to servers.
Today, servers that need a file from the user resort to prose instructions asking for base64 strings
or local paths, which produces inconsistent UX and pushes encoding details onto end users. This WG
will specify a minimal, schema-level mechanism for declaring file inputs and the wire format for
delivering them, anchored on SEP-2356.
As a secondary goal, the WG covers how a tool returns a file that is too large for a JSON-RPC message
or that needs authorization to fetch.
- Specification Work: SEPs defining declarative file input descriptors on tool input schemas and
elicitation request schemas, the wire encoding for file content, and host-side handling
requirements.
- File Downloads (secondary): How a tool returns a file that is too large for a JSON-RPC message
or that needs authorization to fetch. Upload work takes priority.
- Reference Implementations: SDK types and helpers for
FileInputDescriptor, data URI encoding,
and a sample host flow demonstrating picker invocation and value substitution.
- Cross-Cutting Concerns: Coordination with the MCP Apps WG where embedded UI surfaces present
their own file pickers, and with the Security WG on host-side validation requirements.
- Documentation: Specification sections covering file input declaration and a migration guide
for servers currently using ad-hoc base64 instructions.
- Server-to-client delivery of small files, which Resources and
BlobResourceContents already cover.
- Changes to the transport layer or session model.
The WG may evaluate approaches such as streaming, chunked transfer, or presigned upload URLs as part
of its design work; whether those land in the initial SEP or a follow-up is a WG decision rather
than a charter constraint.
- MCP Apps WG — embedded app UIs may surface their own file pickers; the descriptor format
should be reusable in that context.
- Security WG — host-side validation requirements for user-supplied file content (the SEP
references OWASP ASVS V5
for general upload hygiene).
- Tool Annotations IG — file input descriptors are a form of input-parameter metadata and should
remain consistent with the broader annotation taxonomy.
Sponsored by Den Delimarsky (@localden) and Nick Cooper
(@nickcoai).
Discord: #file-uploads-wg
- An accepted SEP defining the file input descriptor and wire encoding.
- Reference implementations in at least two Tier-1 SDKs.
- At least one production host rendering a native file picker from the descriptor.
- Conformance test coverage for the new schema keyword.