Evernote MCP Server
An MCP (Model Context Protocol) server that connects Claude Desktop to Evernote, enabling you to list notebooks/notes and create new notes directly from conversations.
Features
- list_notebooks — List all notebooks in your Evernote account
- list_notes — List notes, optionally filtered by notebook
- get_note — Get a specific note's content
- create_note — Create a new note (supports Markdown)
- search_notes — Search notes by query
Setup
1. Get Evernote API Credentials
- Go to Evernote Developer Portal
- Request an API key
- Complete OAuth flow to get an access token
2. Configure Environment
Copy .env.example to .env and fill in your credentials:
cp .env.example .env
Edit .env: `` EVERNOTE_ACCESS_TOKEN=your-access-token-here EVERNOTE_ENVIRONMENT=production # or "sandbox" for testing EVERNOTE_USE_MOCK=false ``
3. Build Docker Image
docker build -t evernote-mcp .
4. Configure Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"evernote": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "EVERNOTE_ACCESS_TOKEN",
"-e", "EVERNOTE_ENVIRONMENT",
"evernote-mcp"
],
"env": {
"EVERNOTE_ACCESS_TOKEN": "your-access-token-here",
"EVERNOTE_ENVIRONMENT": "production"
}
}
}
}
5. Restart Claude Desktop
After configuring, restart Claude Desktop. You should see Evernote tools available.
Development
Testing with Mock Client
For development without Evernote credentials, use the mock client:
EVERNOTE_USE_MOCK=true python -m evernote_mcp.server
Testing with MCP Inspector
EVERNOTE_USE_MOCK=true mcp dev src/evernote_mcp/server.py
Running Tests
pip install -e ".[dev]"
pytest
Usage Examples
Once configured, you can ask Claude:
- "List my Evernote notebooks"
- "Show me notes in my Work notebook"
- "Create a note titled 'Meeting Notes' with the following content..."
- "Search for notes about 'project planning'"
Architecture
evernote-mcp/
├── src/evernote_mcp/
│ ├── server.py # MCP server (FastMCP)
│ ├── client_base.py # Abstract client interface
│ ├── client_mock.py # Mock client for testing
│ ├── client_evernote.py # Real Evernote API client
│ ├── models.py # Data models
│ └── enml.py # Markdown → ENML conversion
├── Dockerfile
└── pyproject.toml
License
MIT











