Reported issues for arxiv-mcp-server
Pod holds 24 of 48 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.
Back to arxiv-mcp-server.
Most discussed
An executable named arxiv-mcp-server is not provided by package arxiv-mcp-server
I'm using cherry studio to use this mcp server, with config in README:
then i face error log below:
[2025-06-10 01:12:31.864] [info] [MCP] Starting server with command: /Users/kevinello/.cherrystudio/bin/uv tool run arxiv-mcp-server --storage-path /Users/kevinello/Downloads/paper
[2025-06-10 01:12:31.881] [info] [MCP] Stdio stderr for server: arxiv-mcp-server warning: An executable named `arxiv-mcp
[Read the thread](https://github.com/blazickjp/arxiv-mcp-server/issues/35) · 2025-06-09 · closed · external user · 10 comments
### I have encountered some issues
i hace used uv to install this MCP,but when i configuration cline, I have encountered some issues


[Read the thread](https://github.com/blazickjp/arxiv-mcp-server/issues/27) · 2025-04-15 · closed · external user · 5 comments
### chatwise mcp client doesn't work
The config I set in chatwise:

How should I solve this?
Thanks in advance.
[Read the thread](https://github.com/blazickjp/arxiv-mcp-server/issues/25) · 2025-04-09 · closed · external user · 7 comments
### MCP error connection closed
I am using cherry studio as my MCP client, and when adding arxiv-mcp-server it shows the error below


[Read the thread](https://github.com/blazickjp/arxiv-mcp-server/issues/20) · 2025-03-31 · closed · external user · 11 comments
### response": { "content": [ { "type": "text", "text": "{\"status\": \"error\", \"message\": \"Error reading paper: 'gbk' codec can't decode byte 0x94 in position 874: illegal multibyte sequence\"}"
这是什么问题

[Read the thread](https://github.com/blazickjp/arxiv-mcp-server/issues/17) · 2025-03-23 · closed · external user · 6 comments
### Server disconnected error
My configuration is as follows:
System: macOS 15.3.2
Claude Desktop 0.8.1 (mac version)
I got other MCP servers running fine: 'brave-search', 'filesystem', etc.
I have followed the 'npx' installation instructions:
`npx -y @smithery/cli install arxiv-mcp-server --client claude`
This automatically creates this entry in the `claude_desktop_config.json` file, similar to other MCP servers I use through npx:
"arxiv-mcp-server": {
"command": "npx",
"args": [
"-y",
Read the thread · 2025-03-22 · closed · external user · 8 comments
Always returns zero results
Always returns zero results:
{"name":"arxiv-mcp-server__search_papers","arguments":{"categories":["econ","q-fin"],"max_results":1,"query":"investments"}}}}]}
{"role":"user","created":1741522755,"content":[{"type":"toolResponse","id":"VBJtcGsr","toolResult":{"status":"success","value":[{"type":"text","text":"{\n \"total_results\": 0,\n \"papers\": []\n}"}]}}]}
I tried other queries too. Other extensions (like brave api search) works. I use this server in conjunction with https://g
Read the thread · 2025-03-09 · closed · external user · 5 comments
Claude for Desktop fails to load arxiv-mcp-server
I installed it using smithery:
npx -y @smithery/cli install arxiv-mcp-server --client claude
When Claude launched again I had the read error warning in the top right.
arxiv-mcp-server is added added last in my list of servers in my Claude settings json:
"arxiv-mcp-server": {
"command": "uv",
"args": [
"run",
"arxiv-mcp-server",
"--storage-path",
"~/.arxiv-mcp-server/papers"
[Read the thread](https://github.com/blazickjp/arxiv-mcp-server/issues/7) · 2025-01-04 · closed · external user · 6 comments
## Most recent
### search_papers permanently hangs after a hanging connection
**Package version & install**: arxiv-mcp-server 0.6.3, installed via `uvx` (uv)
**OS / Python**: Ubuntu 24.04 / Python 3.12.12
**MCP client & transport**: DeepSeek Harness (DSH), stdio transport
**Symptoms**
- A `search_papers` call occasionally returns `MCP error -32001: Request timed out` after the client's 60s tool-call timeout.
- After that, *every* arXiv tool call times out the same way. The server process stays alive but no search ever returns.
- Temporary recovery: killing the server pro
[Read the thread](https://github.com/blazickjp/arxiv-mcp-server/issues/155) · 2026-08-17 · closed · outside contributor · 0 comments
### [FEATURE]: Add readiness endpoint
The mcp server has some delay during startup, which is no issue locally, but i want to deploy it to cloud and it is not communicating readiness.
I want to add a /health /healthz and/or /ready endpoint which signifies that the server is ready receive requests. I would contribute this feature myself if desired. Otherwise this small change would be a great help to deploying this nice MCP!
[Read the thread](https://github.com/blazickjp/arxiv-mcp-server/issues/151) · 2026-08-14 · closed · external user · 3 comments
### MCP 2026-07-28: non-deterministic tools/list order, no server/discover, missing cache hints
Hi — I maintain [mcp-migrate](https://github.com/dheerajjha/mcp-migrate), a checker for what the MCP **2026-07-28** spec revision breaks in existing servers. I ran it against this repo and wanted to hand you the results directly. **Three findings, all advisory, nothing breaking.** Close this freely if it isn't useful.
Checked at `8f79e88`:
Grade B (91/100) 0 breaking, 0 deprecated, 3 advisory
### 1. `tools/list` returns a non-deterministic order — `src/arxiv_mcp_server/server.py:74`
[Read the thread](https://github.com/blazickjp/arxiv-mcp-server/issues/149) · 2026-08-07 · open · external user · 1 comment
### Feature: make the semantic_search embedding model configurable (currently hardcoded all-MiniLM-L6-v2)
### Summary
`semantic_search` embeds with a hardcoded model — `EMBEDDING_MODEL_NAME = "sentence-transformers/all-MiniLM-L6-v2"` (`src/arxiv_mcp_server/tools/semantic_search.py:32`) — with no environment/config override. MiniLM-L6-v2 (2021, 384-dim) trails current small embedding models by a wide margin on retrieval benchmarks, and deployments that standardize on a different embedder (e.g. a local TEI endpoint) cannot align this tool's index with the rest of their stack.
### Proposal
Read the
[Read the thread](https://github.com/blazickjp/arxiv-mcp-server/issues/147) · 2026-08-03 · open · external user · 1 comment
### mcp 2.0.0 breaks imports: FastMCP renamed to MCPServer, module moved
## Problem
`arxiv-mcp-server` v0.6.1 crashes at import time with `mcp >= 2.0.0`:
ModuleNotFoundError: No module named 'mcp.server.fastmcp'
The server uses `from mcp.server.fastmcp import FastMCP` which no longer exists in mcp 2.0.0.
## Root Cause
The `mcp` package (modelcontextprotocol/python-sdk) released v2.0.0, which renamed `FastMCP` to `MCPServer` and moved the entire module:
- **v1:** `from mcp.server.fastmcp import FastMCP`
- **v2:** `from mcp.server.mcpserver import MCPServ
[Read the thread](https://github.com/blazickjp/arxiv-mcp-server/issues/144) · 2026-07-28 · closed · external user · 0 comments
### Path traversal in `download_paper` allows arbitrary out-of-bounds Markdown file read
## Summary
`download_paper` allows path traversal via `paper_id`. This tool treats `paper_id` as an unconstrained string, builds `STORAGE_PATH / f"{paper_id}.md"`, and on cache hit returns the file content directly. As a result, a value such as `../outside-secret` can make the server read and return a Markdown file outside the intended paper cache directory.
## To reproduce
Start the server with a dedicated storage path such as `/tmp/manual_arxiv_h425u0ls/papers`, then create a sibling file o
[Read the thread](https://github.com/blazickjp/arxiv-mcp-server/issues/118) · 2026-06-29 · closed · external user · 1 comment
### PDF download broken: arxiv Python package v4.0.0 removed `Result.download_pdf()`
## Bug description
`download_paper()` fails for papers without HTML versions (older papers that require PDF fallback):
Error: 'Result' object has no attribute 'download_pdf'
## Root cause
`arxiv` Python package v4.0.0 removed `download_pdf()` from the `Result` class. The method no longer exists:
```python
>>> from arxiv import Result
>>> [m for m in dir(Result) if "pdf" in m.lower()]
[_'get_pdf_url'] # only internal method, no download_pdf
The arxiv-mcp-server code calls `pa
Read the thread · 2026-06-17 · closed · external user · 1 comment
Can you track which users are searching arXiv through your MCP server?
@blazickjp, love the arxiv-mcp-server. I use it daily through Claude to search papers.
Something I noticed: since this is a public MCP server, anyone with the URL can connect and start searching. Do you have rate limiting or user tracking in place? For example, could you tell how many unique users are hitting your server today?
I've been working on identity middleware specifically for MCP servers — each tool call gets tagged with the caller's name and ID without them needing to register or log
Read the thread · 2026-06-09 · closed · external user · 1 comment
Close tool schemas and align package metadata for MCP clients
Hi @blazickjp,
While testing MCP server quality checks, I found two small metadata/schema items that would make arxiv-mcp-server easier for MCP clients and CI tools to validate.
1. Tool schemas are not closed
The dynamic tools/list output shows tool input schemas without additionalProperties: false. For example, search_papers has typed properties and required fields, but extra unexpected arguments are not explicitly rejected at the schema level.
Reproduction:
ARXIV_STORAG
[Read the thread](https://github.com/blazickjp/arxiv-mcp-server/issues/103) · 2026-05-12 · closed · external user · 0 comments
### PDF fallback: download sometimes fails with incomplete HTTP body (retrieval incomplete)
## What’s wrong
When `download_paper` falls back to PDF (no HTML available), the download step can fail with an error like:
`urlopen error retrieval incomplete: got only <partial> out of <total> bytes`
So the PDF is not fully retrieved and the pipeline cannot complete reliably. It seems more likely on **larger** PDFs.
## How to reproduce
1. Install `arxiv-mcp-server` with the `[pdf]` extra.
2. Call `download_paper` for a paper that **does not** use the HTML path (PDF fallback only).
3. Retr
[Read the thread](https://github.com/blazickjp/arxiv-mcp-server/issues/98) · 2026-04-30 · closed · outside contributor · 1 comment
### Unable to Locate Python 3.12
macOS 26.5.0
Using `brew` as a package manager. I have `python@3.12` installed on the system.
Installed via `pnpm add -g arxiv-mcp-server`.
What I've tried:
1. Go to the package install root and execute `poetry install`.
2. Use `python` and `python3` as aliases for `python3.12`.
The `poetry` install was successful (I've done it once, so noting were installed.)
$ poetry install The currently activated Python version 3.14.4 is not supported by the project (>=3.11,<3.13). Trying to find and
Read the thread · 2026-04-30 · closed · external user · 1 comment
papers are being truncated on download.
papers are being truncated on download.
You
fetch 2505.13525 again and see if it gets truncated
gemma-4-e4b-it
get_abstract
mcp/arxiv-mcp-server
The abstract for paper 2505.13525 was successfully fetched and does not appear to be truncated in the response provided by the tool.
If you would like to see the full content of the paper, please let me know, and I can attempt to download it using download_paper.
You
yes
gemma-4-e4b-it
download_paper
mcp/arxiv-mcp-server
The full te
Read the thread · 2026-04-27 · closed · external user · 0 comments
get_abstract: returns error content but isError flag not set for invalid paper IDs
get_abstract with an invalid paper ID (e.g., 0000.00000) returns a response with {"status": "error", "message": "Paper 0000.00000 not found on arXiv"} in the content body, but the MCP isError flag is not set to true.
To reproduce:
{"paper_id": "0000.00000"}
Expected: isError: true so MCP clients know the call failed.
Actual: isError: false (or unset) with error content in the body. The response looks like a success to any agent checking the isError fla
Read the thread · 2026-04-25 · closed · external user · 0 comments
Add tools to load LaTeX source only
There is another arxiv mcp project which currently only offers to load LaTeX source for a given Arxiv ID: https://github.com/takashiishida/arxiv-latex-mcp/blob/main/arxiv_latex_mcp/server.py
Instead of downloading and converting to markdown, this seems much faster, more light weight, and more efficient with respect to LLMs.
Also this will be way more accurate with respect to math etc. than what ever we get after markdown conversion.
It would be nice if this project could also integrate some t
Read the thread · 2026-04-24 · closed · outside contributor · 1 comment
Bundle as .mcpb file for easy org wide Claude Desktop integration
A .mcpb file can be used to roll out an MCP server like this to all users in an organization via Claude Desktop. This is very helpful to provide such an MCP server to non-technical users as the installation is then done by Claude Desktop.
This could be auto build and the .mcpb file uploaded as release artifact.
Here a similar project providing such a file: https://github.com/t
Read the thread · 2026-04-24 · closed · outside contributor · 1 comment
Security Advisory: Prompt Injection Risk via arXiv Paper Content
Summary
arxiv-mcp-server loads paper abstracts and full texts from arXiv directly into the LLM context. Since anyone can publish papers on arXiv, attacker-crafted papers containing prompt injection payloads in abstracts, body text, or references can hijack the AI assistant's behavior.
Attack Vector
- Attacker publishes a paper on arXiv with prompt injection hidden in the abstract, body text, footnotes, or bibliography
- Researcher's AI assistant searches/reads the paper via arxiv-
Read the thread · 2026-03-25 · closed · external user · 3 comments
The remaining reports are on the project's issue tracker.