# zotero_delete_annotation

A destructive tool on the Zotero MCP MCP server.

Agent View of the PolicyLayer registry record for `zotero_delete_annotation`. HTML page: https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-delete-annotation

## Facts

- Tool: `zotero_delete_annotation`
- Server: Zotero MCP (`pypi:zotero-mcp-server`) — https://policylayer.com/tools/54yyyu-zotero-mcp.md
- Install: `npx -y pypi:zotero-mcp-server`
- Homepage: https://github.com/54yyyu/zotero-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": "zotero_delete_annotation",
    "arguments": {}
  }
}
```

## Why zotero_delete_annotation is rated Critical

Deletion operations are irreversible and cannot be undone. Even though annotations are typically auxiliary metadata rather than primary research data, their loss is permanent and could disrupt research workflows, note-taking, or citation analysis.

From the tool's own definition: "Tool name explicitly contains 'delete' combined with 'annotation', indicating irreversible removal of data. The verb 'delete' is a canonical destructive operation. Tool description is empty, which slightly reduces confidence, but the name alone is unambiguous."

## Use case

AI agents call zotero_delete_annotation to permanently remove resources in Zotero MCP, 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 Zotero MCP:

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

## Other tools on Zotero MCP (54)

- `zotero_delete_collection` — Destructive — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-delete-collection.md
- `zotero_delete_item` — Destructive — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-delete-item.md
- `zotero_remove_item_relation` — Destructive — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-remove-item-relation.md
- `fetch` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/fetch.md
- `scite_check_retractions` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/scite-check-retractions.md
- `scite_enrich_item` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/scite-enrich-item.md
- `scite_enrich_search` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/scite-enrich-search.md
- `search` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/search.md
- `zotero_advanced_search` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-advanced-search.md
- `zotero_authorize_local_writes` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-authorize-local-writes.md
- `zotero_export_bibliography` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-export-bibliography.md
- `zotero_find_duplicates` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-find-duplicates.md
- `zotero_find_related_papers` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-find-related-papers.md
- `zotero_get_annotations` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-get-annotations.md
- `zotero_get_attachment_path` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-get-attachment-path.md
- `zotero_get_collection_items` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-get-collection-items.md
- `zotero_get_collections` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-get-collections.md
- `zotero_get_feed_items` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-get-feed-items.md
- `zotero_get_item_children` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-get-item-children.md
- `zotero_get_item_fulltext` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-get-item-fulltext.md
- `zotero_get_item_metadata` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-get-item-metadata.md
- `zotero_get_item_related` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-get-item-related.md
- `zotero_get_notes` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-get-notes.md
- `zotero_get_page_layout` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-get-page-layout.md
- `zotero_get_pdf_outline` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-get-pdf-outline.md
- `zotero_get_recent` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-get-recent.md
- `zotero_get_search_database_status` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-get-search-database-status.md
- `zotero_get_tags` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-get-tags.md
- `zotero_library_coverage` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-library-coverage.md
- `zotero_list_feeds` — Read — https://policylayer.com/tools/54yyyu-zotero-mcp/zotero-list-feeds.md
- …and 24 more: https://policylayer.com/tools/54yyyu-zotero-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=54yyyu-zotero-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/54yyyu-zotero-mcp
