# update_metadata

Update metadata for a specific book in the Calibre library (database).

Agent View of the PolicyLayer registry record for `update_metadata`. HTML page: https://policylayer.com/tools/2b3pro-calibre-mcp/update-metadata

## Facts

- Tool: `update_metadata`
- Server: Calibre (`2b3pro/calibre-mcp`) — https://policylayer.com/tools/2b3pro-calibre-mcp.md
- Homepage: https://github.com/2b3pro/calibre-mcp
- Risk category: Write (Medium risk)
- Registry record: grade B, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

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

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

## Why update_metadata is rated Medium

This tool creates or modifies data reversibly within the Calibre library database. While it alters book metadata (title, author, tags, etc.), these changes are not destructive—metadata can be edited, reverted, or restored. The impact is scoped to individual book records rather than library-wide operations.

From the tool's own definition: "Tool name 'update_metadata' combined with description 'Update metadata for a specific book in the Calibre library (database)' indicates modification of book records."

## Use case

AI agents use update_metadata to create or update resources in Calibre, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Calibre environment.

## Recommended policy (PolicyLayer)

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

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "update_metadata": {
      "limits": [
        {
          "counter": "update_metadata_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Calibre (9)

- `deep_search_book` — Read — https://policylayer.com/tools/2b3pro-calibre-mcp/deep-search-book.md
- `fetch_online_metadata` — Read — https://policylayer.com/tools/2b3pro-calibre-mcp/fetch-online-metadata.md
- `get_toc` — Read — https://policylayer.com/tools/2b3pro-calibre-mcp/get-toc.md
- `read_content` — Read — https://policylayer.com/tools/2b3pro-calibre-mcp/read-content.md
- `read_file_metadata` — Read — https://policylayer.com/tools/2b3pro-calibre-mcp/read-file-metadata.md
- `search_library` — Read — https://policylayer.com/tools/2b3pro-calibre-mcp/search-library.md
- `convert_ebook` — Write — https://policylayer.com/tools/2b3pro-calibre-mcp/convert-ebook.md
- `polish_book` — Write — https://policylayer.com/tools/2b3pro-calibre-mcp/polish-book.md
- `write_file_metadata` — Write — https://policylayer.com/tools/2b3pro-calibre-mcp/write-file-metadata.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=2b3pro-calibre-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/2b3pro-calibre-mcp
