local-research-library-mcp
Enables AI agents to browse, search, and retrieve papers from a local research library with read-only access, supporting multiple formats and automatic indexing.
README
<p align="center"> <h1 align="center">Local Research Library MCP</h1> <p align="center">让 AI Agent 安全访问你的本地科研资料库 | Give AI agents read-only access to your local research library</p> </p>
<p align="center"> <a href="https://pypi.org/project/local-research-library-mcp/"><img src="https://img.shields.io/pypi/v/local-research-library-mcp" alt="PyPI"></a> <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License"></a> <a href="https://www.python.org/downloads/"><img src="https://img.shields.io/badge/python-3.11+-blue.svg" alt="Python"></a> </p>
<p align="center"> <a href="#中文">中文</a> | <a href="#english">English</a> </p>
中文
简介
你是否遇到过这些情况:
- AI 助手不知道你电脑上有哪些论文
- 记得看过某篇论文,但想不起文件名
- 想在一篇长论文里快速定位某个概念
Local Research Library MCP 就是为了解决这些问题而生的。它是一个本地 MCP 服务器,让 Cursor、Claude、Codex、Trae 等 AI Agent 能够直接浏览和搜索你电脑上的论文资料库。所有数据都留在本地,不会上传到任何地方。
工作原理
你的论文文件夹(PDF、BibTeX、Markdown ...)
│
▼ 启动时自动扫描,每 30 秒检测新增文件
┌──────────┐
│ 索引引擎 │ 提取标题、作者、关键词、摘要、全文
└────┬─────┘
▼
┌──────────┐
│ SQLite │ 本地数据库 + 全文搜索
└────┬─────┘
▼
┌──────────┐
│ MCP 服务 │ 通过 stdio 协议暴露给 AI 客户端
└──────────┘
核心能力
| 能力 | 说明 |
|---|---|
| 浏览资料库 | 列出所有论文分类及每个分类的论文数量 |
| 全文搜索 | 跨所有论文搜索关键词,按相关度排序 |
| 论文详情 | 获取任意论文的标题、作者、年份、摘要、关键词 |
| 论文内搜索 | 在单篇论文中定位特定内容,返回匹配段落和页码 |
支持格式
| 格式 | 扩展名 | 可提取的元数据 |
|---|---|---|
.pdf |
标题、作者、年份、关键词、摘要、全文 | |
| BibTeX | .bib |
标题、作者、年份、期刊、DOI、摘要 |
| RIS | .ris |
标题、作者、年份、期刊、DOI、摘要 |
| EndNote | .enw |
标题、作者、年份、期刊、DOI、摘要 |
| Markdown | .md .markdown |
标题、全文 |
| XML | .xml |
标题、作者、年份、DOI、摘要 |
安全特性
- 🔒 只读:不会修改、删除或上传你的任何文件
- 🚀 自动索引:启动时自动扫描,每 30 秒检测新增文件,放入新论文即可搜索
- 🔍 智能排序:标题 > 关键词 > 摘要 > 作者 > 正文,多维度加权
- 🛡️ 路径安全:所有访问都限制在配置的论文文件夹内,防止越权读取
安装与配置
需要 Python 3.11+。以下两种方式任选其一,按步骤操作即可。
方式一:uvx(推荐)
无需手动安装,uvx 会自动下载并运行。
第 1 步:安装 uv(如果没有)
pip install uv
第 2 步:添加 MCP 配置
在你的 MCP 客户端配置中加入:
{
"mcpServers": {
"research-library": {
"command": "uvx",
"args": ["local-research-library-mcp", "serve"],
"env": {
"RESEARCH_LIBRARY_ROOT": "<替换为你的论文文件夹路径>",
"RESEARCH_LIBRARY_DB": "<替换为索引数据库路径>"
}
}
}
}
方式二:pip 安装
第 1 步:安装
pip install local-research-library-mcp
第 2 步:添加 MCP 配置
在你的 MCP 客户端配置中加入:
{
"mcpServers": {
"research-library": {
"command": "local-research-library-mcp",
"args": ["serve"],
"env": {
"RESEARCH_LIBRARY_ROOT": "<替换为你的论文文件夹路径>",
"RESEARCH_LIBRARY_DB": "<替换为索引数据库路径>"
}
}
}
}
⚠️ 路径说明
请务必将配置中的
<替换为...>替换为你电脑上的实际路径!
| 系统 | RESEARCH_LIBRARY_ROOT 示例 |
RESEARCH_LIBRARY_DB 示例 |
|---|---|---|
| Windows | D:\\papers |
D:\\papers\\.index\\library.db |
| macOS / Linux | /Users/yourname/papers |
/Users/yourname/papers/.index/library.db |
RESEARCH_LIBRARY_DB 建议放在论文文件夹内的 .index 目录下。
使用
配置完成后,重启 AI 客户端,直接用自然语言问:
- "帮我找关于 graph neural network 的论文"
- "我有哪些论文分类?"
- "在这篇论文里搜一下 attention mechanism"
工具
| 工具 | 说明 |
|---|---|
list_collections |
列出所有文件夹分类及论文数量 |
search_papers |
搜索论文(标题、关键词、摘要、正文) |
get_paper |
获取论文详细信息 |
search_in_paper |
在单篇论文内搜索 |
搜索排序
| 匹配位置 | 分数 |
|---|---|
| 标题 | +50~100 |
| 关键词 | +35~45 |
| 摘要 | +30~40 |
| 作者 | +20~30 |
| 正文 | +10~40 |
命令行
local-research-library-mcp serve # 启动服务器
local-research-library-mcp index # 手动索引
local-research-library-mcp index --force # 强制重新索引
local-research-library-mcp status # 查看状态
环境变量
| 变量 | 说明 |
|---|---|
RESEARCH_LIBRARY_ROOT |
论文文件夹路径 |
RESEARCH_LIBRARY_DB |
索引数据库路径 |
RESEARCH_LIBRARY_LOG_LEVEL |
日志级别(默认 INFO) |
English
Introduction
Ever run into these problems?
- Your AI assistant doesn't know what papers you have on disk
- You remember reading a paper but can't recall the filename
- You want to quickly locate a concept inside a long paper
Local Research Library MCP solves all of these. It is a local MCP server that lets Cursor, Claude, Codex, Trae, and other AI Agents browse and search your research paper library directly. All data stays on your machine — nothing is uploaded.
How It Works
Your papers folder (PDF, BibTeX, Markdown, ...)
│
▼ Scans on startup, checks for new files every 30s
┌──────────┐
│ Indexer │ Extracts title, authors, keywords, abstract, full text
└────┬─────┘
▼
┌──────────┐
│ SQLite │ Local database + full-text search (FTS5)
└────┬─────┘
▼
┌──────────┐
│ MCP Server│ Exposes tools to AI clients via stdio protocol
└──────────┘
Core Capabilities
| Capability | Description |
|---|---|
| Browse library | List all paper collections with counts |
| Full-text search | Search across all papers, ranked by relevance |
| Paper details | Get title, authors, year, abstract, keywords for any paper |
| In-paper search | Find specific content within a paper, with page numbers and snippets |
Supported Formats
| Format | Extensions | Extractable Metadata |
|---|---|---|
.pdf |
title, authors, year, keywords, abstract, full text | |
| BibTeX | .bib |
title, authors, year, journal, DOI, abstract |
| RIS | .ris |
title, authors, year, journal, DOI, abstract |
| EndNote | .enw |
title, authors, year, journal, DOI, abstract |
| Markdown | .md .markdown |
title, full text |
| XML | .xml |
title, authors, year, DOI, abstract |
Security
- 🔒 Read-only: Never modifies, deletes, or uploads your files
- 🚀 Auto-index: Scans on startup, detects new files every 30 seconds
- 🔍 Smart ranking: Title > keywords > abstract > author > body, multi-dimensional scoring
- 🛡️ Path-safe: All access is confined to the configured papers folder
Installation & Configuration
Requires Python 3.11+. Choose one of the two options below and follow the steps.
Option 1: uvx (Recommended)
No manual install needed — uvx downloads and runs automatically.
Step 1: Install uv (if you don't have it)
pip install uv
Step 2: Add MCP configuration
Add the following to your MCP client config:
{
"mcpServers": {
"research-library": {
"command": "uvx",
"args": ["local-research-library-mcp", "serve"],
"env": {
"RESEARCH_LIBRARY_ROOT": "<replace with your papers folder path>",
"RESEARCH_LIBRARY_DB": "<replace with your index database path>"
}
}
}
}
Option 2: pip install
Step 1: Install
pip install local-research-library-mcp
Step 2: Add MCP configuration
Add the following to your MCP client config:
{
"mcpServers": {
"research-library": {
"command": "local-research-library-mcp",
"args": ["serve"],
"env": {
"RESEARCH_LIBRARY_ROOT": "<replace with your papers folder path>",
"RESEARCH_LIBRARY_DB": "<replace with your index database path>"
}
}
}
}
⚠️ Path Instructions
You MUST replace the
<replace with ...>placeholders above with actual paths on your computer!
| System | RESEARCH_LIBRARY_ROOT example |
RESEARCH_LIBRARY_DB example |
|---|---|---|
| Windows | D:\\papers |
D:\\papers\\.index\\library.db |
| macOS / Linux | /Users/yourname/papers |
/Users/yourname/papers/.index/library.db |
RESEARCH_LIBRARY_DB should be placed inside your papers folder under .index.
Usage
After configuration, restart your AI client and ask in natural language:
- "Find papers about graph neural networks"
- "What collections do I have?"
- "Search for 'attention mechanism' in this paper"
Tools
| Tool | Description |
|---|---|
list_collections |
List all folders with paper counts |
search_papers |
Search papers (title, keywords, abstract, body) |
get_paper |
Get paper details |
search_in_paper |
Search within a single paper |
Search Ranking
| Match Location | Score |
|---|---|
| Title | +50~100 |
| Keywords | +35~45 |
| Abstract | +30~40 |
| Author | +20~30 |
| Body | +10~40 |
CLI
local-research-library-mcp serve # Start server
local-research-library-mcp index # Manual index
local-research-library-mcp index --force # Force re-index
local-research-library-mcp status # Show status
Environment Variables
| Variable | Description |
|---|---|
RESEARCH_LIBRARY_ROOT |
Papers folder path |
RESEARCH_LIBRARY_DB |
Index database path |
RESEARCH_LIBRARY_LOG_LEVEL |
Log level (default INFO) |
License
Contributing
See CONTRIBUTING.md · Contact: hongyuanlu9@gmail.com
推荐服务器
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 模型以安全和受控的方式获取实时的网络信息。