Skip to main content
Glama

Metis · Librarian — Push To Zotero

push_to_zotero

Push local Metis library papers missing from Zotero up to your Zotero library, with a dry-run preview before creating items. Use it to sync ingested open-access reports into Zotero.

Instructions

Push local library papers that aren't in Zotero yet UP to your Zotero library.

The complement to sync_zotero_library (which only pulls DOWN). Finds
literature_metadata rows that did not come from Zotero (no zotero_key) and
creates them as items in your Zotero library, so papers Metis ingested — e.g.
open-access reports added to a knowledge layer — end up in Zotero too.

Args:
    dry_run: When True (default), report exactly what WOULD be created without
        writing anything. Always review the dry run before a real push.
    limit: Max items to push in one call.

Returns:
    A summary: how many candidates, and either the dry-run preview or the
    create result. Requires a WRITE-enabled ZOTERO_API_KEY.

Input Schema

NameRequiredDescriptionDefault
limitNo
dry_runNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.5

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden well: it discloses that this is a write operation, that dry_run defaults to True, and that a WRITE-enabled ZOTERO_API_KEY is required. It does not discuss idempotency or partial-failure behavior, but the core safety and auth context is present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core push behavior and then adds arguments and return context. It is well structured and mostly free of waste, though the Returns paragraph is somewhat redundant given the output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists, the description does not need to detail return values, but it still provides a useful summary. It covers the write safety, credential requirement, and parameter effects; only advanced behaviors such as duplicate handling or batch-failure semantics are left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although the schema description coverage is 0%, the description explains both parameters meaningfully: dry_run controls preview-vs-write and defaults to True, and limit caps items per call. The only minor gap is that it does not restate the limit default of 50, which is already visible in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: pushing local library papers into Zotero. It explicitly distinguishes this from sync_zotero_library by saying that tool only pulls DOWN and this one pushes UP.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It names the complementary sibling tool and states the selection condition: use this to push local papers that lack a zotero_key, not to pull Zotero items. It also instructs the agent to review a dry run before a real push.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools