# Zotero MCP Server
An MCP (Model Context Protocol) server that integrates with Zotero's local API to search, retrieve, and extract full text from PDFs in your Zotero library.
## Prerequisites
- Zotero application with local API enabled
- Python 3.12 or higher
- uv or pip package manager
## Enable Zotero Local API
In Zotero's settings (Preferences → Advanced → General), enable:
☑️ **Allow other applications on this computer to communicate with Zotero**
## Configuration
Add the following to your MCP client configuration file (e.g., `mcp.json` for Claude Desktop or Cursor):
```json
{
"mcpServers": {
"zotero": {
"command": "uvx",
"args": ["masaki39-zotero-mcp"]
}
}
}
```
## Available Tools
| Tool | Parameters | Description |
|------|------------|-------------|
| `zotero_search_items` | `q` (optional) | Search items in your Zotero library by author name or title. Returns up to 30 matching items (excluding attachments). |
| `zotero_get_item` | `itemKey` (required) | Retrieve detailed information about a specific item including title, authors, publication info, abstract, tags, etc. |
| `zotero_read_pdf` | `itemKey` (required) | Extract full text from a PDF attachment associated with a Zotero item. |
| `read_pdf` | `local_path` (required) | Extract full text from a PDF file at a local file path. Can be used with filesystem MCP servers. |
## Example Usage
Once configured, you can use these tools through your MCP client:
- "Search my Zotero library for papers about machine learning"
- "Get details for item ABCD1234"
- "Extract the text from the PDF attached to item ABCD1234"
## License
MIT License - see [LICENSE](LICENSE) file for details.
## Contributing
Issues and pull requests are welcome at https://github.com/masaki39/zotero-mcp
Raw data
{
"_id": null,
"home_page": null,
"name": "masaki39-zotero-mcp",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "zotero, mcp, model-context-protocol, pdf, research, bibliography",
"author": null,
"author_email": "masaki39 <masaki39@example.com>",
"download_url": "https://files.pythonhosted.org/packages/cb/48/5b5b6ceb76c99a19fd0e5cfffa22f23f29fef61598863734bd69b9448834/masaki39_zotero_mcp-0.1.1.tar.gz",
"platform": null,
"description": "# Zotero MCP Server\n\nAn MCP (Model Context Protocol) server that integrates with Zotero's local API to search, retrieve, and extract full text from PDFs in your Zotero library.\n\n## Prerequisites\n\n- Zotero application with local API enabled\n- Python 3.12 or higher\n- uv or pip package manager\n\n## Enable Zotero Local API\n\nIn Zotero's settings (Preferences \u2192 Advanced \u2192 General), enable:\n\n\u2611\ufe0f **Allow other applications on this computer to communicate with Zotero**\n\n## Configuration\n\nAdd the following to your MCP client configuration file (e.g., `mcp.json` for Claude Desktop or Cursor):\n\n```json\n{\n \"mcpServers\": {\n \"zotero\": {\n \"command\": \"uvx\",\n \"args\": [\"masaki39-zotero-mcp\"]\n }\n }\n}\n```\n\n## Available Tools\n\n| Tool | Parameters | Description |\n|------|------------|-------------|\n| `zotero_search_items` | `q` (optional) | Search items in your Zotero library by author name or title. Returns up to 30 matching items (excluding attachments). |\n| `zotero_get_item` | `itemKey` (required) | Retrieve detailed information about a specific item including title, authors, publication info, abstract, tags, etc. |\n| `zotero_read_pdf` | `itemKey` (required) | Extract full text from a PDF attachment associated with a Zotero item. |\n| `read_pdf` | `local_path` (required) | Extract full text from a PDF file at a local file path. Can be used with filesystem MCP servers. |\n\n## Example Usage\n\nOnce configured, you can use these tools through your MCP client:\n\n- \"Search my Zotero library for papers about machine learning\"\n- \"Get details for item ABCD1234\"\n- \"Extract the text from the PDF attached to item ABCD1234\"\n\n## License\n\nMIT License - see [LICENSE](LICENSE) file for details.\n\n## Contributing\n\nIssues and pull requests are welcome at https://github.com/masaki39/zotero-mcp\n\n\n",
"bugtrack_url": null,
"license": null,
"summary": "MCP server for Zotero integration - search, retrieve, and extract PDF text from your Zotero library",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/masaki39/zotero-mcp",
"Issues": "https://github.com/masaki39/zotero-mcp/issues",
"Repository": "https://github.com/masaki39/zotero-mcp"
},
"split_keywords": [
"zotero",
" mcp",
" model-context-protocol",
" pdf",
" research",
" bibliography"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "fc8414aeb7f7492d3ee0d675a5c8b7b503eb484efcca831891f0446248f629f5",
"md5": "b6c5ea09a8754e1d95447aa0ac5bbfe9",
"sha256": "40bccaaf26992a2f3140c68b1fdb7b0b9c9ff24e50a278edac20224229b32e4c"
},
"downloads": -1,
"filename": "masaki39_zotero_mcp-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b6c5ea09a8754e1d95447aa0ac5bbfe9",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.12",
"size": 6234,
"upload_time": "2025-10-06T22:19:00",
"upload_time_iso_8601": "2025-10-06T22:19:00.278692Z",
"url": "https://files.pythonhosted.org/packages/fc/84/14aeb7f7492d3ee0d675a5c8b7b503eb484efcca831891f0446248f629f5/masaki39_zotero_mcp-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "cb485b5b6ceb76c99a19fd0e5cfffa22f23f29fef61598863734bd69b9448834",
"md5": "fc6979dfd1b5282e6bfd06e113698470",
"sha256": "c13ba27d878f7024909401b4fb731b7f505fe3547fac34763c29ba3929757d77"
},
"downloads": -1,
"filename": "masaki39_zotero_mcp-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "fc6979dfd1b5282e6bfd06e113698470",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.12",
"size": 5679,
"upload_time": "2025-10-06T22:19:02",
"upload_time_iso_8601": "2025-10-06T22:19:02.024555Z",
"url": "https://files.pythonhosted.org/packages/cb/48/5b5b6ceb76c99a19fd0e5cfffa22f23f29fef61598863734bd69b9448834/masaki39_zotero_mcp-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-06 22:19:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "masaki39",
"github_project": "zotero-mcp",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "masaki39-zotero-mcp"
}