upload_article
Save an article from Markdown you provide (e.g. something you wrote, summarized or collected), with no URL to fetch. For a web page, use save_article instead. Each call creates a new article unless it repeats an earlier call's idempotencyKey. Returns the article's id and metadata with an excerpt, not the content (use get_entry for that).
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": {
"content": "<content>",
"title": "<title>"
},
"name": "upload_article"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Article title as plain text (NOT Markdown or HTML). Do NOT HTML-escape it — write & not &, since the title is rendered as literal text and an entity like & would show up verbatim. | |
| author | No | Optional author/byline override. Plain text (NOT Markdown or HTML). Do NOT HTML-escape it — write & not &, since it is rendered as literal text. | |
| content | Yes | Article content in GitHub Flavored Markdown. Supports footnotes ([^1] … [^1]: …) and math ($…$ inline, $$…$$ display). Standard CommonMark: raw characters and HTML entities both work in the body (& and & both render as &). | |
| summary | No | Optional summary/excerpt override (e.g. an abstract you already have). Plain text (NOT Markdown or HTML). Do NOT HTML-escape it — write & not &, since it is rendered as literal text. Clipped to ~300 characters. | |
| collectionIds | No | Optional collection IDs to also add the article to (see create_collection) | |
| idempotencyKey | No | Optional key (letters, digits, _ and -; up to 128) unique to this article. Pass the same key when retrying a call that timed out or failed: if the first attempt saved the article, it's returned instead of saving a duplicate. |