Remove papers already pushed (by DOI match against papers.jsonl).
AI agents call filter_duplicates to permanently remove resources in Paper Distill MCP — typically in cleanup and lifecycle workflows. It does its job in a single call, and there is no undo.
The tool removes/filters out paper entries from the working set based on DOI matching. While this may be a filtering operation on an in-memory list rather than permanent deletion, the description says 'Remove' which implies modifying or pruning the papers.jsonl dataset irreversibly. If it modifies papers.jsonl in place, this is a destructive write.
From the tool's definition 'Remove papers already pushed (by DOI match against papers.jsonl)' — the word 'Remove' indicates deletion of records from the dataset
Attacks that exploit this kind of access
Remove papers already pushed (by DOI match against papers.jsonl). It is categorised as a Destructive tool in the Paper Distill MCP MCP Server, which means it can permanently delete or destroy data. Block by default and require explicit approval.
Register the Paper Distill MCP server in PolicyLayer and add a rule for filter_duplicates: 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 Paper Distill MCP. Nothing to install.
filter_duplicates is a Destructive tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.
Yes. Add a rate_limit block to the filter_duplicates 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 filter_duplicates. 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.
filter_duplicates is provided by the Paper Distill MCP server (pypi:paper-distill-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 →