Append Markdown to a Zotero note
zotero_append_to_noteAppend Markdown to an existing Zotero note while preserving its citations and formatting, and convert bracketed item keys into real Zotero citations.
Instructions
Add Markdown to the end of an existing Zotero note, keeping everything already in it, including its own citations and formatting. 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. note_key is the note's own key (zotero_get_item with include_children lists an item's notes). To start a new note use zotero_create_note; to rewrite one, zotero_replace_note. If someone edits the note at the same moment, it is re-read and the text appended to the fresh copy. Writes go to the running Zotero desktop app (Zotero 10+) for every library it holds, otherwise to the cloud Web API.
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": {
"note_key": "<note_key>",
"markdown": "<markdown>"
},
"name": "zotero_append_to_note"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cite | No | Turn [@ITEMKEY] references into Zotero citations (default true). false leaves them as plain text. | |
| markdown | Yes | What to add at the end of the note, in Markdown. | |
| note_key | Yes | Key of the note to append to. | |
| 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. | |
| 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 |
|---|---|---|---|
| target | No | Where the write went: "local" (Zotero desktop local API), "desktop" (connector protocol) or "cloud" (Zotero Web API). | |
| retried | No | True when a version conflict made it re-read the note and append to the fresh copy. | |
| note_key | Yes | The note this call appended to. | |
| citations | Yes | How many [@KEY] groups in the appended text became Zotero citations. | |
| newVersion | Yes | The note's version after the write. |