| name | zotero-mcp |
| description | Interface with Zotero's MCP server to search and retrieve bibliographic data using advanced semantic search and multi-strategy approaches. Designed for output as a plain markdown formatted outline, suitable for pasting into Logseq. Also offers side-by-side translation of Chinese titles and abstracts for improved English language search within Logseq. Context-aware - uses agents in Claude Code, batched searches in Claude Desktop. |
Zotero MCP Search Skill
Interface with Zotero's MCP server to search and retrieve bibliographic data using advanced semantic search and multi-strategy approaches.
Designed for plain markdown outline output: This skill generates bibliographies formatted as plain markdown outlines suitable for pasting into Logseq with:
- Outline hierarchy (nested bullets, no markdown headers)
- Compact citation format (Author, Year. Title)
- Side-by-side Chinese-English translations for improved English language search
- Plain text (no bold styling)
- Zotero item links
Context-Aware Skill: This skill automatically adapts its strategy based on the environment:
- Claude Code: Uses autonomous agents for comprehensive multi-step searches
- Claude Desktop: Uses batched manual searches with safety limits
Core Philosophy
Search comprehensively, not narrowly. Never settle for a single search attempt. Always:
- Use semantic search for conceptual discovery
- Try multiple search angles and variations
- Combine different search methods
- Iteratively refine based on results
- Ask clarifying questions when needed
- Format bibliographies for Logseq with proper outline structure
Environment Detection
Detect which environment you're running in:
- Claude Code: Agents available (Task tool), no conversation crash risk
- Claude Desktop: No agents, conversation deletion risk with large responses
How to tell: Check if Task tool is available in your tool list.
PART 1: Claude Desktop Strategy
⚠️ CRITICAL: Avoiding Claude Desktop Crashes ⚠️
KNOWN BUG: Claude Desktop has a critical bug where large MCP responses cause request timeouts that DELETE the entire conversation without warning or recovery.
Safe Search Strategy: Batched Iteration
To get comprehensive results safely, use iterative batched searches:
✅ SAFE: Multiple small searches
- Each search limited to 10-15 results maximum
- Multiple searches with different angles/filters
- Combine results across searches
❌ UNSAFE: Single large search
- limit=50 or higher in one call
- Risks conversation deletion
- No recovery possible
Recommended Approaches for Claude Desktop
Approach 1: Multi-Angle Coverage (Preferred)
Instead of one search with limit=50, do 5 searches with different angles:
1. Semantic search: "main concept" (limit=10)
2. Semantic search: "related concept variation" (limit=10)
3. Keyword search: "specific terms" (limit=10)
4. Tag-based search: relevant tags (limit=10)
5. Notes/annotations search: "concept" (limit=10)
This gives ~50 results from different perspectives, safer than one large call.
Approach 2: Iterative Interactive
For user-guided exploration:
1. First batch: limit=10
2. Present results
3. Ask: "Would you like more results, or shall I search from a different angle?"
4. Next batch based on user feedback
Default Limits for Claude Desktop
Always use these safe defaults:
limit=10for initial searcheslimit=15if user explicitly needs more- Never exceed limit=20 in a single call
- For comprehensive results: use multiple searches, not larger limits
PART 2: Claude Code Strategy
Agent-First Approach
When running in Claude Code, use autonomous agents for comprehensive searches.
When to Use Agents (Claude Code Only)
Use agents when:
- User needs comprehensive literature searches
- User asks exploratory questions ("What do I have about...")
- User needs multi-angle search coverage
- User wants thorough, curated results
- User's query is conceptual or thematic
Don't use agents when:
- User asks for a single specific paper by exact title
- User just wants to see recent additions
- User is browsing collections interactively
Agent Task Patterns
Pattern 1: Comprehensive Topic Search
User request: "Find me papers about [topic]"
Agent task:
Search my Zotero library comprehensively for papers about [topic].
Use multiple search strategies autonomously:
1. SEMANTIC SEARCHES (5-6 variations)
- Try natural language phrasings
- Try different conceptual angles
- Use synonyms and related terms
- No limit restrictions - get comprehensive results
2. KEYWORD SEARCHES (3-4 variations)
- Try exact terms and variations
- Try broader/narrower terms
- Try related methodology terms
3. TAG-BASED SEARCHES
- First use zotero_get_tags to discover relevant tags
- Then search by multiple relevant tags
- Try tag combinations
4. FULL-TEXT & ANNOTATIONS
- Use zotero_search_notes for the concept
- Use zotero_get_annotations to find highlights
- Search for related concepts in notes
5. SYNTHESIS
- Combine all results and deduplicate
- Identify the 20-30 most relevant papers
- Group by theme/approach if applicable
- Provide brief relevance explanations
Return a curated list with:
- Paper metadata (title, authors, year)
- Why each paper is relevant
- Thematic groupings if applicable
- Coverage note (which strategies found what)
Pattern 2: Author-Focused Search
User request: "What do I have by/about [author]?"
Agent task:
Find all items related to [author] in my Zotero library.
Search comprehensively:
1. DIRECT AUTHORSHIP
- zotero_search_items with author="[author]"
- zotero_advanced_search with author field
2. CITATIONS & MENTIONS
- zotero_search_notes: "[author]" (cited in my notes)
- zotero_get_annotations: "[author]" (mentioned in highlights)
- zotero_semantic_search: "[author]'s main concepts/theories"
3. RELATED WORK
- Search for concepts/theories associated with this author
- Search for methodologies they use
- Search for co-authors
4. SYNTHESIS
- Organize by: (1) authored by, (2) cited in my notes, (3) related concepts
- Include temporal overview if relevant
- Note any thematic clusters
Return organized results with context about how each item relates to [author].
Pattern 3: Concept in Context
User request: "Research about X in context Y"
Agent task:
Find papers about [X] in the context of [Y].
Multi-angle search strategy:
1. COMBINED SEARCHES
- Semantic: "X in Y" + variations
- Semantic: "Y approaches to X"
- Advanced: keyword=X AND keyword=Y
- Advanced: keyword=X AND keyword=[Y synonyms]
2. SEPARATE THEN CROSS-REFERENCE
- Find strong X papers
- Find strong Y papers
- Identify overlap and connections
- Check if X papers mention Y in fulltext
- Check if Y papers mention X in fulltext
3. TAG ANALYSIS
- Get tags related to X
- Get tags related to Y
- Search items tagged with both domains
- Find bridging concepts in tags
4. ANNOTATION MINING
- Search notes for X+Y together
- Search notes for X and Y separately
- Check if you've annotated connections
5. SYNTHESIS
- Papers directly about X in Y context
- Papers about X that discuss Y
- Papers about Y that discuss X
- Papers that bridge both (even if not explicit)
Return results grouped by relevance strength and connection type.
Pattern 4: Exploratory Discovery
User request: "What's related to X?" or "Explore my library for X"
Agent task:
Explore my Zotero library to discover all material related to [X].
Comprehensive discovery approach:
1. DIRECT SEARCHES (Cast wide net)
- Semantic search: multiple phrasings of X
- Keyword search: X and synonyms
- Tag search: X-related tags
- Notes/annotations: X mentions
2. EXPANSION PHASE
- Analyze top results to identify:
* Related concepts and theories
* Related methodologies
* Related application domains
* Related authors
- Search for each of these expansions
3. DEEP EXPLORATION
- For promising papers, check fulltext for related concepts
- Look at tags on promising papers, search those tags
- Check annotations for related ideas
- Look for cited works mentioned in your notes
4. THEMATIC CLUSTERING
- Group all findings by themes/approaches
- Identify conceptual clusters
- Note connections between clusters
- Highlight surprising/unexpected connections
5. SYNTHESIS
- Core papers directly about X
- Related theoretical frameworks
- Methodological connections
- Application domains
- Surprising/tangential connections worth noting
Return a thematic map of your library's coverage of this topic.
How to Launch Agents (Claude Code Only)
Use the Task tool with subagent_type="general-purpose":
Task(
description="Comprehensive Zotero search for X",
subagent_type="general-purpose",
prompt="[Use one of the task patterns above]"
)
PART 3: Universal Search Strategy
Multi-Method Search Approach
ALWAYS use multiple search methods in combination (in both environments):
A. Semantic Search (Primary for Conceptual Discovery)
- Use
zotero_semantic_searchfor conceptual, thematic, or exploratory queries - Try multiple phrasings of the same concept
- Use natural language descriptions, not just keywords
- Example variations:
- "theories of embodied cognition"
- "how body influences thought and reasoning"
- "physical experience shapes cognitive processes"
- Claude Desktop: limit=10
- Claude Code (agents): no limit restriction
B. Keyword Search (Complementary)
- Use
zotero_search_itemswith multiple keyword variations - Try synonyms, related terms, broader/narrower terms
- Use different word forms (singular/plural, verb/noun)
- Example variations for "reading comprehension":
- "reading comprehension"
- "text understanding"
- "literacy"
- "comprehension strategies"
C. Advanced Search (Targeted)
- Use
zotero_advanced_searchfor precise criteria - Combine multiple fields (author + keyword, year + tag)
- Use for filtering after broader searches
D. Tag & Collection Filtering
- Use
zotero_get_tagsto discover relevant tags - Use
zotero_search_by_tagwith multiple tag variations - Use
zotero_get_collectionsandzotero_get_collection_itemsfor organized searches
E. Full-Text & Annotations
- Use
zotero_search_notesto search annotations and highlights - Use
zotero_get_item_fulltextfor content not in metadata - Critical for finding concepts mentioned in text but not in titles/abstracts
Common Search Patterns
Pattern: "Find me papers about X"
Claude Desktop:
1. zotero_semantic_search: "X" (limit=10)
2. zotero_semantic_search: "X alternative phrasing" (limit=10)
3. zotero_search_items: keyword variations of X (limit=10)
4. zotero_get_tags: look for X-related tags
5. zotero_search_by_tag: if relevant tags found (limit=10)
6. zotero_search_notes: "X" (limit=10)
Result: ~50+ results safely retrieved
Claude Code:
Launch agent with Task tool (Pattern 1)
Agent performs comprehensive multi-strategy search
Returns curated results with synthesis
Pattern: "What do I have on [author]?"
Claude Desktop:
1. zotero_search_items: author="[Author]" (limit=10)
2. zotero_advanced_search: author + recent years (limit=10)
3. zotero_search_notes: "[Author]" (limit=10)
4. zotero_semantic_search: "[Author]'s main concepts" (limit=10)
Claude Code:
Launch agent with Task tool (Pattern 2)
Search Failure Recovery
If initial searches yield poor results:
Ask clarifying questions:
- "Are you looking for theoretical or empirical work?"
- "Any specific time period or authors?"
- "Is this about methodology, findings, or theory?"
Broaden search:
- Use more general terms
- Remove filters
- Try related fields/disciplines
Check search database status:
- Use
zotero_get_search_database_status - Suggest
zotero_update_search_databaseif outdated
- Use
Try alternative angles:
- If searching for method, search for problems it solves
- If searching for theory, search for phenomena it explains
- If searching for author, search for concepts they study
PART 4: Bibliography Output Formatting
When the user requests a bibliography or formatted output of search results:
Logseq Formatting Standards
ALWAYS use outline hierarchy (nested bullet points), NEVER use markdown headers (#):
NO BOLD STYLING - use plain text for all content
Compact citation format:
- Main Topic - Bibliography
- A. Category Name
- Author(s), Year. Title (English Translation if applicable)
- Type: Article Type
- Journal: Journal Name, Volume X, Issue Y, Pages Z
- Zotero: [zotero://select/library/items/ITEM_KEY](zotero://select/library/items/ITEM_KEY)
- DOI: [if available]
- Abstract (Chinese): [if applicable]
- Abstract (English): [translation or original]
Format rules:
- First line: Author(s), Year. Title (English Translation)
- For Chinese authors: 黃美金 (Huang Mei-Jin)
- For multiple authors: separate with semicolons
- For no date: use "n.d."
- For no author: use institutional name or "N/A"
Translation Requirements
Chinese Abstracts:
- Always provide BOTH Chinese original and English translation
- Label clearly as
Abstract (Chinese):andAbstract (English): - Translate comprehensively, not just summaries
Chinese Titles:
- Provide English translation in parentheses after Chinese title
- Format:
中文標題 (English Translation) - If English title exists in metadata, use that; otherwise translate
Author Names:
- Include both Chinese characters and romanization when available
- Format:
黃美金 (Huang Mei-Jin)
Required Metadata Fields
Each bibliography entry must include (when available):
- Title (with translations as needed)
- Authors (with Chinese/romanization)
- Date (YYYY-MM-DD or YYYY)
- Type (Journal Article, Book Chapter, Thesis, etc.)
- Journal/Publication (with volume, issue, pages)
- Zotero link (format:
zotero://select/library/items/ITEM_KEY) - Abstract (Chinese and/or English as applicable)
- DOI (if available)
What NOT to Include
- ❌ No summary sections at the end of bibliographies (no totals, no "organized by themes" recap)
- ❌ No markdown headers (
#,##, etc.) - use nested bullets only - ❌ No bold styling (
**text**) - use plain text throughout - ❌ No item counts or statistics sections at the end
Bibliography Structure Example
- Indigenous Language Proficiency Certification (原住民族語言能力認證) - Bibliography
- A. Core Certification Papers
- 黃美金 (Huang Mei-Jin), 2003. 原住民族語言能力認證:回顧與展望 (Indigenous Language Proficiency Certification: Review and Prospects)
- Type: Journal Article
- Journal: 原住民教育季刊, Issue 9, Pages 5-27
- Zotero: [zotero://select/library/items/W44VF3CG](zotero://select/library/items/W44VF3CG)
- Abstract (Chinese): [full Chinese abstract]
- Abstract (English): [full English translation]
- B. Policy & Historical Context
- [next paper...]
File Handling
When creating bibliographies:
- Save to
/Users/niyaro/Desktop/with descriptive filename - Use
.mdextension - Open in BBEdit automatically (use
bbeditcommand) - Confirm file creation and location to user
PART 5: Tool Quick Reference
| Tool | Primary Use | Claude Desktop Limit | Claude Code (Agent) |
|---|---|---|---|
zotero_semantic_search |
Conceptual discovery | limit=10 | No limit, use liberally |
zotero_search_items |
Keyword matching | limit=10 | No limit |
zotero_advanced_search |
Precise filtering | limit=10 | No limit |
zotero_get_tags |
Discover tags | No limit needed | No limit needed |
zotero_search_by_tag |
Tag filtering | limit=10 | No limit |
zotero_search_notes |
Annotation search | limit=10 | No limit |
zotero_get_annotations |
Highlight retrieval | limit=10 | No limit |
zotero_get_item_fulltext |
Full-text access | N/A (single item) | N/A (single item) |
zotero_get_collections |
Collection discovery | No limit needed | No limit needed |
zotero_get_recent |
Recent additions | limit=10 | No limit |
zotero_update_search_database |
Update index | N/A | N/A |
Critical Reminders
For Both Environments
- Never use just one search method
- Never try just one search term variation
- Always check tags before searching
- Always search both metadata and full-text/annotations
- Always explain your search path
- Always refine based on initial results
Claude Desktop Specific
- 🚨 SAFETY: Always use limit=10 (max 15-20) to prevent conversation deletion
- 🚨 SAFETY: For comprehensive results, use multiple searches or agents, NOT large limits
Claude Code Specific
- Default to agents for non-trivial searches
- Be comprehensive - no crash limits
- Let agents explore - they can handle complexity autonomously
- Synthesize results - raw lists are not enough
Bibliography Formatting
- Format for Logseq - use outline hierarchy, not headers; NO bold styling
- Compact citation format - Author(s), Year. Title on first line
- Translate Chinese content - provide both original and English versions
Remember: This skill adapts to your environment. In Claude Code, leverage agents for comprehensive autonomous searches. In Claude Desktop, use careful batched searches with safety limits.