{"id":"kujenga-zotero-mcp","name":"zotero-mcp","homepage":null,"repo_url":"https://github.com/kujenga/zotero-mcp","category":"ai-ml","subcategories":[],"tags":["mcp","zotero","python","research","knowledge-management","llm-integration"],"what_it_does":"A Model Context Protocol (MCP) server that exposes a small set of Zotero tools to AI assistants/clients: search for Zotero items, fetch item metadata, and retrieve full text (PDF/fulltext) for items. It can connect either to the Zotero desktop app’s local API or the Zotero Web API using an API key and library ID.","use_cases":["Enable AI assistants to browse and search a Zotero library","Ask for summaries, comparisons, or metadata-driven analysis of Zotero items","Retrieve and use full text (where supported) for downstream reasoning or extraction","Automate research workflows inside MCP-compatible clients (e.g., Claude Desktop via mcpServers config)"],"not_for":["High-volume or real-time analytics over Zotero at scale (no evidence of batching, rate-limit handling, or pagination guidance)","Use cases requiring strict/explicit guarantees about data minimization or redaction","Environments where exposing fulltext content is disallowed"],"best_when":"You want an MCP-compatible bridge between an AI assistant and your personal/group Zotero library, and you’re able to provide the necessary Zotero API credentials or run against the local Zotero API.","avoid_when":"You need a fully specified REST-style API contract (OpenAPI/SDKs) or where robust retry/idempotency semantics and rate-limit behavior must be clearly documented for agents.","alternatives":["Use Zotero Web API directly (pyzotero or custom HTTP client) without MCP","Build/extend your own MCP server using the Zotero API endpoints you need","Other existing MCP Zotero integrations (if available in the MCP ecosystem)"],"af_score":54.0,"security_score":57.2,"reliability_score":27.5,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T13:42:55.070729+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["Zotero Web API API key via environment variable (ZOTERO_API_KEY)","No explicit auth required for local Zotero API mode (but requires local app/API permissions)"],"oauth":false,"scopes":false,"notes":"Auth is handled indirectly: provide a Zotero API key for the Web API path; local mode relies on Zotero desktop local API access configuration."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"As an open-source MCP server, pricing is not specified; costs depend on deployment and any Zotero service/API usage."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":54.0,"security_score":57.2,"reliability_score":27.5,"mcp_server_quality":70.0,"documentation_accuracy":70.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":70.0,"rate_limit_clarity":10.0,"tls_enforcement":80.0,"auth_strength":60.0,"scope_granularity":20.0,"dependency_hygiene":55.0,"secret_handling":70.0,"security_notes":"Uses environment variables for API key configuration (ZOTERO_API_KEY), which is generally safer than hardcoding. However, the README does not specify how secrets are logged/handled at runtime, nor does it describe scope granularity/least-privilege behavior. Fulltext access can increase the sensitivity of returned data, and rate-limit/throttling guidance is not documented.","uptime_documented":0.0,"version_stability":55.0,"breaking_changes_history":30.0,"error_recovery":25.0,"idempotency_support":"false","idempotency_notes":null,"pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Fulltext retrieval via local Zotero API depends on Zotero version/beta build; in many setups Web API may be safer/required.","Local mode requires Zotero app running locally and appropriate Zotero setting enabled; remote/container setups need network connectivity to local API if attempting local mode from Docker.","Tool outputs are described as formatted text; agents may need to parse text reliably (no structured JSON output is evidenced in the README)."]}}