anki mcp
A simple note-taking MCP server that stores notes and can generate summaries of stored content.
A simple note-taking MCP server that stores notes and can generate summaries of stored content.
A Model Context Protocol (MCP) server for integrating AI assistants with Anki, the popular spaced repetition flashcard software.
This MCP server enables AI assistants to interact with Anki through the following tools:
get-collection-overview: Returns an overview of the Anki collection like available decks, available models and their fields
add-or-update-notes: Adds new notes or updates existing ones. Allows batch adding/updating multiple notes at once.
get-cards-reviewed: Get the number of cards reviewed by day
find-notes: Allows querying notes using the Anki searching syntax
uv
. To install uv
, follow the official instructions.~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
Add anki-mcp
to the mcpServers
section:
"mcpServers": {
"anki-mcp": {
"command": "uvx",
"args": [
"anki-mcp"
]
}
}
Restart Claude Desktop.
[
{
"description": "Get comprehensive information about the Anki collection including decks, models, and fields",
"inputSchema": {
"properties": {},
"title": "get_collection_overviewArguments",
"type": "object"
},
"name": "get-collection-overview"
},
{
"description": "Get the number of cards reviewed by day",
"inputSchema": {
"properties": {},
"title": "get_cards_reviewedArguments",
"type": "object"
},
"name": "get-cards-reviewed"
},
{
"description": "Find notes matching a query in Anki",
"inputSchema": {
"properties": {
"query": {
"title": "Query",
"type": "string"
}
},
"required": [
"query"
],
"title": "find_notesArguments",
"type": "object"
},
"name": "find-notes"
},
{
"description": "Add new notes or update existing ones in Anki",
"inputSchema": {
"$defs": {
"Note": {
"properties": {
"deck": {
"default": "Default",
"description": "Deck name (optional)",
"title": "Deck",
"type": "string"
},
"fields": {
"additionalProperties": {
"type": "string"
},
"description": "Field values for the note (varies by model)",
"title": "Fields",
"type": "object"
},
"id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"description": "Note ID, if the note already exists. If this is populated the existing note will be updated. If this is `None` a new note will be created.",
"title": "Id"
},
"model": {
"default": "Basic",
"description": "Model name (optional)",
"title": "Model",
"type": "string"
},
"name": {
"description": "Name of the note",
"maxLength": 64,
"title": "Name",
"type": "string"
},
"tags": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": {
"path": "README.md",
"type": "blob"
},
"description": "Tags to assign to the note (optional)",
"title": "Tags"
}
},
"required": [
"name",
"id",
"fields"
],
"title": "Note",
"type": "object"
}
},
"properties": {
"notes": {
"items": {
"$ref": "#/$defs/Note"
},
"title": "Notes",
"type": "array"
}
},
"required": [
"notes"
],
"title": "add_or_update_notesArguments",
"type": "object"
},
"name": "add-or-update-notes"
}
]