Endnote MCP logo

Endnote MCP

Search an EndNote library, inspect attached PDFs, and generate citations or bibliographies through MCP.

Install Endnote MCP

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "endnote-mcp": {
      "command": "uvx",
      "args": [
        "endnote-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

The endnote-mcp MCP server connects Claude Desktop to a local EndNote library exported as XML, along with its PDF attachments. It indexes metadata and PDF text in SQLite, supporting keyword, full-text, combined, and optional embedding-based search. Use it to retrieve reference details, read PDF pages, format citations, export BibTeX, or find related papers without manually browsing EndNote. Re-export the XML and rebuild the index when the library changes.

Use cases

  • Search an EndNote library by author, topic, or publication year
  • Find concepts and quotations inside attached PDFs
  • Generate formatted citations and bibliographies
  • Export selected references as BibTeX
  • Read specific pages from a referenced paper

Key features

  • BM25-ranked reference and PDF full-text search
  • Optional local semantic search with embeddings
  • Citation formatting in five styles
  • BibTeX and bibliography generation
  • Incremental library indexing
  • PDF page reading

Tools12

What Endnote MCP lets your agent do. Expand a tool for its parameters.

Self-reported~205 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

9/9 checks healthy over the last 45d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 14d ago via OSV.dev · endnote-mcp (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars56Stargazers on the source repository.
Last commit5d agoMost recent push to the default branch.
Tools exposed12Callable tools this server registers over MCP.

How Endnote MCP works

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.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Endnote MCP

endnote-mcp is an MCP server that connects Claude Desktop to a local EndNote library exported as XML and its PDF attachments. Its main tools search references and full text, retrieve metadata, read PDF pages, format citations, create bibliographies, export BibTeX, find related papers, and rebuild the index.

Install the desktop `.mcpb` bundle or use the PyPI package with `uv tool install endnote-mcp` or `pip install endnote-mcp`. Export your EndNote library as XML, provide the XML and PDF directory, then run the setup wizard for the CLI path.

Yes, endnote-mcp is designed to work with Claude Desktop. The desktop bundle can be installed from Claude Desktop settings, while the CLI setup wizard can configure the Claude Desktop connection automatically.

Install the optional semantic dependencies with `pip install endnote-mcp[semantic]`, then run `endnote-mcp embed`. The server uses the local `all-MiniLM-L6-v2` model and does not require an API key.

Re-export the EndNote library to the same XML file and run `endnote-mcp index`, or ask Claude to rebuild the library index. Incremental indexing processes new references and PDFs without rebuilding everything.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewEndnote MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/endnote-mcp?style=directory)](https://allmcps.com/mcp/endnote-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/endnote-mcp"><img src="https://allmcps.com/api/badge/endnote-mcp?style=directory" alt="Endnote MCP on AllMCPs" /></a>