Evernote MCP Server

Evernote MCP Server

A Model Context Protocol server that allows AI assistants like Claude to interact with Evernote, enabling them to create, search, read, and manage notes through natural language.

Category
Visit Server

README

๐Ÿ“ Evernote MCP Server

License Python MCP

A Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with Evernote, allowing them to create, search, read, and manage notes seamlessly through natural language.

๐Ÿค– Transform your Evernote into Claude's brain! This MCP server bridges the gap between AI and your personal knowledge base.

โœจ Features

๐Ÿ”ง AI Tools Available

  • search_notes - Search through your Evernote notes with advanced queries
  • get_note_content - Retrieve full content of specific notes
  • create_note - Create new notes with title, content, and tags
  • update_note - Modify existing notes
  • create_notebook - Create new notebooks for organization
  • configure_evernote - Set up authentication with your Evernote account

๐Ÿ“‹ Live Resources

  • notebooks://list - Real-time access to your notebook structure
  • tags://list - Available tags for organization
  • recent-notes://list - Recently modified notes

๐Ÿš€ Quick Installation

Prerequisites

Option 1: One-Click Install (Recommended)

# Clone this repository
git clone https://github.com/Ak-9647/Evernote-MCP.git
cd Evernote-MCP

# Run the automated setup
python setup.py

Option 2: Manual Setup

# Clone the repository
git clone https://github.com/Ak-9647/Evernote-MCP.git
cd Evernote-MCP

# Install dependencies
pip install -r requirements.txt

Python Installation

If you don't have Python installed:

Windows:

  1. Download Python from python.org
  2. IMPORTANT: Check "Add Python to PATH" during installation
  3. Restart your terminal/PowerShell after installation
  4. Test: python --version

macOS:

# Using Homebrew (recommended)
brew install python

# Or download from python.org

Linux:

# Ubuntu/Debian
sudo apt update && sudo apt install python3 python3-pip

# CentOS/RHEL
sudo yum install python3 python3-pip

๐Ÿ”‘ Get Your Evernote API Key

IMPORTANT: You need an Evernote Developer Token to use this MCP server.

Step-by-Step Guide:

  1. Visit Evernote Developer Portal

  2. Request API Access by filling out their contact form:

    Full Name: [Your Name]
    Organization: Personal Use
    Application Name: Personal MCP Server  
    Description: MCP server for AI assistant integration with personal Evernote account
    Access Level: Full Access (recommended) or Basic Access
    
  3. Wait for Approval (usually 1-5 business days)

  4. You'll receive via email:

    • Consumer Key
    • Consumer Secret
    • Developer Token โ† This is what you need!

โš™๏ธ Configuration with Claude Desktop

Step 1: Locate Claude Desktop Config File

Find your Claude Desktop configuration file:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/claude/claude_desktop_config.json

Step 2: Add MCP Server Configuration

Add this to your claude_desktop_config.json file:

{
  "mcpServers": {
    "evernote": {
      "command": "python",
      "args": ["/full/path/to/Evernote-MCP/evernote_mcp_server.py"],
      "env": {}
    }
  }
}

Replace /full/path/to/Evernote-MCP/ with the actual path where you cloned this repository!

Step 3: Restart Claude Desktop

Close and reopen Claude Desktop to load the new MCP server.

๐Ÿ” Setting Up Your API Key

Method 1: Through Claude (Recommended)

  1. Open Claude Desktop
  2. Say: "Configure Evernote with my developer token: YOUR_DEVELOPER_TOKEN_HERE"
  3. Claude will respond with confirmation that Evernote is configured

Method 2: Environment Variables (Advanced)

Create a .env file in the project directory:

# .env file
EVERNOTE_DEVELOPER_TOKEN=your_token_here
EVERNOTE_USE_SANDBOX=true

๐Ÿšจ Security Note: Never commit your actual API tokens to Git! The .env file is already in .gitignore.

๐Ÿ’ก How to Use with Claude

Once configured, you can interact with your Evernote through natural language in Claude:

๐Ÿ“ Creating Notes

๐Ÿ‘ค "Create a note called 'Meeting Summary' with today's discussion points and tag it 'work'"

๐Ÿค– Claude will create the note and confirm: "I've created a note titled 'Meeting Summary' 
   in your default notebook with the 'work' tag."

๐Ÿ” Searching Notes

๐Ÿ‘ค "Find all my notes about machine learning from the past month"

๐Ÿค– Claude will search and show: "I found 5 notes about machine learning from the past month:
   1. 'Neural Networks Basics' (Dec 15)
   2. 'TensorFlow Tutorial' (Dec 20)..."

