
Endnote Mcp
io.github.gokmengokhanPublished by GitHub account gokmengokhanv1.4.15Updated Oct 27, 2026
Search, cite, and read PDFs from your EndNote library in Claude Desktop
Overview
Connects a local EndNote library to Claude Desktop so the assistant can search references and PDFs, format citations, and build bibliographies.
- What you can do
- Search references by author, title, year, keywords or abstract, and search inside PDF text
- Run combined metadata and full-text searches, plus optional semantic search by meaning
- Read reference details and specific PDF pages
- Format citations in APA 7th, Harvard, Vancouver, Chicago or IEEE, and generate multi-reference bibliographies
- Export references as BibTeX and find related papers
- Rebuild the local index after re-exporting the EndNote library
- When to use it
- Useful for researchers and writers who keep their sources in EndNote and want the assistant to find papers, quote from PDFs, and produce correctly formatted citations and bibliographies inside a Claude Desktop conversation.
- Requirements
- Runs locally as a Python package (endnote-mcp) via stdio; the desktop bundle needs only EndNote 20+ and Claude Desktop, while the CLI path needs Python 3.10+ and uv or pip. An XML export of the EndNote library and the PDF attachments folder must be configured. Semantic search is an optional extra dependency; no API keys are needed.
Installation
In SourceWeft
- Open Endnote Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
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
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
The bundle installer below has no other prerequisites — Claude Desktop manages Python and dependencies. The CLI install path additionally needs Python 3.10+ and uv (or pip).
Install (Desktop Bundle — Recommended)
The fastest install for non-engineers. No Python or terminal required.
- Export your library from EndNote. File → Export → choose XML format → save somewhere like Desktop.
- Download
endnote-mcp.mcpbfrom the latest release. - Double-click the
.mcpbfile (or in Claude Desktop: Settings → Extensions → Install Extension…). - In the install dialog, point Claude Desktop at:
- Your EndNote XML file (from step 1)
- Your PDF Attachments Folder — usually
<library>.Data/PDF/next to your.enlfile, orPDF/inside an.enlppackage.
- Click Install. Claude Desktop will start indexing your library automatically — metadata is searchable within seconds, PDF text and semantic embeddings finish in the background.
That's it. Try asking Claude "Search my library for grounded theory".
The bundle keeps its own configuration (config-mcpb.yaml), so installing it will not disturb an existing CLI setup. Both default to the same database, so if you already indexed with the CLI the bundle reuses that index rather than building a second copy.
Building the bundle yourself
Maintainers (or anyone working from source) can build it with:
The build is a single cross-platform .mcpb file (~36 KB). Dependencies resolve at install time via the uv runtime bundled with Claude Desktop.
The format was called DXT and used the
.dxtextension until it was renamed upstream to MCPB (MCP Bundles). See modelcontextprotocol/mcpb.
Install (CLI / from PyPI)
Prefer the terminal? This path gives you the endnote-mcp CLI for indexing and embedding.
1. Install
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
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.
Claude Code Plugin and Agent Skill
The repo includes a skill, endnote-library, that teaches an agent how to work with your library: cite only records the tools return, take page numbers from the printed page rather than the PDF position, check quotations word for word, and verify a draft's references one by one.
Claude Code. Install the CLI and index your library first (steps 1–3 above), then run:
On Claude Code before 2.1.275, run /plugin marketplace add gokmengokhan/endnote-mcp, then /plugin install endnote@endnote-mcp. The plugin adds the skill and starts the server with endnote-mcp serve, so that command must be on your PATH. If you already added the server with claude mcp add and the same command, Claude Code connects it only once; if yours uses another command or path, remove it with claude mcp remove endnote to avoid duplicate tools.
Claude Desktop. Zip the plugin/skills/endnote-library/ folder and upload it under Customize > Skills.
Other agents. Agents that read Agent Skills (SKILL.md folders) can use the same skill: copy plugin/skills/endnote-library/ into the agent's skills directory.
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.
This uses the lightweight all-MiniLM-L6-v2 model locally — no API keys needed, everything stays on your machine.
Commands
Tools Available to Claude
Adding New References
When you add new references to your EndNote library:
- Re-export XML from EndNote (overwrite the same file)
- Either:
- Run
endnote-mcp indexfrom a terminal, or - Ask Claude: "Rebuild my library index"
- Run
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
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
Notes fields
EndNote's Research Notes — where you keep your own summaries and judgments — is indexed and searched by default, ranked just below keywords and above the abstract.
The plain Notes field is indexed but excluded from matching, because
reference managers use it as a dumping ground on import: author affiliations,
email addresses, thesaurus terms. Set search_notes: true to include it. The
setting takes effect immediately — no re-index needed.
Citation Styles
Five built-in styles:
- APA 7th —
get_citation(rec_number=42, style="apa7") - Harvard —
style="harvard" - Vancouver —
style="vancouver" - Chicago (Author-Date, 17th ed.) —
style="chicago" - IEEE —
style="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_bibtextool 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
Client reports the server "failed to connect" / CONNECTION_CLOSED — The client hides the underlying error. Run echo '' | endnote-mcp serve to see the real traceback (the JSON decode error it prints afterwards is just the empty input, not a fault).
Releasing
Publishing runs on a tag push via .github/workflows/release.yml, which uploads to PyPI and the MCP Registry using OIDC — no API tokens are stored in the repository.
The version lives in seven places, and the registry rejects a server.json that does not exactly match the published PyPI release. Bump all of them, then verify before tagging:
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.15) [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.
Source: README.md at commit 6c6db5f
Tools
0Version history
4- v1.4.15LatestOct 23, 2026
- v1.4.13Oct 14, 2026
- v1.4.12Sep 22, 2026
- v1.4.9Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts