Skip to main content
Glama
anki-workflow-mcp

anki-workflow-mcp

by Gugart43

Catalog Load

catalog_load

Load and index an extractor catalog into active memory, optionally registering it in the deck manifest, to return counts of figures, tables, valid items, filtered noise, and version hash.

Instructions

Load and index an extractor catalog (catalog.json, anki_catalog.csv, catalog.md, or central_images.json) into active memory and optionally register it in the deck's manifesto.json. Returns counts of figures, tables, valid clinical items, filtered extraction noise, and version hash.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "catalog_path": "<catalog_path>"
    },
    "name": "catalog_load"
  }
}

Input Schema

NameRequiredDescriptionDefault
deck_dirNo
catalog_pathYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.1

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses that state changes are made ('into active memory') and that a second, optional side effect exists ('register it in the deck's manifesto.json'), but it does not say whether reloading overwrites or duplicates existing active-memory entries, what happens if manifesto registration is skipped or repeated, or whether any permissions/initialization are required.

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?

Two sentences, front-loaded with the action and file formats, with no filler. The trailing enumeration of return values is somewhat wasted effort because an output schema already exists, which is the only notable redundancy.

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

Completeness3/5

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

For a tool that mutates active memory and touches a manifest, the definition is adequate but thin: it omits ordering/preconditions (e.g., whether a deck or manifest must exist first) and its sibling relationship. The return-value sentence duplicates the output schema rather than adding the missing operational context.

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 0% for two parameters, so the description must compensate. It does partially: the format list clarifies what catalog_path accepts, and 'the deck's manifesto.json' plus 'optionally register' implicitly identify deck_dir as the optional deck directory. It never names the parameters directly or explains what happens when deck_dir is null, leaving the core path semantics inferred.

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?

The description uses a specific verb pair ('Load and index') on a specific resource ('extractor catalog') and enumerates the accepted file formats (catalog.json, anki_catalog.csv, catalog.md, central_images.json), which is far more concrete than a restated title. It stops short of differentiating itself from the similarly-named sibling corpus_load, so an agent cannot tell from the text alone which loader to pick.

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?

The phrase 'optionally register it in the deck's manifesto.json' hints at the two usage modes, but there is no explicit statement of when to call this versus corpus_load or manifesto_import, and no preconditions are given. Usage is implied rather than prescribed.

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