Zotero MCP Connector

search_library

Search the local Zotero library of the user.

Input Schema

NameRequiredDescriptionDefault
ctxYes
itemTypeNo-attachment
limitNo
qmodeNotitleCreatorYear
queryYes

Input Schema (JSON Schema)

{ "$defs": { "Context": { "description": "Context object providing access to MCP capabilities.\n\nThis provides a cleaner interface to MCP's RequestContext functionality.\nIt gets injected into tool and resource functions that request it via type hints.\n\nTo use context in a tool function, add a parameter with the Context type annotation:\n\n```python\n@server.tool()\ndef my_tool(x: int, ctx: Context) -> str:\n # Log messages to the client\n ctx.info(f\"Processing {x}\")\n ctx.debug(\"Debug info\")\n ctx.warning(\"Warning message\")\n ctx.error(\"Error message\")\n\n # Report progress\n ctx.report_progress(50, 100)\n\n # Access resources\n data = ctx.read_resource(\"resource://data\")\n\n # Get request info\n request_id = ctx.request_id\n client_id = ctx.client_id\n\n return str(x)\n```\n\nThe context parameter name can be anything as long as it's annotated with Context.\nThe context is optional - tools that don't need it can omit the parameter.", "properties": {}, "title": "Context", "type": "object" } }, "properties": { "ctx": { "$ref": "#/$defs/Context" }, "itemType": { "default": "-attachment", "title": "Itemtype", "type": "string" }, "limit": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Limit" }, "qmode": { "anyOf": [ { "const": "everything", "type": "string" }, { "const": "titleCreatorYear", "type": "string" } ], "default": "titleCreatorYear", "title": "Qmode" }, "query": { "title": "Query", "type": "string" } }, "required": [ "query", "ctx" ], "title": "search_libraryArguments", "type": "object" }