Skip to main content

Connect your EndNote reference library to Claude AI — search, cite, and read PDFs directly in conversations

Project description

EndNote MCP

Tests PyPI Python License

Connect your EndNote reference library to Claude AI. Search references, read PDFs, format citations, find related papers, and generate bibliographies — all directly in Claude Desktop conversations.

What It Does

Once set up, you can ask Claude things like:

  • "Search my library for social capital and Bourdieu"
  • "Find papers about how organisations deal with uncertainty" (semantic search)
  • "Find references related to paper #3844"
  • "Give me the APA citation for reference #1234"
  • "Generate a bibliography for references 12, 45, 78, 102"
  • "Export references 12, 45, 78 as BibTeX"
  • "Read pages 5-7 from that Smith et al. paper"

Claude searches your local library — nothing is uploaded to the cloud beyond the normal conversation.

How It Works

EndNote Library → XML Export → endnote-mcp index → SQLite Database (FTS5 + Embeddings)
                                                          ↕
                                   Claude Desktop ← MCP Server (12 tools)

Your references and PDF text are indexed into a local SQLite database with full-text search. Optionally, AI embeddings enable semantic search — finding papers by meaning, not just keywords. When semantic dependencies are installed, new references are automatically embedded during indexing. Claude connects through the Model Context Protocol (MCP).

Requirements

  • EndNote 20+ (any edition)
  • Claude Desktop app
  • Python 3.10+
  • uv (recommended) or pip

Quick Start

1. Install

# With uv (recommended)
uv tool install endnote-mcp

# Or with pip
pip install endnote-mcp

2. Export your library from EndNote

In EndNote: File → Export → choose XML format → save to a convenient location (e.g., Desktop).

3. Run the setup wizard

endnote-mcp setup

The wizard will:

  • Auto-detect your XML export and PDF directory
  • Create the configuration
  • Index your library
  • Configure Claude Desktop automatically

4. Restart Claude Desktop

Quit and reopen Claude Desktop. You'll see "EndNote Library" in your MCP connectors.

That's it. Start asking Claude about your references.

Semantic Search (Optional)

Enable meaning-based search that finds references even when they use different terminology than your query. For example, searching "how companies prepare for uncertain futures" finds papers on scenario planning and strategic foresight.

# Install semantic search dependencies
pip install endnote-mcp[semantic]

# Generate embeddings (~3 min for 4,000 references)
endnote-mcp embed

This uses the lightweight all-MiniLM-L6-v2 model locally — no API keys needed, everything stays on your machine.

Commands

Command What It Does
endnote-mcp setup Interactive setup wizard
endnote-mcp index Re-index after adding new references (incremental)
endnote-mcp index --full Full re-index from scratch
endnote-mcp index --skip-pdfs Index metadata only (fast, ~1 sec)
endnote-mcp index --embed Re-index and generate embeddings
endnote-mcp embed Generate semantic search embeddings
endnote-mcp embed --full Regenerate all embeddings from scratch
endnote-mcp status Show index statistics
endnote-mcp install Add to Claude Desktop config
endnote-mcp serve Start MCP server (used by Claude Desktop automatically)

Tools Available to Claude

Tool Description
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

Adding New References

When you add new references to your EndNote library:

  1. Re-export XML from EndNote (overwrite the same file)
  2. Either:
    • Run endnote-mcp index from a terminal, or
    • Ask Claude: "Rebuild my library index"

Indexing is incremental — it only processes new references and PDFs, not the entire library again. If semantic search is installed, new references are automatically embedded.

Performance

Operation Time (4,000 references)
Metadata indexing ~1 second
PDF extraction (first time) ~1 min per 100 PDFs
PDF extraction (incremental) Only new PDFs
Embedding generation ~3 minutes
Keyword search < 50 ms
Semantic search < 200 ms

Configuration

Config is stored at:

  • macOS: ~/Library/Application Support/endnote-mcp/config.yaml
  • Windows: %APPDATA%/endnote-mcp/config.yaml
  • Linux: ~/.config/endnote-mcp/config.yaml
endnote_xml: /path/to/your/library.xml
pdf_dir: /path/to/your/Library.Data/PDF
db_path: /path/to/library.db    # auto-set by setup
max_pdf_pages: 30                # max pages per read request

Citation Styles

Five built-in styles:

  • APA 7thget_citation(rec_number=42, style="apa7")
  • Harvardstyle="harvard"
  • Vancouverstyle="vancouver"
  • Chicago (Author-Date, 17th ed.) — style="chicago"
  • IEEEstyle="ieee"

Use get_bibliography to format multiple references at once, sorted by author or year.

BibTeX Export

Export references as BibTeX entries for use in LaTeX:

  • Ask Claude: "Export references 42 and 100 as BibTeX"
  • Or use the get_bibtex tool directly with comma-separated record numbers

Generates complete entries with proper entry types (@article, @book, @inproceedings, etc.), cite keys, and all available fields.

Troubleshooting

"No configuration found" — Run endnote-mcp setup

"XML file not found" — Re-export from EndNote: File → Export → XML format

"PDF not found" — Check that pdf_dir in your config points to the correct .Data/PDF directory

Search returns no results — Run endnote-mcp index to rebuild the database

Claude Desktop doesn't show the tool — Run endnote-mcp install, then restart Claude Desktop

"Semantic search is not available" — Run pip install endnote-mcp[semantic] then endnote-mcp embed

Citing This Software

If you use this tool in your research, please cite it:

Gokmen, G. (2026). EndNote MCP: Connecting EndNote Reference Libraries to Claude AI (Version 1.4.5) [Computer software]. https://doi.org/10.5281/zenodo.18617546

Or use the "Cite this repository" button on GitHub for BibTeX/APA formats.

License

AGPL-3.0 — free to use, modify, and distribute. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

endnote_mcp-1.4.6.tar.gz (10.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

endnote_mcp-1.4.6-py3-none-any.whl (44.7 kB view details)

Uploaded Python 3

File details

Details for the file endnote_mcp-1.4.6.tar.gz.

File metadata

  • Download URL: endnote_mcp-1.4.6.tar.gz
  • Upload date:
  • Size: 10.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for endnote_mcp-1.4.6.tar.gz
Algorithm Hash digest
SHA256 048a1441a42b4a8c3c31b01f9395c38ac81a1cff1f27c593ebf6a5c12ae0b244
MD5 9194545b24f60e0f59b69a01b2ff57b2
BLAKE2b-256 6eab1a2389ec5c5994f4adaf1869795f957eeeb3352096a1ad4c04f8e8af5515

See more details on using hashes here.

File details

Details for the file endnote_mcp-1.4.6-py3-none-any.whl.

File metadata

  • Download URL: endnote_mcp-1.4.6-py3-none-any.whl
  • Upload date:
  • Size: 44.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for endnote_mcp-1.4.6-py3-none-any.whl
Algorithm Hash digest
SHA256 bc091e1b63ac588845ce11ef97f06b06ce56cb288ce62f3e18b4cf76dbf3ac3c
MD5 5bfa91481623de9ca2eeaa43dbd01187
BLAKE2b-256 fe2667a2096c4b1c85d0e54d95eb3ba7eeb452df5d6a45fe5508819d5864a0c9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page