Anki Card Manager (acm)
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ACM_HOME | No | Path to the ACM home directory where data, indices, queues and backups are stored. | ~/.acm |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| acm_ingestB | Procesa tarjetas candidatas: normaliza, clasifica, deduplica, decide y persiste. Args: cards_json: JSON array de tarjetas. Cada tarjeta tiene: - front (str, requerido): Pregunta de la tarjeta - back (str, requerido): Respuesta de la tarjeta - source (str, requerido): Origen ("claude", "chatgpt", "manual") - suggested_tags (list[str], opcional): Tags en formato "category::value" - note_type (str, opcional): Tipo de nota Anki (default "Basic") on_exact_match: qué hacer si el contenido ya existe (mismo fingerprint): "update" (default, actualiza el registro existente — idempotente), "skip" (no toca el existente) o "new" (crea uno nuevo). Evita duplicar el registro al re-ingerir (reporte §7). Returns: JSON con la decisión/persistencia por tarjeta (insert/possible_duplicate/ reject/updated/skipped). |
| acm_annotateA | Anota tarjetas candidatas SIN subir ni persistir nada (E3-1 / RF-A2). Es el corazón del flujo "crear → revisar → subir": Claude propone cards y llama a esto; cada card vuelve anotada para que muestres al usuario una lista YA deduplicada y clasificada. No escribe en el registro ni en Anki. Por cada card devuelve:
Args: cards_json: JSON array. Cada card: front, back, source, y opcionales suggested_tags ("category::value"), note_type, profile, deck, material_origen (PDF/sección de origen). verbose: False (default) → matches compactos (top-2) para economía de tokens (§9); True → detalle completo de cada match. |
| acm_reviewA | Lista tarjetas marcadas como possible_duplicate pendientes de revisión. Returns: JSON con la lista de tarjetas pendientes, cada una con id, front, vendor, topic y fecha. |
| acm_resolveA | Resuelve un item de la cola de revisión con UNA sola acción (E5-1 / E5-3). Funciona en CUALQUIER estado (id completo o prefijo), no solo en la cola activa (§6). La cola incluye duplicados posibles y clasificación ambigua. Args: record_id: ID completo o prefijo del registro. action: "approve" (→ aprobada), "reject" (→ descartada), "purge" (borrado físico del registro) o "correct". front, back: contenido corregido (requeridos para action="correct"). tags: tags sugeridos para la corrección (opcional, "category::value"). note_type, deck: corrección opcional de modelo/mazo (§5). Para "correct", la card corregida REINGRESA al pipeline: se re-deduplica y re-clasifica automáticamente (E5-3). |
| acm_syncA | Empuja las tarjetas aprobadas pendientes a Anki, ruteadas e idempotente. Re-correr no recrea: las subidas pasan a estado 'subida' y se saltan (E4-3).
Anki cerrado → las aprobadas quedan encoladas y suben al reconectar; con
Returns: JSON con synced (id/deck/note_id), errores, batch_id y backup. |
| acm_undoA | Deshace un lote por id (E9-2 / §5). Detecta el tipo automáticamente:
Mirá los lotes disponibles (sync_batches / ingest_batches) con acm_stats. Args: batch_id: id del lote (lo devuelven acm_sync / acm_ingest y los lista acm_stats). |
| acm_auditA | Audita un deck de Anki — una sola tool para tres modos (E6-2). Modos:
Args: deck: deck raíz a auditar. mode: "duplicates" | "recent" | "untagged". profile: perfil de taxonomía (default: el de settings). include_subdecks: incluir subdecks (default True). days: ventana temporal para mode="recent". include_registry: incluir el registro local en mode="duplicates". limit, offset: paginación para mode="untagged". |
| acm_reorganizeA | E7-3: reorganización masiva (one-shot) de un mazo — re-taggea y reporta dups.
Args: deck: deck raíz a reorganizar. profile, include_subdecks: comunes. dry_run: True previsualiza; False aplica (con backup previo). |
| acm_find_similar_cardC | Busca tarjetas similares a un query usando el motor local de duplicados. |
| acm_statsA | Muestra estadísticas del registro de tarjetas procesadas. Returns: JSON con conteo por acción (insert, possible_duplicate, reject) y total. |
| acm_taxonomyA | Consulta o edita la taxonomía de tags (E6-2: show + add en una tool). Args: action: "show" (default, lista categorías y valores) o "add". category: categoría del tag (requerido para action="add"). value: valor a agregar (requerido para action="add"); crea category::value. profile: perfil cuya taxonomía consultar/editar. Returns: JSON con la taxonomía (show) o el resultado de la operación (add). |
| acm_auto_classifyA | Clasifica tarjetas determinísticamente sin usar LLM. Retorna las que se pudieron resolver y las ambiguas que necesitan intervención del agente. Flujo token-eficiente: llama esto primero. Solo las cards en "needs_review" requieren que el agente las analice y llame acm_apply_tags. Args: cards_json: JSON array de tarjetas. Cada tarjeta tiene: - front (str): Pregunta - back (str): Respuesta - source (str, opcional): Origen (default "manual") - suggested_tags (list[str], opcional): Tags existentes "category::value" - note_type (str, opcional): Tipo de nota Anki (default "Basic") Returns: JSON con: - classified: tarjetas resueltas con alta confianza (no requieren tokens) - needs_review: tarjetas ambiguas con contexto para que el agente decida - taxonomy: categorías válidas (solo si hay items en needs_review) - summary: conteos |
| acm_apply_tagsA | Aplica tags decididos por el agente o humano a tarjetas. Úsalo después de acm_auto_classify para las tarjetas en needs_review. Puede aplicar tags tanto a tarjetas nuevas (por índice del batch) como a notas existentes en Anki (por note_id). Args: assignments_json: JSON array de asignaciones. Cada una tiene: - tags (list[str]): Tags en formato "category::value" Y uno de: - note_id (int): Para notas ya existentes en Anki - card (dict): Para tarjetas nuevas, con front/back/source file: Ruta opcional a un archivo JSON/YAML con las asignaciones. Returns: JSON con resultados: tags aplicados, errores de validación, tarjetas procesadas vía el pipeline normal de ingest. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Eduvent/Anki-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server