Labsco
MCP SERVER

EndNote Library Connector

by gokmengokhan

Search your EndNote library from Claude — by keyword, by PDF content, or by meaning — then format citations in five styles, export BibTeX and read specific pages from an attached paper.

Academic Literature & Citations
Summary
Searching inside the PDFs is what makes it more than a reference list.

Finding the paper where you read a particular method — not the paper whose abstract mentions it — is the query EndNote itself is worst at, and full-text plus semantic search against the attached PDFs answers it. Adding references later is cheap because indexing is incremental; the one-off cost is the embedding pass, roughly three minutes for a four-thousand-reference library.

What it is

A bridge between an EndNote reference library and an MCP client. You export the library as XML once; the server indexes the references and the text of the attached PDFs into a local SQLite database with full-text search, and optionally generates embeddings so search can work by meaning rather than keyword. Everything stays on your machine — the library is never uploaded.

What you get
  • References searched by author, title, year, keywords and abstract, BM25-ranked and returned with DOI links — `search_references`
  • Search inside the PDFs themselves, for concepts, quotes and methods, or combined with metadata in one call — `search_fulltext`, `search_library`
  • Meaning-based search that finds papers using different terminology than your query — `search_semantic`
  • Full metadata for a reference, and related references found through the embeddings when they exist — `get_reference_details`, `find_related`
  • Citations formatted as APA 7th, Harvard, Vancouver, Chicago author-date or IEEE, and a formatted bibliography for several references at once — `get_citation`, `get_bibliography`
  • BibTeX export with proper entry types, cite keys and all available fields — `get_bibtex`
  • Specific pages read out of a PDF attachment, and broad topic listing — `read_pdf_section`, `list_references_by_topic`
  • Re-indexing on demand after you add references, incrementally rather than from scratch — `rebuild_index`
Requirements

EndNote 20 or newer, any edition, and an XML export of your library — File > Export > XML. Python 3.10+ and `uv tool install endnote-mcp` or `pip install endnote-mcp`; the published package is `endnote-mcp` 1.4.8, registered as `io.github.gokmengokhan/endnote-mcp`, running over stdio. `endnote-mcp setup` auto-detects the XML export and PDF directory, indexes the library and writes the client configuration for you. Semantic search is optional and needs `pip install endnote-mcp[semantic]` followed by `endnote-mcp embed`; it uses the `all-MiniLM-L6-v2` model locally, so no API key is involved. Configuration lives in a `config.yaml` per platform, holding `endnote_xml`, `pdf_dir`, `db_path` and `max_pdf_pages`, which defaults to 30 pages per read request. Indexing 4,000 references takes about 1 second for metadata and about 3 minutes for embeddings; keyword search runs under 50 ms and semantic search under 200 ms.

Setup effort

One command — uv tool install endnote-mcp