Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/54yyyu/zotero-mcp
/ types & classes
Types & classes
343 in github.com/54yyyu/zotero-mcp
⨍
Functions
2,104
◇
Types & classes
343
↳
Endpoints
44
↓ 191 callers
Class
DummyContext
No-op MCP context for unit tests.
tests/conftest.py:13
↓ 58 callers
Class
FakeZoteroForUpdate
Extends FakeZotero with update-specific behaviour.
tests/test_update_item.py:161
↓ 29 callers
Class
FakeZotero
Minimal pyzotero client stub. Extend per test file as needed.
tests/conftest.py:26
↓ 25 callers
Class
FakeZoteroForFile
FakeZotero extended with attachment_both stub.
tests/test_add_from_file.py:16
↓ 22 callers
Class
_FakeResponse
Minimal httpx.Response stub.
tests/conftest.py:155
↓ 20 callers
Class
FakeChromaClient
Minimal ChromaClient stand-in that records operations for assertions.
tests/test_fulltext_web_mode.py:23
↓ 20 callers
Class
FakeZoteroClient
pyzotero client double with scripted responses.
tests/test_fulltext_web_mode.py:63
↓ 19 callers
Class
_FakeHTTPResponse
Minimal requests.Response stand-in.
tests/test_pdf_cascade.py:24
↓ 18 callers
Class
FakePage
tests/test_read_pdf.py:16
↓ 17 callers
Class
FakeFitzDocument
Stub for a fitz (PyMuPDF) Document object. Supports the interface used by server.add_from_file: - doc.metadata - doc.page_count - doc
tests/test_add_from_file.py:28
↓ 16 callers
Class
FakeZoteroForDuplicates
Extended stub that tracks write operations for merge testing.
tests/test_duplicates.py:40
↓ 14 callers
Class
DummyContext
tests/test_server_notes_and_tags.py:4
↓ 13 callers
Class
FakeResponse
tests/test_discovery.py:15
↓ 13 callers
Class
LocalZoteroReader
Direct SQLite reader for Zotero's local database. Provides fast access to item metadata and fulltext for semantic search without going t
src/zotero_mcp/local_db.py:95
↓ 12 callers
Class
_CollectionFakeZotero
FakeZotero with collection() lookups, trash fetch, and addto support.
tests/test_trashed_collections.py:34
↓ 11 callers
Class
DummyContext
tests/test_server_annotation_crud.py:7
↓ 11 callers
Class
_FakeResponse
tests/test_add_by_isbn.py:69
↓ 10 callers
Class
FakeZoteroForRelations
Extends FakeZotero with relation-specific behaviour.
tests/test_item_related.py:32
↓ 9 callers
Class
_AttachZotero
FakeZotero extended with attachment_both tracking.
tests/test_pdf_cascade.py:45
↓ 8 callers
Class
DummyContext
tests/test_batch_update_extra.py:11
↓ 8 callers
Class
ZoteroBetterBibTexAPI
Class to interact with Zotero's local Better BibTeX JSON-RPC API
src/zotero_mcp/better_bibtex_client.py:35
↓ 8 callers
Class
_FakeZoteroForDelete
tests/test_delete_item.py:32
↓ 7 callers
Class
FakeVersionsZotero
pyzotero stub exposing item_versions / last_modified_version.
tests/test_fulltext_sync_watermark.py:61
↓ 7 callers
Class
FakeZoteroForAnnotationUpdate
tests/test_server_annotation_crud.py:18
↓ 7 callers
Class
_RecordingZotero
FakeZotero that records addto_collection calls and lets the test decide whether pyzotero's atomic filing 'worked' on create_items.
tests/test_collections_backstop.py:36
↓ 6 callers
Class
DummyContext
tests/test_server_get_annotations.py:8
↓ 6 callers
Class
FakeZoteroCollections
FakeZotero with tracking for collection write operations.
tests/test_collections.py:21
↓ 6 callers
Class
FakeZoteroForAnnotations
Fake Zotero client that models the real parent/child hierarchy. Papers contain notes and attachments; annotations live under attachments, not
tests/test_server_get_annotations.py:19
↓ 6 callers
Class
_FakeClient
tests/test_group_library_url.py:18
↓ 6 callers
Class
_Reader
LocalZoteroReader stub: no DB, attachments / storage dir injected.
tests/test_zotero_ft_cache.py:28
↓ 6 callers
Class
_RecordingPutSession
Captures PUT calls and returns a configurable response.
tests/test_webdav.py:125
↓ 5 callers
Class
CLIContext
Drop-in replacement for fastmcp.Context that writes to stderr.
src/zotero_mcp/cli_standalone.py:36
↓ 5 callers
Class
EPUBCFIStep
Represents a single step in a CFI path. In CFI notation: - Elements are even numbers: (index + 1) * 2 - Text nodes are odd numbers:
src/zotero_mcp/epub_utils.py:36
↓ 5 callers
Class
OllamaEmbeddingFunction
Custom Ollama embedding function for ChromaDB. Uses Ollama's local HTTP API. Registered under the name ``ollama`` so ChromaDB can rebuild per
src/zotero_mcp/chroma_client.py:370
↓ 5 callers
Class
_CitekeyFakeZotero
FakeZotero with add_parameters support for citation-key tests.
tests/test_search_by_citation_key.py:63
↓ 4 callers
Class
EPUBCFISegment
A segment of a CFI path, consisting of steps and an optional terminal offset.
src/zotero_mcp/epub_utils.py:62
↓ 4 callers
Class
FakeLocalZoteroReader
Subclass that skips DB init and allows injecting fake attachment text.
tests/test_local_db.py:6
↓ 4 callers
Class
FakeZoteroForAnnotationDelete
tests/test_server_annotation_crud.py:187
↓ 4 callers
Class
FakeZoteroForDeleteNote
tests/test_server_notes_and_tags.py:334
↓ 4 callers
Class
FakeZoteroForNoteUpdate
tests/test_server_notes_and_tags.py:154
↓ 4 callers
Class
HuggingFaceEmbeddingFunction
Custom HuggingFace embedding function for ChromaDB using sentence-transformers. Registered under the name "huggingface" so ChromaDB rebuilds it (
src/zotero_mcp/chroma_client.py:311
↓ 4 callers
Class
ZoteroItem
Represents a Zotero item with text content for semantic search.
src/zotero_mcp/local_db.py:45
↓ 4 callers
Class
_BibZotero
FakeZotero honoring a content= kwarg for CSL/bibtex rendering.
tests/test_synthesis.py:106
↓ 4 callers
Class
_SearchableFake
Minimal pyzotero stub with the methods search_items needs.
tests/test_tag_filter_normalization.py:75
↓ 3 callers
Class
AttachmentDownloadResult
Result of downloading an attachment from one of the supported sources.
src/zotero_mcp/client.py:142
↓ 3 callers
Class
ChunkingFakeChroma
Chroma stub that records upserts and supports chunk bookkeeping.
tests/test_passage_chunking.py:120
↓ 3 callers
Class
FakeChromaClient
tests/test_openai_batch.py:137
↓ 3 callers
Class
FakeChromaClient
Minimal ChromaClient stub for unit tests.
tests/test_semantic_search_quality.py:29
↓ 3 callers
Class
FakeChromaClient
tests/test_fulltext_local_mode.py:16
↓ 3 callers
Class
_FakeChromaClient
tests/test_reranker_cache.py:32
↓ 3 callers
Class
_FakeResponse
Minimal httpx.Response stub.
tests/test_collections.py:57
↓ 3 callers
Class
_Reader
LocalZoteroReader stub with no DB and configurable attachments.
tests/test_fulltext_non_pdf_html.py:18
↓ 2 callers
Class
AttachmentDetails
Details about a Zotero attachment.
src/zotero_mcp/client.py:132
↓ 2 callers
Class
Boom
tests/test_collection_resolver.py:167
↓ 2 callers
Class
CFITextParser
HTML parser that extracts text while tracking precise positions for CFI generation. This parser: - Tracks element indices among element
src/zotero_mcp/epub_utils.py:210
↓ 2 callers
Class
DummyContext
tests/test_server_advanced_search.py:4
↓ 2 callers
Class
DummyContext
tests/test_metadata_formats.py:8
↓ 2 callers
Class
FailingChromaClient
Fakes a ChromaDB client whose upsert raises a transient error. Exercises the deferred-retry path in _process_item_batch.
tests/test_semantic_stats.py:62
↓ 2 callers
Class
FakeChromaClient
tests/test_semantic_stats.py:14
↓ 2 callers
Class
FakeZotero
tests/test_server_advanced_search.py:15
↓ 2 callers
Class
FakeZoteroForGetNotes
tests/test_server_notes_and_tags.py:183
↓ 2 callers
Class
FakeZoteroForMetadata
tests/test_metadata_formats.py:19
↓ 2 callers
Class
FakeZoteroForNotes
Fake Zotero client that returns different items based on itemType parameter.
tests/test_server_notes_and_tags.py:15
↓ 2 callers
Class
GeminiEmbeddingFunction
Custom Gemini embedding function for ChromaDB using google-genai. Registered under the name "gemini" so ChromaDB can rebuild it from a persis
src/zotero_mcp/chroma_client.py:157
↓ 2 callers
Class
OpenAIEmbeddingFunction
Custom OpenAI embedding function for ChromaDB. Registered under the name "openai" so ChromaDB rebuilds it (rather than its own incompatible b
src/zotero_mcp/chroma_client.py:31
↓ 2 callers
Class
RecordingChromaClient
tests/test_openai_batch.py:215
↓ 2 callers
Class
SearchZotero
tests/test_token_optimization.py:277
↓ 2 callers
Class
SimpleZotero
tests/test_token_optimization.py:230
↓ 2 callers
Class
WebDAVNotConfiguredError
Raised when WebDAV environment variables are missing.
src/zotero_mcp/webdav.py:19
↓ 2 callers
Class
ZoteroSemanticSearch
Semantic search interface for Zotero libraries using ChromaDB.
src/zotero_mcp/semantic_search.py:403
↓ 2 callers
Class
_BareReader
LocalZoteroReader stub that skips DB init.
tests/test_pdf_subprocess_utf8.py:18
↓ 2 callers
Class
_FailingZotero
tests/test_webdav.py:10
↓ 2 callers
Class
_FakeResponse
tests/test_webdav.py:15
↓ 2 callers
Class
_FakeResponse
tests/test_ollama_embedding.py:24
↓ 2 callers
Class
_FakeSession
tests/test_webdav.py:29
↓ 2 callers
Class
_PersistedFakeEF
A registered EF whose persisted name is *not* ``"default"``. This recreates the embedding-function conflict that a real populated collection
tests/test_search_database_status.py:52
↓ 2 callers
Class
_ZotItemStub
tests/test_passage_chunking.py:224
↓ 1 callers
Class
BatchZotero
tests/test_token_optimization.py:202
↓ 1 callers
Class
Boom
tests/test_trashed_collections.py:89
↓ 1 callers
Class
Boom
tests/test_idempotent_adds.py:166
↓ 1 callers
Class
ChromaClient
ChromaDB client for Zotero semantic search.
src/zotero_mcp/chroma_client.py:443
↓ 1 callers
Class
CollectionFakeZotero
Stub that returns parents + children from collection_items.
tests/test_token_optimization.py:64
↓ 1 callers
Class
CrashingAnnotationZot
tests/test_server_notes_and_tags.py:136
↓ 1 callers
Class
CrossEncoderReranker
Optional cross-encoder re-ranker for semantic search results.
src/zotero_mcp/semantic_search.py:348
↓ 1 callers
Class
DummyContext
tests/test_server_create_note.py:4
↓ 1 callers
Class
DummyContext
tests/test_group_library_url.py:65
↓ 1 callers
Class
DummyContext
tests/test_feed_retrieval.py:1
↓ 1 callers
Class
EPUBCFI
Complete EPUB CFI representation. Format: epubcfi(/6/<spine>!<path>,<start>,<end>) For ranges: - base: /6/<spine_index> (spine refe
src/zotero_mcp/epub_utils.py:84
↓ 1 callers
Class
EmptyZotero
tests/test_token_optimization.py:341
↓ 1 callers
Class
ErrorZotero
tests/test_token_optimization.py:370
↓ 1 callers
Class
FailingZotero
tests/test_update_item.py:600
↓ 1 callers
Class
FakeBatches
tests/test_openai_batch.py:90
↓ 1 callers
Class
FakeChroma
ChromaClient stub for update_database runs with no items.
tests/test_fulltext_sync_watermark.py:78
↓ 1 callers
Class
FakeCollection
tests/test_openai_batch.py:285
↓ 1 callers
Class
FakeDoc
tests/test_regression_bugs.py:204
↓ 1 callers
Class
FakeDocument
Simulates a fitz.Document with a get_toc() method.
tests/test_pdf_outline.py:16
↓ 1 callers
Class
FakeDocument
tests/test_read_pdf.py:24
↓ 1 callers
Class
FakeDocument
Minimal fitz document stub for page geometry lookups.
tests/test_area_annotations.py:24
↓ 1 callers
Class
FakeFiles
tests/test_openai_batch.py:84
↓ 1 callers
Class
FakeFitzPage
Stub for a fitz Page object.
tests/test_add_from_file.py:72
next →
1–100 of 343, ranked by callers