๐Ÿ“– Reading Content

๐Ÿ‘ค "Show me the content of my note titled 'Project Ideas'"

๐Ÿค– Claude will retrieve and display the full note content with formatting preserved.

๐Ÿ—‚๏ธ Organization

๐Ÿ‘ค "Create a new notebook called 'AI Research' and organize my machine learning notes there"

๐Ÿค– Claude will create the notebook and can help move related notes.

๐Ÿ”„ Smart Updates

๐Ÿ‘ค "Add today's meeting notes to my existing 'Weekly Standup' note"

๐Ÿค– Claude will find the note and append the new information.

๐Ÿงช Testing Your Installation

Quick Test

Run the built-in test script:

cd Evernote-MCP
python test_server.py

Pre-flight Check:

# Verify Python is working
python --version

# Check dependencies
python -c "import httpx; print('โœ… httpx available')"

# Test MCP server loads
python -c "from evernote_mcp_server import app; print('โœ… MCP server loads successfully')"

This will test:

  • โœ… Python dependencies
  • โœ… MCP server functionality
  • โœ… Claude Desktop configuration
  • โœ… Evernote API connection (if you provide your token)

Automated Testing (for CI/CD)

The test script can be run non-interactively, perfect for automated workflows:

python test_server.py --non-interactive --token "YOUR_EVERNOTE_TOKEN"

The script will exit with a non-zero status code if any tests fail.

Manual Verification

  1. Check Claude Desktop - Look for "๐Ÿ”ง Evernote" in Claude's available tools
  2. Test Configuration - Say: "Configure Evernote with my token: YOUR_TOKEN"
  3. Test Search - Say: "Search my Evernote for any note"

๐Ÿ”ง Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    MCP Protocol    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    Evernote API    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                 โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚                 โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚                 โ”‚
โ”‚  Claude Desktop โ”‚     (JSON-RPC)     โ”‚ Evernote MCP    โ”‚      (HTTPS)       โ”‚  Evernote       โ”‚
โ”‚  (MCP Client)   โ”‚                    โ”‚    Server       โ”‚                    โ”‚  Service        โ”‚
โ”‚                 โ”‚                    โ”‚                 โ”‚                    โ”‚                 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Component Breakdown:

  1. Claude Desktop - The MCP client that sends requests
  2. Evernote MCP Server - This application that translates MCP calls to Evernote API
  3. Evernote Service - The actual Evernote cloud service

๐Ÿ” Security & Authentication

Developer Tokens

  • Used for development and personal use
  • Tied to a specific Evernote account
  • Access level determined when requesting API key

OAuth (Future Enhancement)

  • For production applications
  • Allows users to authorize access without sharing credentials
  • More secure for shared or distributed applications

Environment Variables

For enhanced security, you can set environment variables:

export EVERNOTE_DEVELOPER_TOKEN="your_token_here"
export EVERNOTE_USE_SANDBOX="true"  # Set to "false" for production

๐Ÿ› ๏ธ Development

Project Structure

evernote-mcp-server/
โ”œโ”€โ”€ evernote_mcp_server.py    # Main MCP server implementation
โ”œโ”€โ”€ requirements.txt          # Python dependencies
โ”œโ”€โ”€ README.md                # This file
โ””โ”€โ”€ tests/                   # Unit tests (future)

Key Classes

  • EvernoteClient - Handles Evernote API communication
  • FastMCP - The MCP server framework
  • Tools & Resources - MCP endpoints for AI interaction

Testing

# Install test dependencies
pip install pytest pytest-asyncio

# Run tests (when implemented)
pytest tests/

๐Ÿ” Troubleshooting

โŒ "Evernote client not initialized"

Solution:

  • Run: "Configure Evernote with my developer token: YOUR_TOKEN" in Claude
  • Verify your developer token is correct
  • Check if you're using sandbox vs production environment

โŒ Claude doesn't see the Evernote tools

Solution:

  • Restart Claude Desktop completely
  • Check the path in claude_desktop_config.json is correct
  • Ensure Python can run: python evernote_mcp_server.py

โŒ "Failed to create note"

Solution:

  • Ensure your API key has create permissions (Full Access recommended)
  • Check that the specified notebook exists
  • Verify your token hasn't expired

โŒ Connection/Authentication Issues

Solution:

  • Test your token: python test_server.py
  • Confirm internet connectivity
  • Check if corporate firewall blocks Evernote API
  • Try sandbox environment first: EVERNOTE_USE_SANDBOX=true

โŒ Import/Module Errors

Solution:

# Reinstall dependencies
pip install --upgrade -r requirements.txt

