Fixitdaz/evernote-mcp-server
If you are the rightful owner of evernote-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Evernote MCP Server enables Claude Desktop to interact with Evernote for AI-powered note management.
evernote_list_notebooks
List all notebooks
evernote_list_notes
List notes in notebook/all
evernote_get_note
Get full note content
evernote_search_notes
Search notes with Evernote syntax
evernote_create_note
Create new note
Evernote MCP Server
A Model Context Protocol (MCP) server that enables Claude Desktop to directly interact with your Evernote account. This integration allows AI-powered note management, search, and organization of your Evernote content.
🚀 Features
- 📝 List Notebooks - Browse all your Evernote notebooks with metadata
- 📋 List Notes - View notes from specific notebooks or across your entire account
- 🔍 Search Notes - Use Evernote's powerful search syntax to find specific content
- 📖 Read Notes - Get full content of any note including formatting and metadata
- ✏️ Create Notes - Generate new notes with tags and notebook organization
🛠️ Installation
Prerequisites
- Node.js (v16 or higher)
- Claude Desktop application
- Evernote account with API access
Setup Steps
-
Clone this repository:
git clone https://github.com/yourusername/evernote-mcp-server.git cd evernote-mcp-server
-
Install dependencies:
npm install
-
Configure authentication:
- Update the
accessToken
insrc/index.js
with your Evernote OAuth token - Ensure your token has proper permissions for production Evernote API
- Update the
-
Test the server:
npm start
-
Configure Claude Desktop:
Edit your Claude Desktop config file:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Add this configuration:
{ "mcpServers": { "evernote": { "command": "node", "args": ["path/to/your/evernote-mcp-server/src/index.js"] } } }
- Windows:
-
Restart Claude Desktop to load the new integration
🎯 Usage Examples
List All Notebooks
Show me all my Evernote notebooks using evernote_list_notebooks
Search for Notes
Search my Evernote for notes about "meeting" from last week using evernote_search_notes
Create a New Note
Create a note titled "Project Ideas" with content "AI integration possibilities" using evernote_create_note
Browse Notes in a Notebook
Show me notes in my "Work" notebook using evernote_list_notes
Get Specific Note Content
Retrieve the full content of note with GUID "abc123" using evernote_get_note
🔧 Available Tools
Tool Name | Description | Parameters |
---|---|---|
evernote_list_notebooks | List all notebooks | None |
evernote_list_notes | List notes in notebook/all | notebook_guid (optional), max_notes (default: 50) |
evernote_get_note | Get full note content | note_guid (required) |
evernote_search_notes | Search notes with Evernote syntax | query (required), max_notes (default: 50) |
evernote_create_note | Create new note | title (required), content (required), notebook_guid (optional), tags (optional) |
📋 Evernote Search Syntax
The evernote_search_notes
tool supports Evernote's full search syntax:
- By notebook:
notebook:"Work Notes"
- By tag:
tag:important
- By date:
created:day-1
(yesterday),updated:week-1
(last week) - By content:
recipe ingredients
(search text) - Combined:
tag:meeting created:day-7 notebook:Work
🏗️ Technical Architecture
MCP Compliance
- Follows MCP specification v2024-11-05
- Uses proper tool naming convention:
^[a-zA-Z0-9_-]{1,64}$
- Implements standard MCP server patterns with JSON-RPC 2.0
Authentication
- Uses Evernote OAuth 1.0 authentication
- Connects to production Evernote API (not sandbox)
- Requires valid access token with read/write permissions
Error Handling
- Proper MCP error responses
- Graceful handling of Evernote API limitations
- Detailed error logging for debugging
🔐 Security Considerations
- Token Security: Never commit your access token to version control
- Permissions: Token should have minimal required permissions
- Rate Limiting: Evernote API has rate limits - use responsibly
- Data Privacy: All data stays between your Evernote account and Claude Desktop
🚨 Troubleshooting
Common Issues
-
"Tool not found" error:
- Restart Claude Desktop after configuration changes
- Verify config file path and syntax
- Check server logs in Claude Desktop logs directory
-
Authentication errors:
- Verify your access token is valid and has proper permissions
- Ensure you're using production API (not sandbox)
- Check token expiration
-
Server startup issues:
- Run
npm install
to ensure dependencies are installed - Test server independently:
node src/index.js
- Check Node.js version compatibility
- Run
Debug Logs
Claude Desktop logs are located at:
- Windows:
%APPDATA%\Claude\logs\mcp-server-evernote.log
- macOS:
~/Library/Application Support/Claude/logs/mcp-server-evernote.log
🤝 Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature-name
- Make your changes following the existing code style
- Test thoroughly with your Evernote account
- Submit a pull request with detailed description
📄 License
MIT License - see LICENSE file for details
🙏 Acknowledgments
- Built using the Model Context Protocol SDK
- Powered by Evernote SDK for JavaScript
- Follows MCP specification guidelines
Status: ✅ Production Ready - Successfully tested with Claude Desktop and production Evernote API