search_referencesLABSCO 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
USE CASES
Finding the paper you half remember
Search by meaning when you can only describe the idea, and by author or keyword when you remember the wording.
Writing a bibliography without leaving the draft
Ask for the citation in your journal's style, or a whole bibliography for a list of record numbers, sorted by author or year.
Checking what a paper actually said
Search inside the PDF text for the method or quote, then read the specific pages the match points at.
Keeping the index current after adding references
Re-export the XML over the same file and rebuild — only new references and PDFs are processed, and new items are embedded automatically.
12 tools
Listed in project docs. Your client may show a different list.
search_fulltextsearch_librarysearch_semanticget_reference_detailsget_citationget_bibtexget_bibliographyfind_relatedread_pdf_sectionlist_references_by_topicrebuild_indexBEFORE YOU INSTALL
What to know first
Tools you get
12 tools named in the project's documentation.
Requires
- pip on PATH
- Python 3.10+
INSTALLATION
Connect your client
Server setup
uv tool install endnote-mcpMCP Clients
Claude Desktop
endnote-mcp setup