ares-mcp
Searches the arXiv repository for academic papers, supports arXiv ID lookups, and downloads open-access PDFs from arXiv.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ares-mcpSearch open-access papers on graph neural networks since 2022 and get BibTeX for the top hit."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ARES MCP
Local Model Context Protocol server for academic literature search and writing. It talks to open catalogs (OpenAlex, arXiv, Crossref), downloads open-access PDFs (PDF files only), extracts IMRaD sections on demand, and appends BibTeX — designed to run next to Cursor.
License: MIT. Contributions: CONTRIBUTING.md.
ARES does not bypass publisher paywalls. If no OA PDF exists, tools return
no_open_pdfinstead of scraping HTML.
This repository is a literature helper, not a PRISMA screening/audit workbench.
Tools
Tool | Purpose |
| Query OpenAlex + arXiv; |
| DOI or arXiv id → PDF only in |
| Crossref BibTeX → append |
| Heuristic IMRaD headings from a local PDF |
Typical agent flow: search (sort=cited_by for famous papers) → download an OA
hit → extract Abstract/Methods → get_bibtex.
Related MCP server: Scholar MCP Server
Requirements
Python 3.11+
uv recommended for
uvx
A .env file is not required. ARES picks a contact email for the
OpenAlex / Unpaywall polite pool in this order:
ares-mcp --mailto you@university.eduARES_MAILTOin the process environment (Cursormcp.jsonenvblock)Optional cwd
.env(ARES_MAILTO=...) — local checkouts onlygit config user.emailPlaceholder
ares-mcp@localhost(server still starts)
Install from PyPI (Cursor)
After publish:
{
"mcpServers": {
"ares": {
"command": "uvx",
"args": ["ares-mcp"]
}
}
}Optional identity (still no .env):
{
"mcpServers": {
"ares": {
"command": "uvx",
"args": ["ares-mcp", "--mailto", "you@university.edu"]
}
}
}Install (development)
git clone <this-repo>
cd AREsMCP
uv syncRun tests:
uv run pytest
uv run ruff check src testsLive API checks (optional):
uv run pytest -m integrationConfigure Cursor (local checkout)
Copy .cursor/mcp.json and replace the --project path
with your clone. Email is optional; git user.email is used when unset.
Recommended — uv run:
{
"mcpServers": {
"ares": {
"command": "uv",
"args": [
"run",
"--project",
"C:/Users/vitor/Documents/Projetos/AREsMCP",
"ares-mcp"
]
}
}
}venv Python:
{
"mcpServers": {
"ares": {
"command": "C:/Users/vitor/Documents/Projetos/AREsMCP/.venv/Scripts/python.exe",
"args": ["-m", "ares_mcp.server"]
}
}
}uvx from a local checkout (no PyPI publish required):
{
"mcpServers": {
"ares": {
"command": "uvx",
"args": ["--from", "C:/Users/vitor/Documents/Projetos/AREsMCP", "ares-mcp"]
}
}
}Reload MCP servers in Cursor, then ask: “Search open-access papers on graph neural networks since 2022.”
Inspector (outside Cursor):
uv run fastmcp dev src/ares_mcp/server.pyEnvironment
Variable / flag | Default | Meaning |
| git | Contact in User-Agent / OpenAlex |
|
| Metadata HTTP timeout |
|
| PDF download timeout |
|
| Max PDF size (~50 MiB) |
Writes are jailed to the server current working directory (the project Cursor opened). Path traversal is rejected.
API notes
OpenAlex:
GET /workswithsearch+filter. Abstracts are stored as inverted indexes and reconstructed locally. Download uses alllocationswith apdf_url, plus arXiv/PMC ids when present.Unpaywall:
GET /v2/{doi}for legal OA copies (preprints, accepted manuscripts, repositories). This is how many IEEE/Elsevier papers become downloadable without touching the paywall HTML.arXiv: Atom API at
export.arxiv.org. All hits are OA.Crossref: DOI content negotiation
Accept: application/x-bibtex.Identify your process with
--mailtoorARES_MAILTOwhen you can. Do not hammer the APIs; each tool call is a handful of requests with one retry on 429/5xx.
If every OA candidate 403s or returns HTML, the tool reports download_failed
or no_open_pdf. Pass an arXiv id when you know a preprint exists. ARES
will not scrape publisher HTML.
License alternative
MIT is the project license. Apache-2.0 may be considered later if a patent grant is required; discuss that in an issue before relicensing.
Status
MVP 0.1.0. Publish with uv build and uv publish (or Trusted Publisher on
GitHub Actions). After that, Cursor can run uvx ares-mcp with no .env.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables searching, downloading, and managing academic papers from arXiv.org through natural language interactions. Provides tools for paper discovery, PDF downloads, and local paper collection management.41MIT
- AlicenseAqualityCmaintenanceA local academic tool that enables searching across nine academic sources, downloading PDFs, and performing AI-powered analysis of research papers. It also supports generating citation networks and recommending papers based on local workspace code.795MIT
- FlicenseNot gradedqualityBmaintenanceA local academic research assistant that indexes PDFs into a searchable vector library and exposes MCP tools for semantic search, claim extraction, contradiction detection, and multi-step research synthesis.
- FlicenseNot gradedqualityDmaintenanceAggregates academic paper search from multiple databases (OpenAlex, Semantic Scholar, etc.) with PDF storage and full-text search capabilities.1
Related MCP Connectors
Search arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools.
Federated search of books and papers, BibTeX/RIS citations, open-access retrieval and reading.
Search and download academic papers from arXiv, PubMed, bioRxiv, medRxiv, Google Scholar, Semantic…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/benetche/ares-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server