MCP server for querying, retrieving, and reading arXiv papers
Project description
arxiv-query-mcp
An MCP (Model Context Protocol) server that gives AI assistants direct access to arXiv. Search papers, retrieve full metadata, browse categories, and read paper text.
Table of Contents
Features
- Search arXiv — Full query syntax support with title, author, abstract, and category filters
- Get paper metadata — Retrieve complete details for any paper by ID (abstract, authors, categories, DOI, links)
- Browse by category — List recent papers in specific subject areas (ML, AI, NLP, Computer Vision, etc.)
- Read paper text — Fetch HTML-rendered paper content or fallback to abstracts with links
- Flexible formatting — Response support for both markdown (human-readable) and JSON (programmatic)
- Pagination — Handle large result sets with configurable limits and offsets
Installation
Prerequisites
Python 3.11or later- Dependencies
mcp[cli]>=1.0.0,httpx>=0.27.0,pydantic>=2.0.0(see pyproject.toml) (project usesuvfor dependency management)
Install from PyPI
pip install arxiv-query-mcp
Build from Source
git clone https://github.com/LWaetzig/google-scholar-mcp.git
cd google-scholar-mcp
pip install -e .
Usage
- Detailed documentation about single tools can be found here
Integration with Claude Desktop
Add the server to your Claude Desktop configuration:
| Platform | Path |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
Add the arxiv entry under mcpServers, replacing the path with the absolute path to your clone:
{
"mcpServers": {
"arxiv": {
"command": "python",
"args": ["-m", "arxiv-query-mcp"]
}
}
}
Restart Claude Desktop. You should see the arxiv tools available in the tool picker.
Integration with Other MCP Clients
Any MCP client (e.g., Cline, Continue, or custom tools) can use this server. Configure the connection to:
Command: python -m arxiv-query-mcp.server
Transport: stdio
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature) - Commit your changes with clear messages
- Push to your fork
- Open a pull request
Support
For issues, questions, or feature requests, please open an issue on GitHub.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arxiv_query_mcp-1.0.0.tar.gz.
File metadata
- Download URL: arxiv_query_mcp-1.0.0.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8d1a033d63a3693a707eb61fe11835c7a05217b05b143d6f1ef732d4603b840
|
|
| MD5 |
97b8c2f489f65eae0bdcbac5e2dcfbf7
|
|
| BLAKE2b-256 |
6af92bb2c43d56f9afcc74a6af39e92e3ef445525a4cdddbd98ca8819ce8f63a
|
Provenance
The following attestation bundles were made for arxiv_query_mcp-1.0.0.tar.gz:
Publisher:
pypi-release.yml on LWaetzig/arxiv-query-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
arxiv_query_mcp-1.0.0.tar.gz -
Subject digest:
b8d1a033d63a3693a707eb61fe11835c7a05217b05b143d6f1ef732d4603b840 - Sigstore transparency entry: 1437071104
- Sigstore integration time:
-
Permalink:
LWaetzig/arxiv-query-mcp@98b584c516e17413b3ddbc3be538b9f0acea5a5b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/LWaetzig
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-release.yml@98b584c516e17413b3ddbc3be538b9f0acea5a5b -
Trigger Event:
push
-
Statement type:
File details
Details for the file arxiv_query_mcp-1.0.0-py3-none-any.whl.
File metadata
- Download URL: arxiv_query_mcp-1.0.0-py3-none-any.whl
- Upload date:
- Size: 13.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b148d67b5a6625faa75dddd1b681ae6ef38a1735ca85f0372ec53abb94f4c504
|
|
| MD5 |
bf523a4927435f71dc31753ec575faec
|
|
| BLAKE2b-256 |
5d8c9e10bd1d05513261bd297e4073ec4a9c9cd42349606456039bc978a58fe9
|
Provenance
The following attestation bundles were made for arxiv_query_mcp-1.0.0-py3-none-any.whl:
Publisher:
pypi-release.yml on LWaetzig/arxiv-query-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
arxiv_query_mcp-1.0.0-py3-none-any.whl -
Subject digest:
b148d67b5a6625faa75dddd1b681ae6ef38a1735ca85f0372ec53abb94f4c504 - Sigstore transparency entry: 1437071110
- Sigstore integration time:
-
Permalink:
LWaetzig/arxiv-query-mcp@98b584c516e17413b3ddbc3be538b9f0acea5a5b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/LWaetzig
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-release.yml@98b584c516e17413b3ddbc3be538b9f0acea5a5b -
Trigger Event:
push
-
Statement type: