Skip to main content
Glama

๐Ÿง  arxiv-daily-mcp

A Model Context Protocol (MCP) server that wraps an arXiv CLI workflow. Search arXiv in ๐Ÿ‡ฐ๐Ÿ‡ท Korean, ๐Ÿ‡จ๐Ÿ‡ณ Chinese, ๐Ÿ‡ฏ๐Ÿ‡ต Japanese, or ๐Ÿ‡บ๐Ÿ‡ธ English โ€” and save findings to a local Markdown vault.

MIT License Python 3.10+ MCP GitHub stars

๐ŸŒ Read in your language: English ยท ํ•œ๊ตญ์–ด ยท ไธญๆ–‡ ยท ๆ—ฅๆœฌ่ชž ยท Espaรฑol ยท Franรงais ยท เคนเคฟเคจเฅเคฆเฅ€ ยท ุงู„ุนุฑุจูŠุฉ

๐Ÿš€ Quickstart ยท ๐Ÿ›  Tools ยท ๐ŸŽฌ Demo ยท ๐Ÿ†š vs other arXiv MCPs ยท ๐Ÿ— Architecture ยท ๐Ÿงช Development ยท ๐ŸŒ Multilingual


โœจ What this is

A simple MCP server that exposes a useful arXiv workflow as LLM-callable tools. The core idea:

Take a CLI script that you already run every day, and wrap it in MCP so you can invoke it with natural language from any MCP client.

If you've ever found yourself typing the same curl / python / arxiv query into a terminal every morning โ€” this is what that looks like as an MCP tool.

Related MCP server: arxiv-search MCP Server

๐Ÿ›  Tools (4)

Tool

Args

Description

Example prompt

get_today_papers

category, max_results

Today's AI / business papers

"์˜ค๋Š˜ AI ๋…ผ๋ฌธ ์•Œ๋ ค์ค˜"

search_papers

keyword, max_results

Multilingual keyword search

"์—์ด์ „ํŠธ ๊ด€๋ จ ๋…ผ๋ฌธ" / "ๆ™บ่ƒฝไฝ“ ่ฎบๆ–‡" / "ใ‚จใƒผใ‚ธใ‚งใƒณใƒˆ ่ซ–ๆ–‡"

save_paper_note

arxiv_id, note

Save a paper to local .md vault

"์ด๊ฑฐ ๋ฉ”๋ชจํ•ด์ค˜"

list_my_notes

keyword, limit

Search / list saved notes

"๋‚ด ๋ฉ”๋ชจ ๋ณด์—ฌ์ค˜"

get_today_papers(category, max_results=5)

  • category: "ai" (cs.AI+cs.CL+cs.LG) ยท "business" (econ.GN+q-fin) ยท "all" (์ „์ฒด)

  • Returns: Markdown card-news list of today's submissions

search_papers(keyword, max_results=5)

  • keyword: any text in ๐Ÿ‡ฐ๐Ÿ‡ท Korean, ๐Ÿ‡จ๐Ÿ‡ณ Chinese, ๐Ÿ‡ฏ๐Ÿ‡ต Japanese, or ๐Ÿ‡บ๐Ÿ‡ธ English

  • Auto-translates non-English keywords to English for arXiv search

  • Returns: Markdown card-news of results, with translation note

save_paper_note(arxiv_id, note="")

  • arxiv_id: "2507.01234" or full URL https://arxiv.org/abs/2507.01234

  • note: your commentary (optional)

  • Returns: path to saved file (default: ~/memos/YYYY-MM-DD_arxiv_<id>.md)

list_my_notes(keyword="", limit=10)

  • keyword: filter by title / content (optional)

  • Returns: list of recently saved note files

๐Ÿš€ Quickstart

Install

pip install arxiv-daily-mcp

Or from source:

git clone https://github.com/nerin81-netizen/arxiv-daily-mcp
cd arxiv-daily-mcp
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"

Register with your MCP client

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "arxiv-daily": {
      "command": "arxiv-daily-mcp"
    }
  }
}

Cursor / Cline

.cursor/mcp.json or workspace settings:

{
  "mcpServers": {
    "arxiv-daily": {
      "command": "arxiv-daily-mcp"
    }
  }
}

