LabscoMCP early access ↗
DOGGY-SAINTMCP SERVER

EndNote MCP Service

Search your EndNote library and pull the full text out of the attached PDFs, without EndNote having to release the file lock.

by DOGGY-SAINT ↗Academic Literature & CitationsCommunity

LABSCO SUMMARY

Backup mode exists because EndNote will not let go of the file, and it is the mode to use.

Without it, having EndNote open means the tool cannot read anything — which is exactly when you would want to use it. Working from a copy solves that, at the cost of a refresh step you must run with EndNote closed. The other reason to install it is read_paper: the answer comes from the PDF's actual text, not from an abstract.

What it is

A Python server that reads an EndNote .enl library — which is SQLite underneath — together with its .Data folder, and exposes both the bibliographic records and the text of the attached PDFs. A backup mode exists specifically because EndNote locks the library file while it is open.

What you get

  • list_papers(offset=0, limit=10) enumerates references with pagination
  • search_papers(query) does fuzzy matching on title or keywords, in English or Chinese
  • read_paper(title) returns the metadata and the extracted full text of the attached PDF, matched by fuzzy title
  • refresh_backup() re-copies the working .enl.backup from the original, when backup mode is on

Requirements

uv and Python 3.13+: the client entry starts the server through uv run, which follows the project file's requires-python = ">=3.13" (the README still says 3.10+) and installs fastmcp>=2.8.1 and pypdf>=5.6.0. Launch server.py with --enl-file pointing at your .enl and --data-folder at the matching .Data directory; --enable-log adds detail and --use-backup switches all database work onto a .enl.backup copy, refreshed automatically at startup. Refreshing that backup requires EndNote to be closed, because EndNote holds the file lock. The Python package is enl-reader-mcp, version 0.1.0.

Setup effort

Build from source — git clone https://github.com/DOGGY-SAINT/ENL-Reader-MCP.git