Skip to main content

Zotero - Reference Library & Vetted Sources

The TABS project maintains a Zotero library of over 3,300 academic references organized across 199 collections. This library serves as the canonical, vetted source of truth for every citation in the Culminating Research Project (CRP). The Zotero integration gives AI agents direct, programmatic access to this archive - enabling citation verification, literature discovery, full-text PDF retrieval, and cross-referencing with external databases like Semantic Scholar.

Why Zotero

Academic research demands an auditable chain from claim to source. Every statistic, framework reference, and literature review assertion in the CRP traces back to a specific Zotero item with a persistent DOI or URL. By exposing this library to AI agents, the project ensures that AI-generated content, code comments, and documentation can be grounded in verified academic sources rather than hallucinated citations.

Integration Architecture

The integration uses pyzotero (v1.11.0), a production-stable Python client for the Zotero Web API v3 maintained by Stephan Hügel at Trinity College Dublin. The library operates in two modes:

  • Local API - Connects to the Zotero desktop application at localhost:23119. No API key required. Used during interactive development.
  • Cloud API - Connects to api.zotero.org with an API key. Used in GitHub Actions via the zotero-prod environment.
Zotero integration platforms, access methods, and use cases
PlatformAccess MethodUse Case
Claude Desktoppyzotero MCP (10 tools)Interactive research, literature review, Semantic Scholar
VS Code / Copilot Chatpyzotero MCP (10 tools)Citation lookup while writing code and documentation
Claude Codepyzotero Python library (direct)Programmatic library operations and automation
GitHub Actionspyzotero + zotero-prod environmentCI/CD reference validation and bibliography sync

MCP Server - AI Agent Access

The pyzotero MCP server exposes 10 tools to AI agents via the Model Context Protocol. When an AI agent needs to verify a citation, find related work, or retrieve a PDF, it calls these tools directly.

Zotero Library Tools

Zotero library tools and their descriptions
ToolDescription
searchQuery by content, item type, collection, or tag - with optional full-text PDF search
get_itemRetrieve a single item by key - full metadata including abstract, DOI, and creators
get_childrenGet child items: PDF attachments, notes, and linked files
list_collectionsBrowse the full 199-collection hierarchy organized by course, topic, and research area
list_tagsList all tags in the library, optionally filtered by collection
get_fulltextExtract full-text content from PDF attachments

Semantic Scholar Integration

The MCP server also includes four Semantic Scholar tools that cross-reference external academic databases with the local Zotero library. When results are found, the server automatically checks whether each paper already exists in the local collection.

Semantic Scholar integration tools and their descriptions
ToolDescription
find_relatedFind semantically similar papers to a given DOI using embeddings
get_citationsPapers that cite a given paper (forward citation graph)
get_referencesPapers referenced by a given paper (backward citation graph)
search_semantic_scholarCross-database search with year, open-access, and citation count filters

Library Overview

The Zotero library contains references accumulated across the full DBA program and CRP research, organized into three top-level collections:

  • Smeal eDBA CBM Personal - Active research references organized by course, topic, and CRP chapter
  • CBM Old DBA - Earlier coursework references from the program
  • Exported Items - Cross-referenced and shared items

Within these top-level collections, subcollections mirror the CRP structure: technology adoption models, validated scales, survey methodology, industry-specific studies, and framework comparisons. This organization allows AI agents to scope searches to specific research domains.

Security & Access

  • API key - Stored in the zotero-prod GitHub environment as ZOTERO_API_KEY, never committed to the repository
  • Local access - No API key needed when connecting to the Zotero desktop application (localhost only)
  • Read + write permissions - The API key has full library access, notes access, and write access for collection management
  • MCP configs gitignored - Only .vscode/mcp.json.example is committed; the live config with credentials is excluded from version control