Any MCP-compatible client

This server uses the standard stdio transport and exposes 4 tools via JSON-RPC โ€” it works with any client that follows the MCP spec.

๐ŸŽฌ Demo

Korean keyword (auto-translated to English)

๐Ÿ‘ค ์—์ด์ „ํŠธ ๊ด€๋ จ ๋…ผ๋ฌธ ์ฐพ์•„์ค˜

๐Ÿค– Claude:
๐Ÿ” '์—์ด์ „ํŠธ' ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ โ€” ๐Ÿ‡ฐ๐Ÿ‡ท ํ•œ๊ตญ์–ด โ†’ ์˜์–ด: 'agent' (5ํŽธ)

1. **Distributed Attacks in Persistent-State AI Control**
   ๐Ÿ‘ฅ Josh Hills, Ida Caspary, Asa Cooper Stickland
   ๐Ÿ“… 2026-07-02 | ๐Ÿท๏ธ cs.AI
   ๐Ÿ”— https://arxiv.org/abs/2607.02514v1

Chinese keyword

๐Ÿ‘ค ๆ™บ่ƒฝไฝ“ ็›ธๅ…ณ่ฎบๆ–‡

๐Ÿค– Claude:
๐Ÿ” 'ๆ™บ่ƒฝไฝ“' ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ โ€” ๐Ÿ‡จ๐Ÿ‡ณ ไธญๆ–‡ โ†’ ์˜์–ด: 'agent' (5ํŽธ)

Japanese keyword

๐Ÿ‘ค ใ‚จใƒผใ‚ธใ‚งใƒณใƒˆ ่ซ–ๆ–‡ใ‚’ๆŽขใ—ใฆ

๐Ÿค– Claude:
๐Ÿ” 'ใ‚จใƒผใ‚ธใ‚งใƒณใƒˆ' ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ โ€” ๐Ÿ‡ฏ๐Ÿ‡ต ๆ—ฅๆœฌ่ชž โ†’ ์˜์–ด: 'agent' (5ํŽธ)

Save + retrieve

๐Ÿ‘ค ์ฒซ ๋ฒˆ์งธ ๋…ผ๋ฌธ ๋ฉ”๋ชจํ•ด์ค˜ โ€” ๋ฉ€ํ‹ฐ์—์ด์ „ํŠธ ๋ณด์•ˆ ํฅ๋ฏธ๋กญ๋‹ค

๐Ÿค– Claude:
โœ… ์ €์žฅ ์™„๋ฃŒ: `~/memos/2026-07-06_arxiv_2607.02514.md`

๐Ÿ‘ค ๋‚ด ๋ฉ”๋ชจ ๋ณด์—ฌ์ค˜

๐Ÿค– Claude:
๐Ÿ“š ๋‚ด arXiv ๋…ธํŠธ (1๊ฐœ)
  ยท `2026-07-06_arxiv_2607.02514.md` โ€” Distributed Attacks in Persistent-State AI Control

๐Ÿ†š How it differs from existing arXiv MCPs

GitHub has 466+ arXiv MCP repositories (as of 2026-07-05). The most popular, blazickjp/arxiv-mcp-server, is excellent โ€” but built for a different audience.

blazickjp/arxiv-mcp-server โญ 2,933

mcp-simple-arxiv โญ 198

arxiv-daily-mcp (this)

Keyword languages

๐Ÿ‡บ๐Ÿ‡ธ English only

๐Ÿ‡บ๐Ÿ‡ธ English only

๐Ÿ‡ฐ๐Ÿ‡ท๐Ÿ‡จ๐Ÿ‡ณ๐Ÿ‡ฏ๐Ÿ‡ต๐Ÿ‡บ๐Ÿ‡ธ 4 languages

Output format

JSON / raw data

Text only

Markdown card-news (emoji + bullets)

Note archive

โŒ

โŒ

โœ… Local .md vault

Note search

โŒ

โŒ

โœ… list_my_notes(keyword=โ€ฆ)

Status

Maintained

Maintained

Active (v0.1.0)

