Skip to main content
Glama
Anki Connect MCP Server

Anki Connect MCP Server

Get media file

retrieve_media_file
Read-onlyIdempotent

Fetch a file from Anki's media folder by filename, returning images up to 5 MB for direct viewing or raw bytes for audio, video, SVG and larger files. Use it to show or read stored media.

Instructions

Returns a file from Anki's media folder. PNG, JPEG, GIF and WebP images up to 5 MB come back as an image you can see; anything else (audio, video, SVG, larger images) returns {"filename", "bytes"}. Fails if the file does not exist.

Input Schema

NameRequiredDescriptionDefault
filenameYesFile name in the media folder.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.0.0

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the annotations (readOnly, idempotent, non-destructive), the description discloses the polymorphic return contract: PNG/JPEG/GIF/WebP up to 5 MB come back as viewable images, everything else returns {filename, bytes}. It also names the failure condition for missing files, which is exactly the behavioral context annotations cannot convey.

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 the core action, then the return branching, then the error condition. Nothing is redundant and every sentence adds information an agent needs before calling.

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?

There is no output schema, so the description must explain return values itself, and it does so precisely with the MIME/size branching. For a one-parameter read tool with full annotation coverage, nothing needed to invoke it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100% and the single filename parameter is already documented as 'File name in the media folder.' The description reinforces that the name refers to Anki's media folder but adds no format, extension, or path semantics, so the schema carries the load and the baseline 3 applies.

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 and resource: 'Returns a file from Anki's media folder.' The return-mode details (images inline vs. {filename, bytes}) make it unambiguous that this fetches file content, which distinguishes it from get_media_files_names (listing) and store_media_file (writing).

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?

Usage is implied rather than stated: the agent can infer you call this with a filename to fetch content, and the 'Fails if the file does not exist' note hints at a precondition. However, it never names alternatives such as get_media_files_names for discovering valid filenames, and gives no explicit when-not-to-use guidance.

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