answer_pdf_queries
ChatGPTReturns raw filtered page content from one PDF as XML (<paper id="..."><page num="N">...</page>...</paper>). Takes a paper ID, a URL, or a title — naming a paper you have not located yet is fine, so there is no need to look up its URL first. To read multiple papers, issue multiple tool calls in parallel; they resolve as one search round. Every claim you take from the returned <page> text carries a citation tag built out of it. Each call returns the most relevant pages up to a fixed size, so extra queries about the same paper are nearly free — batch every question you have for that paper into one call rather than spending a second call on it. Supports arXiv, alphaXiv, and Semantic Scholar abstract pages.
create_folder
ChatGPTCreate a new custom folder in the user's library. Optionally nest it under parent_folder_id (from list_library). Returns the new folder_id.
delete_folder
ChatGPTDelete a folder and its paper memberships (the papers themselves are not deleted). The publications and private-papers folders cannot be deleted. Get folder_id from list_library.
discover_papers
ChatGPTDiscovers and ranks multiple candidate papers for a research topic. Use this for literature discovery, related work, broad topical coverage, or what is newest on a topic. Do not use it to locate one known paper — name that paper to a PDF tool directly. You get 2 searches per message, so cover every facet of the request in one broad call rather than spending them on several narrow ones.
find_researchers
ChatGPTThe first tool for researcher affiliations, organization rosters, who left an organization, career moves, and what researchers are doing now. It composes name or subject relevance, current affiliation or role, citation range, position history, and verified coauthorship. Never use this tool merely to resolve a name for another call; pass the name directly to that profile or relationship call. Advising and lab-membership questions are answered here: coauthored_with returns the joint-work record behind each candidate, and require_position_overlap narrows it to people who were at the same place at the same time. Position constraints bind to one LinkedIn experience row. Returns [SLUG=...] handles.
follow_researcher
ChatGPTFollow a researcher so their new papers reach the user's feed. Idempotent: following someone already followed changes nothing. Get the slug from find_researchers, get_researcher, or a /@<slug> profile URL.
get_for_you_feed
ChatGPTReturns the authenticated user's unfiltered For You first page in app order as {papers: [{universal_paper_id}]}. Includes link blogs; may be empty. No pagination or assistant quota charge.
get_hot_feed
ChatGPTReturns the app's unfiltered Hot first page over 30 Days in app order as {papers: [{universal_paper_id}]}. Includes link blogs; may be empty. No pagination or assistant quota charge.
get_paper_content
ChatGPTGet the content of an arXiv/alphaXiv paper as text. By default returns a structured AI-generated intermediate report (optimized for LLM consumption). If no report is available, automatically falls back to the full extracted text. Use the fullText option to skip the report and get the raw extracted text directly.
get_paper_notes
ChatGPTReads the user's own private notes on one paper: their freeform notes, and every passage they highlighted with the note attached to it. Each highlight says where it sits (a PDF page, the abstract, the AI overview as overview/<language>, or the blog post), the paper version, the user's chosen highlight color, and the date. Colors are the user's own system and can carry meaning, such as one color for disagreement. Use it whenever the user mentions their notes, highlights, or what they found important in a paper. The notes are the user's words, not the paper's.
get_researcher
ChatGPTGets compact profiles for one or many researchers. Pass full names or exact raw [SLUG=...] handles together in researchers; each name resolves to the best-matching indexed researcher, tolerating a misspelling. Never use get_researcher merely before get_researcher_papers; a larger or date-bounded paper question goes directly there. Current positions and up to five curated past positions are returned by default; request additional sections with include. Papers are independently opt-in for small profile context. For compact current-role enrichment of names extracted from a webpage, use resolve_researchers.
get_researcher_papers
ChatGPTPapers on alphaXiv for one or many researchers, grouped per researcher. Pass full names or exact raw [SLUG=...] handles together in researchers; each name resolves to the best-matching indexed researcher, tolerating a misspelling. Never call get_researcher or find_researchers first for one named person's papers. Sort 'recent' with published_after answers what-are-they-doing-now; 'cited' answers best-known work. Paper [ID=...] handles chain into the paper tools.
list_annotated_papers
ChatGPTLists the papers the user has written private notes or highlights on, most recently annotated first, 25 per page. Each row gives the paper id, title, highlight count, whether there are notes, and when it was last annotated. Use it to find which papers to read with get_paper_notes, for example when the user asks about their notes across papers or what they have been reading.
list_followed_researchers
ChatGPTList the researcher profiles the user follows, with each one's slug, name, current headline or affiliation, and citation count. Following a researcher surfaces their new papers in the user's alphaXiv feed. Pass a slug from here to get_researcher or get_researcher_papers for the full profile.
list_library
ChatGPTList the user's alphaXiv library: their folders (bookmark collections) with folder_id, name, type, parent_id, sharing_status, and paper_count. Set include_papers to also list papers per folder, each with its id, title, publication date, and whether it is a public arXiv paper or one the user uploaded themselves. Pass paper_ids_or_urls to check which folders already contain specific papers. The default folders 'default-to-read', 'default-reading', and 'default-completed' represent reading status; a paper may belong to any number of folders at once.
move_papers_between_folders
ChatGPTMove papers from a source folder to a destination folder in a single atomic operation: each paper is added to the destination and removed from the source. A paper already in the destination is reported as a duplicate and still removed from the source. Get folder ids from list_library.
read_files_from_github_repository
ChatGPTReads files or directories from a GitHub repository, including a paper's project website source. For owner.github.io sites, try owner/owner.github.io; for owner.github.io/project/, try owner/project first. These are candidates, not guaranteed source repositories. For project videos, read the webpage first. Inspect website source only when the page omits a playable URL for a needed demo; do not recheck assets the page already exposes. Look in HTML, components, and asset manifests. Special behaviors: 1. When path is '/', returns repository structure and the contents of top-level files. Large repositories may be limited to top-level entries. 2. When path points to a directory, returns a list of files and directories, with contents of readable files fetched in parallel. Omitted files include a reason and raw URL when available. 3. When path points to a file, returns its contents. Binary files are rejected with a raw URL; PDFs should be queried with answer_pdf_queries.
remove_papers_from_folder
ChatGPTRemove one or more papers from a single folder in the user's library. Only affects the given folder; the paper stays in any others. Get folder_id from list_library.
rename_folder
ChatGPTRename a custom folder. Only custom folders can be renamed, not the default reading-status or publications folders. Get folder_id from list_library.
resolve_researchers
ChatGPTTurns a list of people extracted from a webpage or other external source into current, citeable alphaXiv researcher entries. Use this once after reading a roster, team page, award list, or similar source, before repeating its possibly stale affiliations. Pass every person in one batch. Optional personal URLs and related researchers disambiguate names; related anchors are matching context, not proof of the source's claimed relationship.
save_papers_to_folder
ChatGPTAdd one or more papers (by arXiv id or alphaXiv/arXiv URL) to a folder in the user's library. Papers not yet in the database are fetched from arXiv. Omit folder_id to save to the 'Want to read' folder. Get folder_id from list_library. Adding is idempotent and never removes a paper from its other folders.
unfollow_researcher
ChatGPTStop following a researcher. Idempotent: unfollowing someone not followed changes nothing. Get the slug from list_followed_researchers.
agentic_paper_retrieval
Claudeanswer_pdf_queries
Claudeembedding_similarity_search
Claudefull_text_papers_search
Claudeget_paper_content
Clauderead_files_from_github
Claude