Three reasons it can coexist

  1. Different language audience. The 2,933-star leader is English-only. This server is designed for non-English researchers first.

  2. Different output shape. The leader returns raw JSON / data tables. This server returns card-news Markdown โ€” readable directly inside any chat UI.

  3. Different workflow. The leader is search-and-read. This server includes archival: save a paper to your local Markdown vault with one sentence, then list_my_notes to recall it later.

๐ŸŒ Multilingual keywords

The translation dictionary ships with the package โ€” no API call, no latency, no rate limit.

Language

Keywords

๐Ÿ‡ฐ๐Ÿ‡ท Korean (28)

์—์ด์ „ํŠธ, ์ธ๊ณต์ง€๋Šฅ, ๋จธ์‹ ๋Ÿฌ๋‹, ๋”ฅ๋Ÿฌ๋‹, ์ž์—ฐ์–ด์ฒ˜๋ฆฌ, ์ปดํ“จํ„ฐ๋น„์ „, ๊ฐ•ํ™”ํ•™์Šต, ์ƒ์„ฑํ˜•, ๋ณ€์••๊ธฐ, ํ™•์‚ฐ๋ชจ๋ธ, ๊ฒ€์ƒ‰์ฆ๊ฐ•, ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ, ๋กœ๋ณดํ‹ฑ์Šค, ์ถ”์ฒœ์‹œ์Šคํ…œ, ๊ทธ๋ž˜ํ”„์‹ ๊ฒฝ๋ง, ํŒŒ์šด๋ฐ์ด์…˜๋ชจ๋ธ, ๊ฑฐ๋Œ€์–ธ์–ด๋ชจ๋ธ, ํ”„๋กฌํ”„ํŠธ, ๋ฏธ์„ธ์กฐ์ •, ์ •๋ ฌ, ์•ˆ์ „์„ฑ, ํ™˜๊ฐ, ์ถ”๋ก , ๊ณ„ํš, ๋„๊ตฌ์‚ฌ์šฉ, ๋ฉ”๋ชจ๋ฆฌ, ์ฒด์ธ, โ€ฆ

๐Ÿ‡จ๐Ÿ‡ณ Chinese (23)

ๆ™บ่ƒฝไฝ“, ไบบๅทฅๆ™บ่ƒฝ, ๆœบๅ™จๅญฆไน , ๆทฑๅบฆๅญฆไน , ่‡ช็„ถ่ฏญ่จ€ๅค„็†, ่ฎก็ฎ—ๆœบ่ง†่ง‰, ๅผบๅŒ–ๅญฆไน , ็”Ÿๆˆๅผ, ๅ˜ๅŽ‹ๅ™จ, ๆ‰ฉๆ•ฃๆจกๅž‹, ๅคšๆจกๆ€, ๆœบๅ™จไบบ, ๆŽจ่็ณป็ปŸ, ๅ›พ็ฅž็ป็ฝ‘็ปœ, ๅŸบ็ก€ๆจกๅž‹, ๅคง่ฏญ่จ€ๆจกๅž‹, ๆ็คบ, ๅพฎ่ฐƒ, ๅฏน้ฝ, ๆŽจ็†, ๅทฅๅ…ทไฝฟ็”จ, ้“พ, ไปฃ็†

๐Ÿ‡ฏ๐Ÿ‡ต Japanese (24)

ใ‚จใƒผใ‚ธใ‚งใƒณใƒˆ, ไบบๅทฅ็Ÿฅ่ƒฝ, ๆฉŸๆขฐๅญฆ็ฟ’, ๆทฑๅฑคๅญฆ็ฟ’, ่‡ช็„ถ่จ€่ชžๅ‡ฆ็†, ใ‚ณใƒณใƒ”ใƒฅใƒผใ‚ฟใƒ“ใ‚ธใƒงใƒณ, ๅผทๅŒ–ๅญฆ็ฟ’, ็”Ÿๆˆ, ๅค‰ๅœงๅ™จ, ๆ‹กๆ•ฃใƒขใƒ‡ใƒซ, ๆคœ็ดขๆ‹กๅผต, ใƒžใƒซใƒใƒขใƒผใƒ€ใƒซ, ใƒญใƒœใƒƒใƒˆ, ๆŽจ่–ฆใ‚ทใ‚นใƒ†ใƒ , ใ‚ฐใƒฉใƒ•ใƒ‹ใƒฅใƒผใƒฉใƒซใƒใƒƒใƒˆใƒฏใƒผใ‚ฏ, ๅŸบ็›คใƒขใƒ‡ใƒซ, ๅคง่ฆๆจก่จ€่ชžใƒขใƒ‡ใƒซ, ใƒ—ใƒญใƒณใƒ—ใƒˆ, ๅพฎ่ชฟๆ•ด, ใ‚ขใƒฉใ‚คใƒกใƒณใƒˆ, ๆŽจ่ซ–, ่จˆ็”ป, ใƒ„ใƒผใƒซไฝฟ็”จ, ่จ˜ๆ†ถ, ๅนป่ฆš

