Arxivum
An MCP server that enables searching arXiv, importing papers, enriching with citation data, generating summaries and research ideas, and querying a local library using local LLMs and embeddings.
README
<p align="center"> <img src="assets/arxivum.png" alt="ArXivum" width="100%" /> </p>
<p align="center"> <a href="https://github.com/eddisonpham/Arxivum/blob/main/LICENSE"><img alt="License" src="https://img.shields.io/badge/license-MIT-blue.svg" /></a> <img alt="Python" src="https://img.shields.io/badge/python-3.10%2B-green.svg" /> <img alt="Tests" src="https://img.shields.io/badge/tests-171%20passing-brightgreen.svg" /> </p>
What it does
- Search arXiv and import papers into a local library with one tool call.
- Enrich every paper with citation counts, venue, and impact data from Semantic Scholar. Free, no API key required.
- Summarise papers into structured sections: problem statement, methodology, findings, ablations, discussion, limitations, and an overall assessment. Generated by a local LLM.
- Generate ideas grounded in each paper's constraints, assumptions, and inductive biases. Each idea includes suggested search queries for novelty verification.
- Verify novelty by checking generated ideas against your local library and arXiv. The LLM judges overlap and returns a verdict: likely novel, needs review, or similar exists.
- Query the library with hybrid vector + metadata retrieval and cross-encoder reranking for precise results.
- Supervise everything through a visual web panel. Inspect papers, approve or reject ideas, and watch every agent action in real time.
Everything runs on your CPU or a small GPU. No cloud LLM calls. No data leaves your machine.
Quick start
1. Install
git clone <repo>
cd arxivum
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev,llm]"
On Windows, activate the venv with .venv\Scripts\activate instead.
The [llm] extra installs llama-cpp-python, which needs CMake and a C++
compiler. On Windows, install Visual Studio Build Tools first. Without
[llm], everything works except local LLM generation (summaries, ideas,
novelty checks). You can still search, import, enrich, and query the library.
2. Configure
cp .env.example .env
Edit .env and add your HF_TOKEN. This is used only for downloading
models from Hugging Face Hub. No remote inference is performed.
3. Download models (~1.5 GB)
python scripts/download_models.py
This downloads BGE embedding and reranker models (cached by sentence-transformers) and Qwen2.5-1.5B-Instruct GGUF (Q4_K_M, ~1 GB) for local LLM inference.
4. Initialise the database
python scripts/migrate.py
5. Run
MCP server for coding agents (Claude Code, Cursor, Freebuff):
python -m src.mcp_server
Communicates over stdio by default. Set MCP_TRANSPORT=sse in .env for
SSE mode.
Web API + visual panel for human supervision:
python -m src.api.main
- Visual panel:
http://localhost:8000 - Demo page:
http://localhost:8000/demo - API docs:
http://localhost:8000/docs
MCP tools
The server exposes nine tools, all prefixed with research_:
| Tool | Description |
|---|---|
research_search_papers |
Search arXiv, import results, optionally enrich and summarise. |
research_query_library |
Hybrid vector + metadata search over your local library. |
research_get_paper_details |
Full metadata, metrics, summaries, and ideas for a paper. |
research_remove_paper |
Remove a paper and all derived data. |
research_generate_summary |
Generate or retrieve structured summaries. |
research_generate_ideas |
Generate novel ideas from a paper's constraints. |
research_verify_novelty |
Re-verify an idea's novelty against the library and arXiv. |
research_list_library |
List papers with pagination and filters. |
research_get_activity_log |
Return recent agent actions for supervision. |
Configuration
All settings come from environment variables loaded from .env.
See .env.example for the full list and defaults. Key options:
| Variable | Default | Purpose |
|---|---|---|
DATA_DIR |
./data |
SQLite database + ChromaDB location. |
MODELS_DIR |
./models |
GGUF model file location. |
LLM_N_CTX |
4096 |
LLM context window size. |
LLM_N_THREADS |
4 |
CPU threads for LLM inference. |
LLM_N_GPU_LAYERS |
0 |
GPU layers to offload (0 = pure CPU). |
MCP_TRANSPORT |
stdio |
MCP transport: stdio or sse. |
HF_TOKEN |
none | Hugging Face token (model download only). |
Testing
pytest
Unit, component, and integration tests. Mocked and offline. Runs in ~3 seconds.
Smoke tests require real models and network access. Run them after downloading models:
pytest tests/smoke/ -v -s
How it works
Coding Agent ──MCP stdio──▶ MCP Server ──▶ arXiv API + Semantic Scholar
│
FastAPI + Visual Panel
│
┌───────────────┴───────────────┐
ChromaDB SQLite
(vectors) (metadata/ideas)
│
llama-cpp-python (Qwen2.5-1.5B GGUF)
sentence-transformers (BGE embed/rerank)
Retrieval pipeline:
- arXiv search results are imported into SQLite (metadata) and ChromaDB (vector embeddings of abstracts and titles).
- Semantic Scholar enrichment adds citation counts and venue data.
- Generated summary sections are also indexed as vector chunks for fine-grained RAG retrieval.
- Library queries use hybrid vector search with metadata pre-filtering, followed by cross-encoder reranking for precision.
Memory management: On constrained machines, only one heavy model (embedder, reranker, or LLM) is resident at a time. The model manager automatically unloads the previous model before loading the next.
Scope
This is a local-only POC. All models, databases, and services run on the user's machine. Cloud and HPC scaling is future work.
License
MIT. See LICENSE.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。