What an assistant can do
An assistant connected to LibreTimes gets the tools below. They are written as tasks rather than as one wrapper per API endpoint, so an assistant spends its attention on your question instead of on a menu.
Nothing here takes anyone else's identity. There is no tool that names another person's account, and the writing tools take no account name at all – they act on yours because that is whose token they are holding.
Reading and searching
These need no permission. A connection that approved nothing can use all of them, and so can an assistant you have not signed in to at all.
| Tool | What it does |
|---|---|
search | Typo-tolerant search across works, people and organizations |
list_works | Browse works – texts hosted here and harvested journal articles and preprints in one list |
get_work | One work's full record: authors, venue, identifiers, abstract, licence, where the text is |
read_work | The text of a work hosted here, as Markdown with maths. Section by section, so a long book does not arrive in one piece |
get_work_citations | Walk the citation graph – what a work cites, and what cites it |
list_collections | Courses, reading lists and editorial picks |
get_collection | One course with its lectures in order |
get_profile | A public profile by its handle |
get_cv | An academic CV, grouped by section |
enums | The values the platform actually accepts, so an assistant stops guessing |
Checking references
This is the part worth connecting an assistant for. A language model asked for a citation will produce one that looks right, and looking right is the whole problem. These tools check against real records instead.
| Tool | What it does | Needs |
|---|---|---|
resolve_reference | Check up to 25 references against our index, Crossref and arXiv. For each one: does it exist, and is it the work claimed? | Sign-in |
export_citations | Export up to 50 works as CSL-JSON – what Zotero imports and Pandoc reads for --bibliography | Sign-in |
resolve_reference is deliberately strict about the difference between "this
DOI exists" and "this DOI is the paper you said it was". A real identifier under
an invented title comes back as a mismatch, not as verified, which is
exactly the failure mode you are trying to catch.
It needs you signed in because it falls through to Crossref and arXiv on a miss, and we are not willing to be an anonymous free proxy to them.
Your library and citations
Two different things with similar names. The library is what you saved to read. The citation library is your private bibliography – the one the Word and LibreOffice plugins cite from.
| Tool | What it does | Needs |
|---|---|---|
list_library | List what you saved, and your folders | Sign-in |
save_to_library | Save up to 50 works, optionally into a folder | library:write |
remove_from_library | Remove up to 50 saved works. The works themselves are untouched | library:write |
manage_library_folder | Create, rename and delete folders | library:write |
list_citations | List your citations; filter by folder, year or type | Sign-in |
save_citations | Copy up to 50 works from the index into your citation library | library:write |
organize_citations | Refile up to 50 citations: folder, tags, notes | library:write |
remove_citations | Delete up to 50 citations. This cannot be undone | library:write |
Citations are built from index records, never typed in freehand. That is what keeps a bibliography traceable to something real.
Writing
Everything here produces something private. Nothing here publishes.
| Tool | What it does | Needs |
|---|---|---|
create_draft | Write a text into your drafts – lecture notes, an article, a problem sheet | publications:write |
update_draft | Change one of your drafts. Only the fields passed are touched | publications:write |
upsert_course | Group published lectures into a course, in order. Created private | collections:write |
upsert_cv_entries | Add and update entries on your own CV | cv:write |
upload_attachment | Upload a file to attach to a draft or a CV entry | attachments:write |
Three of these are safe to run twice. create_draft, upsert_course and
upsert_cv_entries take an import key – your own label for the thing being
written – and a second run with the same key updates what the first run made
instead of creating a duplicate. If an assistant loses its place halfway through
importing a CV, telling it to start again is the right move.
upsert_course is careful with a course you have already opened up: it will add
and reorder lectures, but it leaves the title, description and categories alone,
because those are what you wrote.
Disclosing AI involvement
Every work carries an AI usage field – none, assisted, mostly_ai or
fully_ai – and create_draft and update_draft both take it.
Set it honestly. If an assistant wrote the text, the value is not none. It is
not a mark against the work; it is what lets a reader weigh what they are
reading, and it is what makes it possible for us to welcome assistants at all
rather than trying to detect them.
What is not here, and will not be
No tool publishes. No tool claims authorship of a work on your behalf. No tool comments, sends a message, follows an account or mentions anyone. No tool reads your reading history.
The first two are yours to do because they are assertions about you. The rest are left out because an assistant that can reach another person is an assistant that can be talked into reaching them by anyone whose text it happens to read.