# endnote-mcp [Health: Active]

**Category:** 🔬 Research  
**Repository:** https://github.com/gokmengokhan/endnote-mcp  
**GitHub Stars:** 56  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/endnote-mcp

## Description
Search, cite, and read PDFs from your EndNote library in Claude Desktop

## Tools
Capabilities this server exposes over MCP:

- **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

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "endnote-mcp": {
    "command": "uvx",
    "args": ["endnote-mcp"]
  }
}
```

## Documentation

## What endnote-mcp MCP server does

The endnote-mcp MCP server makes an EndNote library available to an MCP-compatible AI client. It reads an EndNote XML export and a directory of attached PDFs, then builds a local searchable index. The intended workflow is research assistance: locate references, inspect source text, and produce citation output from records already stored in EndNote.

Metadata searches can match authors, titles, years, keywords, abstracts, and research notes. PDF search looks inside extracted document text, while combined search checks both bibliographic fields and attachments. The server can also return complete reference metadata, read selected PDF pages, list references by topic, and identify similar records.

## How it works

EndNote exports the library to XML. The server processes that export and the configured PDF directory into a local SQLite database using full-text indexing. Keyword queries use BM25 ranking and can include DOI links. PDF text is extracted during indexing, with incremental processing available for newly added records and files.

Optional semantic search uses locally generated embeddings. Installing the semantic dependency enables `search_semantic`, and the lightweight `all-MiniLM-L6-v2` model runs without an API key. Embeddings can also support related-reference searches. The endnote-mcp MCP server communicates with the client through the Model Context Protocol, while the indexed data remains on the local machine apart from content included in the normal AI conversation.

## Setup and configuration

The desktop bundle requires EndNote 20 or newer and Claude Desktop. Export the library as XML, install the `.mcpb` bundle, and select both the XML file and the PDF attachments folder in the installation dialog. Claude Desktop then starts indexing automatically.

A command-line installation is also available from PyPI. It requires Python 3.10 or newer and `uv` or `pip`. Install the package, run `endnote-mcp setup`, and restart Claude Desktop after the wizard configures the connection. The CLI includes commands for indexing, embedding, checking status, installing the client configuration, and starting the server.

Configuration is stored in the platform-specific application configuration directory. Important settings include `endnote_xml`, `pdf_dir`, `db_path`, `max_pdf_pages`, and `search_notes`. The default page limit for a PDF read request is 30 pages. After adding records, overwrite the XML export and run `endnote-mcp index`, or ask the client to rebuild the index.

## Tools and capabilities

The endnote-mcp MCP server exposes tools for:

- Searching reference metadata, PDF text, or both together.
- Searching by semantic similarity when optional embeddings are installed.
- Retrieving full metadata for a reference.
- Formatting one citation in APA 7th, Harvard, Vancouver, Chicago, or IEEE style.
- Creating multi-reference bibliographies or BibTeX output.
- Finding related references and listing records by broad topic.
- Reading selected pages from an attached PDF.
- Rebuilding the index after library updates.

## Limitations and notes

The server depends on an EndNote XML export rather than reading an actively changing library file directly. New or changed records are not available until the XML is exported again and indexing runs. PDF search and page reading require the relevant attachments to be present in the configured folder.

Semantic search is optional and requires the `semantic` package extra plus an embedding-generation step. Without it, standard metadata and PDF full-text search remain available. The plain EndNote Notes field is indexed but excluded from matching by default; `search_notes: true` enables it without requiring a re-index. Research Notes are searched by default.

_Full upstream README: https://allmcps.com/mcp/endnote-mcp/readme_

