Skip to main content
Glama
Anki Connect MCP Server

Anki Connect MCP Server

Get card intervals

get_intervals
Read-onlyIdempotent

Retrieve review intervals for specified Anki card IDs, returning the latest interval or full history when complete=true. Use it to inspect scheduling data for cards.

Instructions

Returns review intervals per card (same order as input). Negative values are in seconds, positive values in days. With complete=true returns the full interval history per card as arrays; otherwise only the most recent interval.

Input Schema

NameRequiredDescriptionDefault
cardsYesCard IDs to get intervals for (card IDs, not note IDs; get them from find_cards or notes_info).
completeNotrue: full history per card; false/omitted: only the latest interval.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.0.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already establish that this is a safe, idempotent, closed-world read, so the bar is lower. The description still adds real value the annotations do not: output ordering mirrors the input, intervals are signed with negative meaning seconds and positive meaning days, and complete controls whether arrays of history or a single latest value come back.

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 with no waste, front-loaded with the core purpose and ordering guarantee, followed by the unit convention and the mode toggle. Nothing is repeated unnecessarily.

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?

There is no output schema, so the description must carry return semantics, and it covers ordering, units, and the shape difference between modes. It stops short of clarifying edge cases such as cards with no review history or whether new cards yield zero/absent intervals, which would fully close the gap for a two-parameter read tool.

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 coverage is 100%, so the schema already documents both cards and complete, including the false/omitted case. The description largely restates the complete flag, adding only that full history is returned 'as arrays'; the sign/unit rule describes return values rather than parameter meaning.

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 gives a specific verb and resource ('Returns review intervals per card') and adds discriminating detail: result order matches the input, and units depend on sign. That is enough to separate it from neighbors such as cards_info or are_due, though no sibling is named explicitly.

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 only implied: an agent can infer you call this when you need scheduling intervals for known card IDs. There is no statement of when to prefer cards_info or are_due instead, and no prerequisites or exclusions are given; the complete flag is explained as behavior rather than as a usage decision.

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