@vineethnkrishnan/evernote-mcp
v0.1.2
Published
An MCP server for the Evernote API, enabling AI assistants to manage notes, notebooks, tags, and search across your Evernote account.
Maintainers
Readme
Evernote MCP Server
A Model Context Protocol (MCP) server that provides AI assistants (Claude, Cursor, etc.) with a comprehensive interface to the Evernote API.
Overview
evernote-mcp allows your AI assistant to directly interact with your Evernote account. It enables powerful natural language queries like:
- "List all my notebooks and show which one is the default."
- "Search for notes about 'quarterly review' in my Work notebook."
- "Create a note titled 'Meeting Notes' with today's action items."
- "Move that note to the Archive notebook and tag it 'completed'."
Features
- Modular Architecture: Built with clean layered design for high maintainability.
- Type-Safe: Fully implemented in TypeScript with Zod schema validation.
- Comprehensive Coverage: Full access to Notes, Notebooks, Tags, and Search with both read and write operations.
- LLM-Optimized: ENML content is automatically converted to plain text for readable AI output.
Installation
Using npx (Recommended)
No installation required. Run directly:
npx -y @vineethnkrishnan/evernote-mcpGlobal Install
npm install -g @vineethnkrishnan/evernote-mcp
evernote-mcpFrom Source
git clone https://github.com/vineethkrishnan/mcp-pool.git
cd mcp-pool
npm install
npm run buildConfiguration
Add to your MCP client configuration file:
| Platform | Config file path |
|----------|-----------------|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
Using npx (Recommended)
{
"mcpServers": {
"evernote": {
"command": "npx",
"args": ["-y", "@vineethnkrishnan/evernote-mcp"],
"env": {
"EVERNOTE_TOKEN": "S=s1:U=..."
}
}
}
}Local Build
{
"mcpServers": {
"evernote": {
"command": "node",
"args": ["/absolute/path/to/evernote-mcp/build/index.js"],
"env": {
"EVERNOTE_TOKEN": "S=s1:U=..."
}
}
}
}Environment Variables
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| EVERNOTE_TOKEN | Yes | - | Evernote developer token or OAuth access token. |
| EVERNOTE_SANDBOX | No | false | Set to true to use the Evernote sandbox environment. |
Getting Your Developer Token
- Visit the Evernote Developer Tokens page
- Sign in with your Evernote account
- Click Create a developer token
- Copy the generated token (starts with
S=s1:U=...)
Developer tokens provide full access to your account. Keep them secure and never commit them to version control.
Response Optimization
All responses are automatically optimized for LLM context windows:
- ENML conversion: Evernote's XML-based note format (ENML) is converted to clean plain text with markdown-like formatting.
- Metadata extraction: Notes, notebooks, and tags are returned with only the relevant fields (GUID, title, timestamps, tags).
- Auto-encoding: When creating or updating notes, plain text input is automatically converted to valid ENML.
This reduces token usage and improves readability for AI assistants.
Documentation
For a full list of available tools, detailed examples, and architectural details, visit the documentation site.
Uninstallation
# If installed globally
npm uninstall -g @vineethnkrishnan/evernote-mcpTesting
npm testLicense
This project is licensed under the MIT License.
