Create a Zotero note from Markdown
zotero_create_noteCreate Zotero notes from Markdown as child notes under items or standalone notes, with formatting and bracketed item keys turned into clickable citations.
Instructions
Create a note in Zotero from Markdown: a child note under an item (parent_item), or a standalone note (optionally filed in collections). Markdown: headings, paragraphs, bullet and numbered lists, bold, italic, strikethrough, code and fenced code blocks, links, > blockquotes, tables, horizontal rules, and $inline$ or $$display$$ math, all stored as the note editor's own HTML. Raw HTML is shown as text, not interpreted. Cite a library item with its key in brackets: [@ABCD2345], [@ABCD2345, p. 12], [see @ABCD2345; @WXYZ6789, pp. 3-5]. Each becomes a real Zotero citation (clickable in Zotero, live when the note is added to a Word document), and a key that names nothing refuses the write. Zotero titles a note by its first line; pass title to put a heading there. To add to a note that exists, use zotero_append_to_note; to rewrite one, zotero_replace_note. Writes go to the running Zotero desktop app (Zotero 10+) for every library it holds, otherwise to the cloud Web API (requires ZOTERO_API_KEY with write access).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"markdown": "<markdown>"
},
"name": "zotero_create_note"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cite | No | Turn [@ITEMKEY] references into Zotero citations (default true). false leaves them as plain text. | |
| tags | No | Tags to put on the note, e.g. ["literature-note"]. | |
| title | No | A heading placed at the top of the note, which Zotero then shows as its title. Omit to let the first line of `markdown` be the title. | |
| markdown | Yes | The note body, in Markdown. | |
| library_id | No | Numeric id of the library to address, e.g. 5234875 for a group (zotero_groups lists the ids you can reach). Omit to use the configured default library; an id given without library_type is read as a group id. | |
| collections | No | Collection keys to file a standalone note in (from zotero_list_collections). A child note lives with its parent, so this is refused together with `parent_item`. | |
| parent_item | No | Key of the regular item (paper, book, ...) the note belongs to. Omit for a standalone note. | |
| library_type | No | Which library to address: "user" (a personal library) or "group" (a shared group library). Omit to use the library this server is configured for. "group" on its own is refused: pass library_id with it. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Key of the note created. | |
| failed | No | One entry per object the write could not land; absent or empty when all of them did. | |
| target | No | Where the write went: "local" (Zotero desktop local API), "desktop" (connector protocol) or "cloud" (Zotero Web API). | |
| version | No | Its version after the write. | |
| citations | Yes | How many [@KEY] groups became Zotero citations. | |
| parentItem | No | The item the note was attached to, for a child note. | |
| libraryVersion | No | The library's Last-Modified-Version after this write. |