Complete workflow for verifying academic literature citations using Zotero MCP with full PDF reading and token management
Complete workflow for verifying academic literature citations using Zotero MCP with 100% word-by-word PDF reading and token budget management.
When invoked with /zotero-literature-verification, guide the user through:
CRITICAL: When verifying citations, you MUST:
FORBIDDEN:
Formula: Pages × 700 + 1000 = Estimated Tokens
| Papers | Pages | Est. Tokens | Safe? |
|---|---|---|---|
| 1-2 | 10-20 | ~20k | ✅ Safe |
| 3-4 | 30-40 | ~50k | ✅ Safe |
| 5-6 | 50-90 | ~90k | ✅ Safe |
| 7+ | 100+ | ~140k+ | ⚠️ Split sessions |
Token Zones:
import fitz
doc = fitz.open('/Users/Zhuanz/Zotero/storage/XXXXXXXX/Paper.pdf')
text = '\n'.join([p.get_text() for p in doc])
with open('/tmp/paper_full.txt', 'w') as f:
f.write(text)
print(f"✅ {doc.page_count} pages, {len(text)} chars")
Read in chunks of 250-300 lines:
# Chunk 1: Lines 0-250 (Title, Abstract, Introduction)
Read("/tmp/paper_full.txt", offset=0, limit=250)
# Chunk 2: Lines 250-500 (Methods, early Results)
Read("/tmp/paper_full.txt", offset=250, limit=250)
# Chunk 3: Lines 500-750 (Results, Discussion)
Read("/tmp/paper_full.txt", offset=500, limit=250)
# Chunk 4: Lines 750-1000 (Conclusion, References)
Read("/tmp/paper_full.txt", offset=750, limit=250)
After complete reading, locate exact quotes:
# Find exact line number
grep -n "exact quoted phrase" /tmp/paper_full.txt
# Read context (±20 lines)
Read("/tmp/paper_full.txt", offset=436, limit=40)
Use Zotero MCP tools:
mcp__zotero__zotero_get_item_metadata - Get complete metadatamcp__zotero__zotero_search_items - Search by author/year/titlemcp__zotero__zotero_get_item_fulltext - Get PDF text## Verification Report
| Paper | Pages | Status | Issues |
|-------|-------|--------|--------|
| Author 2025 | 15 | ✅ | Corrected: false attribution |
| Author 2024 | 19 | ✅ | None - accurate |
## References (ACM Format)
[Author Year] FirstName LastName, FirstName LastName. Year.
Title of Paper. In Proceedings of CONF (CONF 'YY), Vol. 19.
AAAI Press, Pages. DOI: https://doi.org/XX.XXXX/XXXXXXX
Monitor after each paper:
if tokens_remaining < 50000:
print("⚠️ WARNING: Less than 50k tokens remaining")
print("Recommend: Save progress and continue in new session")
Real Performance (from 2026-02-05):
# Save progress
cat > /tmp/verification_progress.txt << EOF
Completed: Paper1, Paper2, Paper3
Current: Paper4 (line 500/1200)
Pending: Paper5, Paper6
Token used: 150,000
EOF
# Report to user and STOP
Before claiming "verification complete":
# Install PyMuPDF
pip install PyMuPDF
# Ensure Zotero is running with local API enabled
# Settings → Advanced → "Allow other applications to communicate with Zotero"
instructions.md - Complete workflow detailsQUICK_REFERENCE.md - Quick reference cardexample_workflow.py - Working exampleREADME.md - Project overview