Create a new item by looking up metadata from DOI, ISBN, PMID, or arXiv ID. This is the preferred way to add published papers - metadata is fetched automatically. Requires Translation Server to be running (see README for setup). Examples:
AI agents use create_item_by_identifier to create or update resources in Zotero — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Zotero environment.
This tool creates new bibliography entries in a Zotero library, which is a reversible write operation. It does not delete, execute arbitrary code, or move financial assets. The blast radius is limited to bibliography data creation. The dependency on Translation Server and metadata lookup does not elevate it to Execute, as the core function is deterministic data creation, not arbitrary command execution.
From the tool's definition Tool name 'create_item_by_identifier' and description 'Create a new item' directly indicate data creation. The description specifies it creates new items in Zotero by fetching and storing metadata from external identifiers (DOI, ISBN, PMID, arXiv ID).
Attacks that exploit this kind of access
Create a new item by looking up metadata from DOI, ISBN, PMID, or arXiv ID. This is the preferred way to add published papers - metadata is fetched automatically. Requires Translation Server to be running (see README for setup). Examples:. It is categorised as a Write tool in the Zotero MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
Register the Zotero MCP server in PolicyLayer and add a rule for create_item_by_identifier: 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 Zotero. Nothing to install.
create_item_by_identifier is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the create_item_by_identifier 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.
Set action: deny in the PolicyLayer policy for create_item_by_identifier. 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.
create_item_by_identifier is provided by the Zotero MCP server (xbghc/zotero-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Every MCP server has a record like this.
Type a name, get the same breakdown: verified identity, auth posture, risk grade, capabilities, recommended policy.
Teams ship this data inside their own products. See what a licence covers →