Skip to main content
Glama

upload_media

Streams an explicitly selected new media file directly to the native Jellyfin plugin for import, avoiding SSH and separate ports while respecting host-authorized upload roots.

Instructions

Stream an explicitly selected new media file directly to the native Jellyfin plugin. No SSH, separate port, delete or overwrite. Requires host-authorized upload roots.

Input Schema

NameRequiredDescriptionDefault
pathYes
jobIdNo
fileNameNo
targetIdYes
profileIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.3

TDQS

B3.3/5.0
Behavior4/5

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

Goes beyond the annotations by disclosing the transport model (streamed directly to the plugin), what is NOT done (no SSH, no separate port, no delete, no overwrite), and an authorization prerequisite (host-authorized upload roots). It still omits failure behavior, progress/job semantics, and return shape, which keeps it from a 5.

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?

Three short, front-loaded sentences with no filler. The middle sentence ("No SSH, separate port, delete or overwrite") is a telegraphic fragment whose exact scope is slightly ambiguous, costing a point.

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

Completeness2/5

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

For a 5-parameter mutation tool with no output schema and no parameter documentation, the description leaves critical gaps: which targetId values are acceptable, what jobId does, and what the caller receives. Annotations cover the safety profile, but the invocation contract is largely undocumented.

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

Parameters2/5

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

With 5 parameters and 0% schema description coverage, the description carries the full explanatory burden but supplies almost none: path, profileId, targetId, fileName, and jobId are never explained. Only a weak hint that the file is "explicitly selected" gestures at path. This leaves an agent guessing at the meaning of required targetId/profileId.

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

Purpose4/5

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

States a concrete verb (stream/upload) and resource (a new media file) and names the destination (native Jellyfin plugin), which is clearer than the bare name. It does not explicitly differentiate itself from siblings like plan_import or list_upload_targets, so it falls short of a 5.

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?

"Requires host-authorized upload roots" and "explicitly selected" give a precondition and imply user-driven selection, but there is no explicit when-to-use vs. when-to-use-another-tool guidance (e.g., plan_import first, or getting targetId from list_upload_targets). Usage is inferable rather than stated.

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