# remove_empty_notes

A destructive tool on the Anki MCP server.

Agent View of the PolicyLayer registry record for `remove_empty_notes`. HTML page: https://policylayer.com/tools/io-github-arielbk-anki-mcp/remove-empty-notes

## Facts

- Tool: `remove_empty_notes`
- Server: Anki (`@arielbk/anki-mcp`) — https://policylayer.com/tools/io-github-arielbk-anki-mcp.md
- Install: `npx -y @arielbk/anki-mcp`
- Homepage: https://github.com/arielbk/anki-mcp
- Risk category: Destructive (Critical risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Hidden

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "remove_empty_notes",
    "arguments": {}
  }
}
```

## Why remove_empty_notes is rated Critical

The verb 'remove' combined with 'notes' (the primary data entity in Anki) indicates a destructive operation. In context of an Anki MCP server where notes are flashcard study material, deletion is irreversible. High severity because removing notes destroys user study data without recovery.

From the tool's own definition: "Tool name 'remove_empty_notes' indicates irreversible deletion of note records. No description provided, but naming convention strongly suggests data removal that cannot be undone."

## Use case

AI agents call remove_empty_notes to permanently remove resources in Anki, typically in cleanup and lifecycle workflows. It does its job in a single call, and there is no undo.

## Recommended policy (PolicyLayer)

Verdict: **Hidden**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Anki:

```json
{
  "version": "1",
  "default": "deny",
  "hide": [
    "remove_empty_notes"
  ]
}
```

## Other tools on Anki (97)

- `clear_unused_tags` — Destructive — https://policylayer.com/tools/io-github-arielbk-anki-mcp/clear-unused-tags.md
- `delete_decks` — Destructive — https://policylayer.com/tools/io-github-arielbk-anki-mcp/delete-decks.md
- `delete_media_file` — Destructive — https://policylayer.com/tools/io-github-arielbk-anki-mcp/delete-media-file.md
- `delete_notes` — Destructive — https://policylayer.com/tools/io-github-arielbk-anki-mcp/delete-notes.md
- `gui_exit_anki` — Destructive — https://policylayer.com/tools/io-github-arielbk-anki-mcp/gui-exit-anki.md
- `manage_decks` — Destructive — https://policylayer.com/tools/io-github-arielbk-anki-mcp/manage-decks.md
- `model_field_remove` — Destructive — https://policylayer.com/tools/io-github-arielbk-anki-mcp/model-field-remove.md
- `model_template_remove` — Destructive — https://policylayer.com/tools/io-github-arielbk-anki-mcp/model-template-remove.md
- `remove_deck_config` — Destructive — https://policylayer.com/tools/io-github-arielbk-anki-mcp/remove-deck-config.md
- `anki_operations` — Execute — https://policylayer.com/tools/io-github-arielbk-anki-mcp/anki-operations.md
- `gui_answer_card` — Execute — https://policylayer.com/tools/io-github-arielbk-anki-mcp/gui-answer-card.md
- `gui_deck_browser` — Execute — https://policylayer.com/tools/io-github-arielbk-anki-mcp/gui-deck-browser.md
- `gui_deck_review` — Execute — https://policylayer.com/tools/io-github-arielbk-anki-mcp/gui-deck-review.md
- `gui_select_card` — Execute — https://policylayer.com/tools/io-github-arielbk-anki-mcp/gui-select-card.md
- `gui_select_note` — Execute — https://policylayer.com/tools/io-github-arielbk-anki-mcp/gui-select-note.md
- `gui_show_answer` — Execute — https://policylayer.com/tools/io-github-arielbk-anki-mcp/gui-show-answer.md
- `gui_show_question` — Execute — https://policylayer.com/tools/io-github-arielbk-anki-mcp/gui-show-question.md
- `gui_start_card_timer` — Execute — https://policylayer.com/tools/io-github-arielbk-anki-mcp/gui-start-card-timer.md
- `relearn_cards` — Execute — https://policylayer.com/tools/io-github-arielbk-anki-mcp/relearn-cards.md
- `reload_collection` — Execute — https://policylayer.com/tools/io-github-arielbk-anki-mcp/reload-collection.md
- `study_session` — Execute — https://policylayer.com/tools/io-github-arielbk-anki-mcp/study-session.md
- `api_reflect` — Other — https://policylayer.com/tools/io-github-arielbk-anki-mcp/api-reflect.md
- `card_reviews` — Other — https://policylayer.com/tools/io-github-arielbk-anki-mcp/card-reviews.md
- `export_package` — Other — https://policylayer.com/tools/io-github-arielbk-anki-mcp/export-package.md
- `gui_browse` — Other — https://policylayer.com/tools/io-github-arielbk-anki-mcp/gui-browse.md
- `gui_undo` — Other — https://policylayer.com/tools/io-github-arielbk-anki-mcp/gui-undo.md
- `multi` — Other — https://policylayer.com/tools/io-github-arielbk-anki-mcp/multi.md
- `request_permission` — Other — https://policylayer.com/tools/io-github-arielbk-anki-mcp/request-permission.md
- `sync` — Other — https://policylayer.com/tools/io-github-arielbk-anki-mcp/sync.md
- `cards_to_notes` — Read — https://policylayer.com/tools/io-github-arielbk-anki-mcp/cards-to-notes.md
- …and 67 more: https://policylayer.com/tools/io-github-arielbk-anki-mcp.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=io-github-arielbk-anki-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-arielbk-anki-mcp