# Check Python version
python --version  # Should be 3.8+

๐Ÿ’ก Still Having Issues?

  1. Run the test script: python test_server.py
  2. Check the logs in Claude Desktop's developer console
  3. Create an issue on this GitHub repository with:
    • Your operating system
    • Python version
    • Error messages
    • Steps you've tried

๐Ÿšฆ API Limits

Evernote has rate limits on API usage:

  • Basic Access: Limited operations per hour
  • Full Access: Higher rate limits
  • Production: Different limits than sandbox

The server includes error handling for rate limit responses.

๐Ÿš€ Installing from GitHub (For Users)

If someone shared this repository with you, here's how to get it running:

Quick Setup Commands

# Clone the repository
git clone https://github.com/Ak-9647/Evernote-MCP.git
cd Evernote-MCP

# Install and configure everything
python setup.py

# Test your installation
python test_server.py

What the setup does:

  1. โœ… Installs all Python dependencies
  2. โœ… Configures Claude Desktop automatically
  3. โœ… Guides you through getting your Evernote API key
  4. โœ… Tests everything works correctly

๐Ÿ›ฃ๏ธ Roadmap

  • [ ] OAuth Support - More secure authentication
  • [ ] Web Clipper Integration - Save web pages via Claude
  • [ ] Shared Notebooks - Collaborate through AI
  • [ ] Advanced Search - Saved searches and filters
  • [ ] File Attachments - Handle images and documents
  • [ ] Multi-Account - Support multiple Evernote accounts

๐Ÿค Contributing

We welcome contributions! Here's how:

For Developers:

  1. Fork this repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

For Users:

  • ๐Ÿ› Report bugs via GitHub Issues
  • ๐Ÿ’ก Suggest features you'd like to see
  • ๐Ÿ“š Improve documentation
  • โญ Star this repo if you find it useful!

๐Ÿ“Š Project Stats

GitHub stars GitHub forks GitHub issues

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ”— Related Projects & Links

โš ๏ธ Important Disclaimers

  • Unofficial Project: Not affiliated with or endorsed by Evernote Corporation
  • Security: Keep your API tokens secure and never commit them to public repositories
  • Compliance: Ensure you follow Evernote's Terms of Service and API License Agreement
  • Rate Limits: Respect Evernote's API rate limits to avoid service interruption

๐ŸŽ‰ Success Stories

"This MCP server transformed how I use my Evernote. Now Claude can help me organize 10 years of notes effortlessly!" - Happy User


Made with โค๏ธ for the AI community

Star โญ this repo if it helps you! Happy Note-Taking with AI! ๐Ÿค–๐Ÿ“š

๐Ÿ› ๏ธ Developer Mode

For advanced users and developers, a Developer Mode can be enabled to access extra debugging tools and verbose logging.

How to Enable: Set the DEV_MODE environment variable to true. This can be done in your claude_desktop_config.json or directly in your shell.

Example claude_desktop_config.json:

{
  "mcpServers": {
    "evernote": {
      "command": "python",
      "args": ["/full/path/to/Evernote-MCP/evernote_mcp_server.py"],
      "env": {
        "DEV_MODE": "true"
      }
    }
  }
}

Developer Features

  • ๐Ÿ“ Verbose Logging: See detailed API requests and responses (including payloads) in the server console.
  • ๐Ÿ›ก๏ธ Dry Run Mode: Add dry_run=True to create_note or update_note tool calls to simulate the action without modifying your data. This is great for testing prompts.
  • ๐Ÿ”ง New Dev Tools:
    • dev_get_config: Returns the current server configuration (token status, environment, etc.).
    • dev_clear_config: Resets the Evernote authentication, useful for switching accounts.
    • dev_api_test: Performs a live API test to check connectivity and permissions.

๐Ÿงช Testing Your Installation

Quick Test

Run the built-in test script:

cd Evernote-MCP
python test_server.py

This will test:

  • โœ… Python dependencies
  • โœ… MCP server functionality
  • โœ… Claude Desktop configuration
  • โœ… Evernote API connection (if you provide your token)

Automated Testing (for CI/CD)

The test script can be run non-interactively, perfect for automated workflows:

python test_server.py --non-interactive --token "YOUR_EVERNOTE_TOKEN"

The script will exit with a non-zero status code if any tests fail.

Manual Verification

  1. Check Claude Desktop - Look for "๐Ÿ”ง Evernote" in Claude's available tools
  2. Test Configuration - Say: "Configure Evernote with my token: YOUR_TOKEN"
  3. Test Search - Say: "Search my Evernote for any note"

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured