AgentStack
SKILL verified MIT Self-run

Zotero Mcp

skill-kerim-zotero-mcp-skill-zotero-mcp-skill · by kerim

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, ba…

No reviews yet
0 installs
13 views
0.0% view→install

Install

$ agentstack add skill-kerim-zotero-mcp-skill-zotero-mcp-skill

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Zotero Mcp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

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=10 for initial searches
  • limit=15 if 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_search for 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_items with 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_search for precise criteria
  • Combine multiple fields (author + keyword, year + tag)
  • Use for filtering after broader searches

D. Tag & Collection Filtering

  • Use zotero_get_tags to discover relevant tags
  • Use zotero_search_by_tag with multiple tag variations
  • Use zotero_get_collections and zotero_get_collection_items for organized searches

E. Full-Text & Annotations

  • Use zotero_search_notes to search annotations and highlights
  • Use zotero_get_item_fulltext for 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:

  1. Ask clarifying questions:
  • "Are you looking for theoretical or empirical work?"
  • "Any specific time period or authors?"
  • "Is this about methodology, findings, or theory?"
  1. Broaden search:
  • Use more general terms
  • Remove filters
  • Try related fields/disciplines
  1. Check search database status:
  • Use zotero_get_search_database_status
  • Suggest zotero_update_search_database if outdated
  1. 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

  1. Chinese Abstracts:
  • Always provide BOTH Chinese original and English translation
  • Label clearly as Abstract (Chinese): and Abstract (English):
  • Translate comprehensively, not just summaries
  1. Chinese Titles:
  • Provide English translation in parentheses after Chinese title
  • Format: 中文標題 (English Translation)
  • If English title exists in metadata, use that; otherwise translate
  1. 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:

  1. Save to /Users/niyaro/Desktop/ with descriptive filename
  2. Use .md extension
  3. Open in BBEdit automatically (use bbedit command)
  4. 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

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.