Detection algorithm:

  1. If the input contains Hangul (๊ฐ€-ํžฃ) โ†’ Korean lookup

  2. Else if it contains Kana (ใ-ใƒฟ) โ†’ Japanese lookup

  3. Else if it contains CJK ideographs (ไธ€-้ฟฟ) โ†’ Chinese lookup

  4. Else โ†’ English (passed through unchanged)

Unknown keywords are passed through as-is โ€” so a partial match still searches arXiv directly.

๐Ÿ— Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      stdio/JSON-RPC      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  LLM Client     โ”‚ โ—€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ถ โ”‚  arxiv-daily-mcp     โ”‚
โ”‚  (Claude/Cursor) โ”‚                          โ”‚  (FastMCP server)    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                                        โ”‚ urllib
                                                        โ–ผ
                                                 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                                                 โ”‚  arXiv API   โ”‚
                                                 โ”‚  export.arxivโ”‚
                                                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                                        โ”‚
                                                        โ–ผ (save_paper_note)
                                                 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                                                 โ”‚  ./memos/    โ”‚
                                                 โ”‚  *.md vault  โ”‚
                                                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Key design choices:

  • stdio transport โ€” MCP standard

  • FastMCP โ€” Anthropic's official Python SDK

  • urllib only โ€” zero external HTTP dependencies (works in any minimal Python environment)

  • In-process translation dictionary โ€” no LLM call, no rate limit, no per-keyword latency

  • Configurable MEMO_DIR โ€” set via env var for Docker / multi-user setups

๐Ÿงช Development

# Install dev dependencies
pip install -e ".[dev]"

# Run MCP Inspector (browser UI)
npx @modelcontextprotocol/inspector arxiv-daily-mcp

# Test stdio JSON-RPC directly
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | arxiv-daily-mcp

Unit test the translation layer

from arxiv_daily_mcp.server import _translate_keyword

assert _translate_keyword("์—์ด์ „ํŠธ") == ("agent", "ko")
assert _translate_keyword("ๆ™บ่ƒฝไฝ“") == ("agent", "zh")
assert _translate_keyword("ใ‚จใƒผใ‚ธใ‚งใƒณใƒˆ") == ("agent", "ja")
assert _translate_keyword("agent") == ("agent", "en")

๐ŸŒ Roadmap

  • v0.1.0 โ€” 4 tools, stdio, multilingual (75 keywords)

  • v0.2.0 โ€” weekly_summary tool (Friday digest)

  • v0.3.0 โ€” More categories (cs.RO, cs.CV, q-fin.ST)

  • v0.4.0 โ€” PyPI release

  • v1.0.0 โ€” HTTP transport (remote access)

  • v1.1.0 โ€” More languages (Spanish, French, German, Hindi)

  • v2.0.0 โ€” Note format plugins (Notion, Apple Notes, Bear)

๐Ÿค Contributing

Issues and PRs welcome. Particularly useful:

  • ๐ŸŒ More language keywords (especially in cs.RO, q-fin, stat.ML)

  • ๐Ÿ“‚ New paper categories

  • ๐Ÿ“ Note format options (Notion API, Apple Notes, Bear)

  • ๐Ÿ› Bug reports with reproduction steps

๐Ÿ“œ License

MIT

๐Ÿ™ Credits


๐ŸŒŸ If this MCP saved you a few minutes of research workflow, consider starring the repo โ€” it helps others find it.

Related MCP Connectors

Related MCP Servers