Evernote note management with OAuth and ENML conversion
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
A Model Context Protocol (MCP) server that provides seamless integration with Evernote for note management, organization, and knowledge capture. Works with both Claude Code and Claude Desktop.
Evernote stopped issuing new developer API keys. If you are a new user and cannot obtain a Consumer Key/Secret, skip the standard OAuth setup and use the cookie-based authentication method instead β no API key required.
Supported Node.js: >=20.16.0 <21 or >=22.3.0. In practice that means
Node 20.16+, 22.3+, 24, or newer β the two gaps are Node 21.x and Node
22.0β22.2. This is not an arbitrary floor: it mirrors the engines range that
the PDF attachment extraction path (pdf-parse, and its pdfjs-dist
transitive dependency) actually declares, and the range is genuinely disjoint.
Check with node --version. On Node 18 or 21, or on 22.0β22.2, upgrade before
installing β Node 21 reached end-of-life in June 2024, and 22.3+ supersedes the
early 22 patches.
Upgrading from 1.x? 2.0.0 raises the Node requirement from 18.18.0 and changes
evernote_get_resourceto return extracted text by default instead of binary data. The tool surface was also consolidated from 27 tools to 15 β the retired names still work as deprecated aliases, so existing calls keep running. See MIGRATION.md.
/mcp commandThe simplest way - no need to install anything globally:
The server can poll Evernote for changes and send webhook notifications when notes are created, updated, or deleted.
When changes are detected, a POST request is sent to your webhook URL:
Use the evernote_polling tool to control polling:
polling({action:"start"}) - Start polling manuallypolling({action:"stop"}) - Stop pollingpolling({action:"poll"}) - Check for changes immediatelypolling({action:"status"}) - Get polling configuration and statusFor real-time notifications, Evernote supports webhooks but requires manual registration:
Email devsupport@evernote.com with:
They'll configure your webhook to receive HTTP GET requests on note create/update events.
Install once, use anywhere:
For contributing or customization:
Note: Evernote has stopped issuing new developer API keys to new applicants. If you are a new user, skip this section and use the cookie-based authentication method instead.
The auth script will prompt you for credentials if not found:
For automation, you can set credentials via environment variables:
On the hourly rate limit, tool errors return JSON with error: "rate_limited"
and retryAfterSeconds (Evernote's exact backoff window). Bounding concurrency
smooths bursts but cannot restore quota β the quota is a per-token hourly call
count, so the durable fixes are fewer calls and honoring the backoff.
Re-reading the same notes is served from an in-memory, USN-keyed body cache
instead of re-spending getNote calls β the direct fix for the hourly limit
tripping on repeat corpus reads. Notes you edit through this server are evicted
immediately; edits made elsewhere are picked up within
EVERNOTE_NOTE_CACHE_SYNC_TTL_MS via a sync-state probe. Extracted OCR /
attachment text is always re-read live, never cached.
/mcpNote: Claude Code handles OAuth automatically - no manual token management needed!
Using NPX (no installation required):
The auth script will:
.evernote-token.jsonEVERNOTE_ACCESS_TOKEN insteadOr if installed globally:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/mcp-evernote)<a href="https://allmcps.com/mcp/mcp-evernote"><img src="https://allmcps.com/api/badge/mcp-evernote?style=directory" alt="MCP Evernote on AllMCPs" /></a>