Change fields
setChange named fields in one call. target item: one title in their library (media_type plus item_id or exact title), fields like status, rating (stars, null clears), notes, priority, started, finished, favorite, hidden, review, progress, format. target page: their public page, fields like style.background, style.headings, headline, currently.reading, rating_names, sections.guestbook, my9.movie, favorites.book. target list: one list by name, fields name, description, visibility, entry. target shelf: one of their shelves by name (shelf), fields name, noun, emoji, by_label, visibility, tracks_sessions, words.done, fields. target shelf_entry: one shelf entry (entry_id), fields title, creator, year, status, rating, notes, started, finished, private, image, field.. Every field is checked before anything is written. describe lists them all.
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": {
"target": "<target>",
"fields": "<fields>"
},
"name": "set"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| list | No | For target list: the list's name | |
| shelf | No | For target shelf: the shelf's name | |
| title | No | For target item: exact title in their library | |
| fields | Yes | {field: value}, e.g. {"status": "finished", "finished": "2026-03", "rating": 4.5} | |
| target | Yes | ||
| item_id | No | For target item: library item id (from query); preferred over title | |
| entry_id | No | For target shelf_entry: the entry's id (from me.shelf_entries) | |
| media_type | No | For target item |