search_papersLABSCO SUMMARY
Reads the PDF, not just the abstract.
Most bibliographic servers stop at metadata and leave you to open the paper yourself. Extracting the full text is the step that turns "find me papers about X" into "what does this paper's methodology section actually claim", and it is why the two heavier calls exist. The two transports matter for where it runs: stdio for a desktop client, SSE when the server lives in a container and something else connects to it.
What it is
An MCP server over the arXiv open-access preprint repository. It goes past metadata — the extraction call downloads the PDF and pulls out the text, so an assistant can work from what the paper says rather than from the abstract.
What you get
- Keyword search across arXiv, returning comprehensive summaries of the matches —
search_papers - Full detail for one paper from its arXiv ID —
get_paper_details - Download and text extraction from the paper's PDF, which is what makes section-level questions possible —
extract_paper_content - A generated summary over a paper's content —
analyze_paper
Requirements
No account and no key — arXiv is open access. Python 3.11 or higher. Install with uv pip install -e . from a clone. Transport is chosen with the TRANSPORT variable: stdio, where the client launches the server itself, or sse with HOST and PORT (8050 in the examples). The package is arxiv-mcp (version 0.1.0).
Setup effort
Build from source — git clone https://github.com/kelvingao/arxiv-mcp.git
USE CASES
Surveying recent work on a topic
Search by keyword and read the summaries of the matches before deciding which papers are worth opening.
Questioning a specific section of a paper
Extract the full text from the PDF by arXiv ID, then ask about the methodology or the results directly.
Getting the gist of a long paper fast
Run the analysis over the paper's content to get a summary you can decide against.
Checking a citation
Pull the paper's detail from its arXiv ID to confirm the title, authors and version being cited.
4 tools
Listed in project docs. Your client may show a different list.
get_paper_detailsextract_paper_contentanalyze_paperBEFORE YOU INSTALL
What to know first
Tools you get
4 tools named in the project's documentation.
Requires
- Python 3.11+
- uv
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/kelvingao/arxiv-mcp.git
cd arxiv-mcp
pip install uv
uv venv
uv pip install -e .
cp .env.example .envMCP Clients
Claude Desktop
{
"mcpServers": {
"arxiv": {
"command": "<YOUR_PATH_TO_ARXIV_MCP>/.venv/bin/python",
"args": [
"<YOUR_PATH_TO_ARXIV_MCP>/src/server.py"
],
"env": {
"TRANSPORT": "stdio"
}
}
}
}<YOUR_PATH_TO_ARXIV_MCP> is the full path of your clone. The README's example names src/main.py, but the server file in the repository is src/server.py.
Windsurf
In your clone, leave TRANSPORT=sse in .env and start the server with .venv/bin/python src/server.py; it listens on port 8050 from .env.
Then add this to Windsurf's MCP configuration:
{
"mcpServers": {
"arxiv": {
"serverUrl": "http://localhost:8050/sse"
}
}
}