Arxiv MCP Server
blazickjp/arxiv-mcp-server
A skill your agent uses when finding, comparing, reading, or monitoring arXiv papers, including requests for abstracts, citation graphs, original LaTeX, section-level technical details, or…
Unified academic paper search, citation chains, paper download (arXiv LaTeX/PDF, Sci-Hub), figure extraction from papers, LaTeX source reading, BibTeX fetching, web search, and browser automation…
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add Muuuun/luxas --skill search -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Muuuun/luxas search --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Muuuun/luxas.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/search .claude/skills/search && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "search" agent skill from https://github.com/Muuuun/luxas/tree/main/skills/search into .claude/skills/search/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "search", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Muuuun/luxas/tree/main/skills/searchType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Muuuun/luxas --skill search -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Muuuun/luxas search --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Muuuun/luxas.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/search .agents/skills/search && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "search" agent skill from https://github.com/Muuuun/luxas/tree/main/skills/search into .agents/skills/search/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "search", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Muuuun/luxas --skill search -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Muuuun/luxas search --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Muuuun/luxas.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/search .cursor/skills/search && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "search" agent skill from https://github.com/Muuuun/luxas/tree/main/skills/search into .cursor/skills/search/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "search", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Muuuun/luxas.git --path skills/search--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Muuuun/luxas --skill search -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Muuuun/luxas search --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Muuuun/luxas.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/search .gemini/skills/search && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "search" agent skill from https://github.com/Muuuun/luxas/tree/main/skills/search into .gemini/skills/search/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "search", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Muuuun/luxas searchInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Muuuun/luxas --skill search -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Muuuun/luxas.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/search .github/skills/search && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "search" agent skill from https://github.com/Muuuun/luxas/tree/main/skills/search into .github/skills/search/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "search", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Muuuun/luxas --skill search -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Muuuun/luxas search --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Muuuun/luxas.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/search .opencode/skills/search && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "search" agent skill from https://github.com/Muuuun/luxas/tree/main/skills/search into .opencode/skills/search/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "search", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
searchUnified academic paper search, citation chains, paper download (arXiv LaTeX/PDF, Sci-Hub), figure extraction from papers, LaTeX source reading, BibTeX fetching, web search, and browser automation…
Search is an agent skill from Muuuun/luxas. Unified academic paper search, citation chains, paper download (arXiv LaTeX/PDF, Sci-Hub), figure extraction from papers, LaTeX source reading, BibTeX fetching, web search, and browser automation for Cloudflare-protected sites (PRL, Science, Nature, Google Scholar).
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts (for example `scripts/setup.sh`). Compatibility notes: Requires Node.js 22+. Optional: browser-use CLI for browser automation. PyMuPDF and Pillow for figure extraction.
It sits in Research & Science, covering Academic paper search, Citation management and LaTeX. It works with LaTeX, arXiv and Cloudflare. The repository describes itself as: An autonomous research colleague — from a question to a compiled manuscript, while you sleep. The licence is MIT.
Read from SKILL.md and the folder at commit 9f77cef. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
Bash(search:*)Bash(browse:*)Bash(browser-use:*)Bash(extract-figures:*)From allowed-tools in the SKILL.md frontmatter.
Ships 7 files in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
bashghgitFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
journals.aps.orgFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
BRAVE_API_KEYGITHUB_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires Node.js 22+. Optional: browser-use CLI for browser automation. PyMuPDF and Pillow for figure extraction.
From compatibility in the SKILL.md frontmatter.
Search loads about 2.3k tokens when it runs. Until then it costs about 68 tokens; SKILL.md has 717 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found patterns that need a careful read before installing.
hes in headed mode with the user's real Chrome profile (cookies, fingerprint), so it bypasses Cloudflare and Google SchoAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from Muuuun/luxas at commit 9f77cef, republished under its MIT licence (© Muuuun). 717 words, ~2,346 tokens.
.claude/skills/search/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.All information gathering in one place. Two CLI tools:
scripts/search — paper search, citations, download, LaTeX source, BibTeX, web search, URL fetchscripts/browse — browser automation wrapper (uses browser-use with headed + Chrome profile defaults)bash scripts/setup.shscripts/search papers "Rydberg atom quantum gate"
scripts/search papers "topological insulators" --source openalex --count 20
scripts/search papers "diffusion models" --source arxiv --count 15
scripts/search papers "air pollution health effects" --source crossref --count 20
scripts/search papers "quantum error correction" --from-year 2024 --sort date --count 20
# Author-filtered search: use last name as an indexed field, not free text.
# At least one of <query> or --author is required; both together = AND.
scripts/search papers "" --author "Lukin" --from-year 2025 --sort date --count 20
scripts/search papers "neutral atom arrays" --author "Bluvstein" --count 15--source openalex--source arxiv--source crossref--author <LastName>: Filter by author last name. Maps to arXiv au:, OpenAlex raw_author_name.search, and CrossRef query.author — all indexed fields. Strongly preferred over putting the name in the free-text query, which treats the name as an unweighted keyword and routinely misses the target. Pair with --from-year for recent work by a specific researcher.--from-year YYYY: Only return papers published in YYYY or later.--sort relevance|date: Sort by relevance (default) or publication date (newest first).scripts/search citations W2057883617
scripts/search citations "10.1038/s41586-021-03819-2" --direction citations --limit 30
scripts/search citations 2301.07041 --direction referencesAccepts: OpenAlex ID (W...), DOI, or arXiv ID. --direction: citations (forward), references (backward), both (default).
scripts/search download --arxiv 2301.07041 --output data/papers
scripts/search download --doi "10.1038/s41586-021-03819-2" --output data/papers
scripts/search download --url "https://example.com/paper.pdf" --output data/papers--output: data/papers/Automatic reader dispatch (arXiv only). After a successful search download --arxiv <id>, a background reader is dispatched automatically. It reads the paper's main text + figure manifest and writes two things in a single pass: methodology coverage (A/B/C/D: what's computed, what's demo'd, what goes in figures, what rigor bar) into notes/methodology.md, AND a per-paper literature entry (keyed by cite_key) into notes/literature.md. You never need to launch the reader manually. If it silently misses a paper (hook race, manual drop, DOI download), the research snapshot will surface an <unprocessed_papers> reminder asking you to spawn_agent(agent="reader", ...) for the gap.
scripts/search source 2301.07041
scripts/search source 2301.07041 --papers-dir data/papers --max-chars 50000Downloads if not present, then returns concatenated .tex/.bib content. Much better than PDF for extracting equations, methods, citations.
scripts/search bib "10.1038/s41586-021-03819-2"
scripts/search bib "10.1038/s41586-021-03819-2" --save report/references.bibFetches BibTeX via doi.org content negotiation, falls back to CrossRef. --save appends to a .bib file (deduplicates by DOI).
scripts/search web "quantum error correction review 2024" --count 10Requires BRAVE_API_KEY env var.
# Repo search — find repositories by keyword
scripts/search github "quantum simulation" --count 10
scripts/search github "transformer inference" --from-year 2024 --sort date
# Code search — find code across public repos (via Sourcegraph)
scripts/search github "func NewRydbergHamiltonian" --code --count 5
scripts/search github "class QuantumCircuit" --code
# Read README — quick overview without cloning
scripts/search github qiskit/qiskit --readme
# Clone repo — shallow clone to local dir for deep analysis
scripts/search github qiskit/qiskit --clone --output /tmp--sort date. --from-year YYYY filters by creation date. Auth via GITHUB_TOKEN env var or gh auth token (optional, increases rate limit from 10 to 30 req/min).--code): Sourcegraph streaming API. Supports regex. Searches across most popular public repos. No auth needed.--readme): Fetches raw README markdown via GitHub API. Pass owner/repo as the query.--clone): git clone --depth 1 (latest snapshot only, no history). Default output: /tmp. Pass owner/repo as the query.scripts/search fetch "https://example.com/page"Strips HTML to plain text. For Cloudflare-protected sites, use scripts/browse instead.
Browser automation via browser-use. Always launches in headed mode with the user's real Chrome profile (cookies, fingerprint), so it bypasses Cloudflare and Google Scholar anti-bot.
The daemon persists across commands (~50ms latency after first open). Closed automatically when Luxas exits.
scripts/browse open "https://journals.aps.org/prl/"
scripts/browse state # clickable elements with indices
scripts/browse input 5 "Rydberg atom" # fill search box by index
scripts/browse click 7 # click element by index
scripts/browse eval "document.body.innerText" # extract full page text
scripts/browse close # shutdown (optional, auto-closed on exit)scripts/browse open "https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.117.073003"
# If cookie consent appears, click accept:
scripts/browse state # find the accept button index
scripts/browse click <accept_index>
# Extract content:
scripts/browse eval "document.querySelector('.abstract')?.innerText"
scripts/browse eval "document.querySelector('h3.title')?.innerText"scripts/extract-figures data/papers/2104.10350.pdf
scripts/extract-figures data/papers/2301.07041 # arXiv source dir
scripts/extract-figures data/papers/paper.pdf --output report/figures/extracted.tex for \includegraphics, copies original figure files (PDF/PNG/EPS). Best quality.manifest.json with figure metadata (filename, caption, page number).Use scripts/search first — it covers most academic needs without a browser:
| Need | Command |
|---|---|
| Find papers by keyword | search papers <query> |
| Chase citation chains | search citations <id> |
| Download paper (arXiv) | search download --arxiv <id> |
| Download paper (DOI/Sci-Hub) | search download --doi <doi> |
| Read LaTeX source | search source <arxivId> |
| Get BibTeX citation | search bib <doi> |
| General web search | search web <query> |
| Fetch unprotected URL | search fetch <url> |
| Extract figures from paper | extract-figures <paper-path> |
| Find GitHub repos | search github <query> |
| Search code across repos | search github <query> --code |
| Read repo README | search github owner/repo --readme |
| Clone repo for analysis | search github owner/repo --clone |
Use scripts/browse only when search cannot do the job — it launches a real browser which is heavier:
| Need | Command |
|---|---|
| Government reports, policy docs | browse open <url> → eval "document.body.innerText" |
| Non-academic web content (news, industry) | browse open <url> → state → interact |
| Cloudflare-blocked page (last resort) | browse open <url> → extract content |
| Interactive site requiring login/forms | browse open <url> → state → input/click |
Rule of thumb: search for papers, academic data, and GitHub repos/code; browse for everything else (government sites, general web, protected pages). Don't use browse for tasks that search can handle.
© Muuuun, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 7 other files (scripts) in skills/search of Muuuun/luxas.
Open the folder on GitHubat commit 9f77cef
Search next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Search this skillMuuuun/luxas | 1.2k | — | ~2.3k | Automated safety check: Warn | MIT | |
| Arxiv MCP Serverblazickjp/arxiv-mcp-server | 3.2k | — | ~353 | Automated safety check: Pass | Apache-2.0 | |
| Arxiv Paper Writerappautomaton/latex-arxiv-SKILL | 458 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Arxiv Paper Writeryunshenwuchuxun/latex-paper-skills | 266 | — | ~3.2k | Automated safety check: Pass | MIT | |
| Latex Paper ArtifactBingHanOfUESTC/open_agent_team | 106 | — | ~635 | Automated safety check: Pass | MIT | |
| Write Paperfrenzymath/Danus | 476 | — | ~18k | Automated safety check: Pass | Apache-2.0 |
blazickjp/arxiv-mcp-server
A skill your agent uses when finding, comparing, reading, or monitoring arXiv papers, including requests for abstracts, citation graphs, original LaTeX, section-level technical details, or…
appautomaton/latex-arxiv-SKILL
Write LaTeX ML/AI review articles for arXiv using the IEEEtran template and verified BibTeX citations.
yunshenwuchuxun/latex-paper-skills
Writes ML/AI review and survey papers for arXiv using the IEEEtran LaTeX template with verified BibTeX citations.
BingHanOfUESTC/open_agent_team
A skill your agent uses when producing the final arXiv-style LaTeX paper, BibTeX, figures, tables, reproducibility statement, appendix, and artifact manifest.
frenzymath/Danus
Turn a project's verified fact graph into a publishable LaTeX paper in a configurable house style — a standalone amsart .tex with a real bibliography, compiled to PDF.
Mathews-Tom/armory
Pre-submission validation audit for arXiv papers across TeX source, PDF, figures, metadata, bibliography, file organization, and common-error scans.
Muuuun/luxas
Hybrid figure pipeline (Nano Banana raster + rembg background removal + TikZ vector assembly).
Muuuun/luxas
Write domain-authentic review articles that synthesize rather than stack.
Muuuun/luxas
Venue-specific formatting requirements for academic journals and conferences across all disciplines.
Muuuun/luxas
Verifier-in-the-loop CONSTRUCTION of quantum error-correcting codes with transversal non-Clifford gates (CCZ/T).
Muuuun/luxas
Narrative discipline for research reports — article-type templates (empirical / feasibility / comparison / policy-zh) and the feedback revision protocol that keeps outline, prose, and figures…
Muuuun/luxas
Cross-project research memory. An agent skill from Muuuun/luxas.
Works with
Categories
Unified academic paper search, citation chains, paper download (arXiv LaTeX/PDF, Sci-Hub), figure extraction from papers, LaTeX source reading, BibTeX fetching, web search, and browser automation…. Search is an agent skill from Muuuun/luxas. Unified academic paper search, citation chains, paper download (arXiv LaTeX/PDF, Sci-Hub), figure extraction from papers, LaTeX source reading, BibTeX fetching, web search, and browser automation for Cloudflare-protected sites (PRL, Science, Nature, Google Scholar).
Search fits situations like: tasks that involve Academic paper search; tasks that involve Citation management; tasks that involve LaTeX.
Run `npx skills add Muuuun/luxas --skill search -a claude-code`. Or copy the skill folder (skills/search in Muuuun/luxas) into .claude/skills/search in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Muuuun/luxas --skill search -a codex`. Or copy the skill folder (skills/search in Muuuun/luxas) into .agents/skills/search in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Muuuun/luxas --skill search -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/search, .gemini/skills/search, .github/skills/search and .opencode/skills/search in your project.
Going by SKILL.md and its folder, Search needs a shell for the scripts in its folder, the command-line tools its instructions call (bash, gh and git) and credentials named BRAVE_API_KEY and GITHUB_TOKEN. Our summary lists: Node.js; A Bash shell; A credential in BRAVE_API_KEY; A credential in GITHUB_TOKEN. Its frontmatter pre-approves these tools: Bash(search:*), Bash(browse:*), Bash(browser-use:*), Bash(extract-figures:*). Compatibility (from SKILL.md): Requires Node.js 22+. Optional: browser-use CLI for browser automation. PyMuPDF and Pillow for figure extraction..
SKILL.md names 1 domain. In commands or code: journals.aps.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md flagged 1 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). Read the flagged lines before installing; the check is not a guarantee either way. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Search is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Search: Arxiv MCP Server (blazickjp/arxiv-mcp-server, 3.2k stars), Arxiv Paper Writer (appautomaton/latex-arxiv-SKILL, 458 stars), Arxiv Paper Writer (yunshenwuchuxun/latex-paper-skills, 266 stars) and Latex Paper Artifact (BingHanOfUESTC/open_agent_team, 106 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Muuuun (a GitHub user) maintains it in Muuuun/luxas, which has 1,170 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on September 6, 2026.
Source: Muuuun/luxas on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.