Cite Caddy MCP server
{
"mcpServers": {
"herbertkokholm-cite-caddy": {
"type": "http",
"url": "https://citecaddy.herbertkokholm.dk/mcp"
}
}
}{
"mcpServers": {
"herbertkokholm-cite-caddy": {
"type": "http",
"url": "https://citecaddy.herbertkokholm.dk/mcp"
}
}
}{
"mcpServers": {
"herbertkokholm-cite-caddy": {
"type": "http",
"url": "https://citecaddy.herbertkokholm.dk/mcp"
}
}
}{
"servers": {
"herbertkokholm-cite-caddy": {
"type": "http",
"url": "https://citecaddy.herbertkokholm.dk/mcp"
}
}
}{
"mcpServers": {
"herbertkokholm-cite-caddy": {
"type": "http",
"url": "https://citecaddy.herbertkokholm.dk/mcp"
}
}
}file .mcp.json (in your project root)file claude_desktop_config.jsonfile ~/.cursor/mcp.jsonfile .vscode/mcp.jsonfile ~/.codeium/windsurf/mcp_config.jsonversion 2.3.5
What it does
Cite Caddy is an MCP server that provides full read/write access to a Zotero library. It exposes 39 tools for searching, adding, updating, deleting, and organizing bibliographic items, collections, tags, and attachments. It is for developers building AI assistants that need to interact with and manage Zotero reference libraries.
- Search your Zotero library and retrieve item metadata, full text from attachments, or saved searches programmatically.
- Automatically add, update, tag, or organize bibliography items in Zotero based on AI-driven decisions or user input.
- Delete or move items between libraries and manage library-wide tags and trash, with support for idempotent operations to avoid duplicates on retry.
Tools this server exposes
| Tool | Does |
|---|---|
| search_items | Search the Zotero library by title, creator, tag, or other fields. |
| get_item | Retrieve full metadata for a specific item by key. |
| create_item | Add a new item to the library. |
| update_item | Modify an existing item's fields. |
| delete_item_permanently | Permanently delete an item from the library. |
| move_item_to_different_library | Move an item from one library to another. |
| add_tags_to_item | Add one or more tags to an item. |
| remove_tags_from_item | Remove tags from an item. |
| create_item_note | Add or update a note attached to an item. |
| get_item_note | Retrieve the note content for an item. |
| create_collection | Create a new collection in the library. |
| delete_collection | Delete a collection from the library. |
| rename_collection | Change a collection's name. |
| get_all_collections | List all collections in the library. |
| get_all_tags | List all tags used in the library. |
| delete_tag | Remove a tag from the library entirely. |
| get_all_saved_searches | List all saved searches in the library. |
| delete_saved_search | Delete a saved search. |
| get_attachment | Download an attachment file from an item. |
| upload_attachment | Upload a file as an attachment to an item. |
| get_attachment_full_text | Extract and retrieve full text content from an attachment. |
| get_trash | List items in the library's trash. |
| empty_trash | Permanently delete all items in the trash. |
| restore_from_trash | Restore a deleted item from trash. |
| get_item_types | Look up the schema of available item types in Zotero. |
Before you enable it
An MCP server runs with whatever access you give it. Start with a development account rather than production, and check which tools the server exposes before you let an agent call them unattended.