endnote-mcp
Connect your EndNote reference library to Claude AI. Search references, read PDFs, format citations, find related papers, and generate bibliographies directly in Claude Desktop conversations.
README
EndNote MCP
<!-- mcp-name: io.github.gokmengokhan/endnote-mcp -->
Connect your EndNote reference library to Claude AI. Search references, read PDFs, format citations, find related papers, and generate bibliographies — all directly in Claude Desktop conversations.
What It Does
Once set up, you can ask Claude things like:
- "Search my library for social capital and Bourdieu"
- "Find papers about how organisations deal with uncertainty" (semantic search)
- "Find references related to paper #3844"
- "Give me the APA citation for reference #1234"
- "Generate a bibliography for references 12, 45, 78, 102"
- "Export references 12, 45, 78 as BibTeX"
- "Read pages 5-7 from that Smith et al. paper"
Claude searches your local library — nothing is uploaded to the cloud beyond the normal conversation.
How It Works
EndNote Library → XML Export → endnote-mcp index → SQLite Database (FTS5 + Embeddings)
↕
Claude Desktop ← MCP Server (12 tools)
Your references and PDF text are indexed into a local SQLite database with full-text search. Optionally, AI embeddings enable semantic search — finding papers by meaning, not just keywords. When semantic dependencies are installed, new references are automatically embedded during indexing. Claude connects through the Model Context Protocol (MCP).
Requirements
- EndNote 20+ (any edition)
- Claude Desktop app
- Python 3.10+
- uv (recommended) or pip
Quick Start
1. Install
# With uv (recommended)
uv tool install endnote-mcp
# Or with pip
pip install endnote-mcp
2. Export your library from EndNote
In EndNote: File → Export → choose XML format → save to a convenient location (e.g., Desktop).
3. Run the setup wizard
endnote-mcp setup
The wizard will:
- Auto-detect your XML export and PDF directory
- Create the configuration
- Index your library
- Configure Claude Desktop automatically
4. Restart Claude Desktop
Quit and reopen Claude Desktop. You'll see "EndNote Library" in your MCP connectors.
That's it. Start asking Claude about your references.
Semantic Search (Optional)
Enable meaning-based search that finds references even when they use different terminology than your query. For example, searching "how companies prepare for uncertain futures" finds papers on scenario planning and strategic foresight.
# Install semantic search dependencies
pip install endnote-mcp[semantic]
# Generate embeddings (~3 min for 4,000 references)
endnote-mcp embed
This uses the lightweight all-MiniLM-L6-v2 model locally — no API keys needed, everything stays on your machine.
Commands
| Command | What It Does |
|---|---|
endnote-mcp setup |
Interactive setup wizard |
endnote-mcp index |
Re-index after adding new references (incremental) |
endnote-mcp index --full |
Full re-index from scratch |
endnote-mcp index --skip-pdfs |
Index metadata only (fast, ~1 sec) |
endnote-mcp index --embed |
Re-index and generate embeddings |
endnote-mcp embed |
Generate semantic search embeddings |
endnote-mcp embed --full |
Regenerate all embeddings from scratch |
endnote-mcp status |
Show index statistics |
endnote-mcp install |
Add to Claude Desktop config |
endnote-mcp serve |
Start MCP server (used by Claude Desktop automatically) |
Tools Available to Claude
| Tool | Description |
|---|---|
search_references |
Search by author, title, year, keywords, abstract (BM25 ranked, with DOI links) |
search_fulltext |
Search inside PDF content — find concepts, quotes, methods |
search_library |
Combined metadata + PDF search in one call |
search_semantic |
Search by meaning using AI embeddings (requires endnote-mcp[semantic]) |
get_reference_details |
Full metadata for a reference (abstract, keywords, DOI, etc.) |
get_citation |
Format as APA 7th, Harvard, Vancouver, Chicago, or IEEE |
get_bibtex |
Export references as BibTeX entries for LaTeX |
get_bibliography |
Generate a formatted bibliography for multiple references |
find_related |
Find similar references (uses embeddings when available) |
read_pdf_section |
Read specific pages from a PDF attachment |
list_references_by_topic |
Broad topic-based listing |
rebuild_index |
Re-index after updating your EndNote library |
Adding New References
When you add new references to your EndNote library:
- Re-export XML from EndNote (overwrite the same file)
- Either:
- Run
endnote-mcp indexfrom a terminal, or - Ask Claude: "Rebuild my library index"
- Run
Indexing is incremental — it only processes new references and PDFs, not the entire library again. If semantic search is installed, new references are automatically embedded.
Performance
| Operation | Time (4,000 references) |
|---|---|
| Metadata indexing | ~1 second |
| PDF extraction (first time) | ~1 min per 100 PDFs |
| PDF extraction (incremental) | Only new PDFs |
| Embedding generation | ~3 minutes |
| Keyword search | < 50 ms |
| Semantic search | < 200 ms |
Configuration
Config is stored at:
- macOS:
~/Library/Application Support/endnote-mcp/config.yaml - Windows:
%APPDATA%/endnote-mcp/config.yaml - Linux:
~/.config/endnote-mcp/config.yaml
endnote_xml: /path/to/your/library.xml
pdf_dir: /path/to/your/Library.Data/PDF
db_path: /path/to/library.db # auto-set by setup
max_pdf_pages: 30 # max pages per read request
Citation Styles
Five built-in styles:
- APA 7th —
get_citation(rec_number=42, style="apa7") - Harvard —
style="harvard" - Vancouver —
style="vancouver" - Chicago (Author-Date, 17th ed.) —
style="chicago" - IEEE —
style="ieee"
Use get_bibliography to format multiple references at once, sorted by author or year.
BibTeX Export
Export references as BibTeX entries for use in LaTeX:
- Ask Claude: "Export references 42 and 100 as BibTeX"
- Or use the
get_bibtextool directly with comma-separated record numbers
Generates complete entries with proper entry types (@article, @book, @inproceedings, etc.), cite keys, and all available fields.
Troubleshooting
"No configuration found" — Run endnote-mcp setup
"XML file not found" — Re-export from EndNote: File → Export → XML format
"PDF not found" — Check that pdf_dir in your config points to the correct .Data/PDF directory
Search returns no results — Run endnote-mcp index to rebuild the database
Claude Desktop doesn't show the tool — Run endnote-mcp install, then restart Claude Desktop
"Semantic search is not available" — Run pip install endnote-mcp[semantic] then endnote-mcp embed
Citing This Software
If you use this tool in your research, please cite it:
Gokmen, G. (2026). EndNote MCP: Connecting EndNote Reference Libraries to Claude AI (Version 1.4.5) [Computer software]. https://doi.org/10.5281/zenodo.18617546
Or use the "Cite this repository" button on GitHub for BibTeX/APA formats.
License
AGPL-3.0 — free to use, modify, and distribute. See LICENSE for details.
推荐服务器
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 模型以安全和受控的方式获取实时的网络信息。