Medium Risk

import_pdf_to_zotero

Download a PDF from a URL and upload it to Zotero storage as an imported_url attachment. Unlike linked URL attachments, imported files are stored in Zotero

How to control import_pdf_to_zotero ↓

What import_pdf_to_zotero does on Mcp Zotero

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

Medium Risk

Why import_pdf_to_zotero needs a policy

This tool creates new data (imported PDF attachments) in the user's Zotero library in a reversible manner. It is Write rather than Execute because it performs a specific data import operation with predictable side effects (file storage), not arbitrary code execution.

From the tool's definition The tool 'import_pdf_to_zotero' downloads a PDF from a URL and uploads it to Zotero storage, creating a persistent imported_url attachment.

Documented attack patterns abuse exactly the kind of access import_pdf_to_zotero gives an agent:

How to control import_pdf_to_zotero

PolicyLayer is an MCP gateway — it sits between your AI agents and Mcp Zotero, and nothing reaches the server without passing your rules. This is the rule we recommend for import_pdf_to_zotero:

policy.json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "import_pdf_to_zotero": {
      "limits": [
        {
          "counter": "import_pdf_to_zotero_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}

import_pdf_to_zotero stays usable, but capped — an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.

  1. Create a free account and register Mcp Zotero — nothing to install.
  2. Add this policy — paste it, or build it visually.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
LIMIT THIS TOOL →

Free to start. No card required.

Related tools and policies

Go deeper

Questions about import_pdf_to_zotero

What does the import_pdf_to_zotero tool do? +

Download a PDF from a URL and upload it to Zotero storage as an imported_url attachment. Unlike linked URL attachments, imported files are stored in Zotero. It is categorised as a Write tool in the Mcp Zotero MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.

How do I enforce a policy on import_pdf_to_zotero? +

Register the Mcp Zotero MCP server in PolicyLayer and add a rule for import_pdf_to_zotero: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Mcp Zotero. Nothing to install.

What risk level is import_pdf_to_zotero? +

import_pdf_to_zotero is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.

Can I rate-limit import_pdf_to_zotero? +

Yes. Add a rate_limit block to the import_pdf_to_zotero rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block import_pdf_to_zotero completely? +

Set action: deny in the PolicyLayer policy for import_pdf_to_zotero. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides import_pdf_to_zotero? +

import_pdf_to_zotero is provided by the Mcp Zotero MCP server (xevos117/mcp-zotero). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policy on every Mcp Zotero tool call.

Start from Mcp Zotero, add the rest of your stack, and see everything your agents can call. Then put policy on all of it.

Free to start. No card required.

13 Mcp Zotero tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.