Skip to main content

Model Context Protocol (MCP) server for Evernote operations

Project description

Evernote MCP Server

English | 简体中文

Model Context Protocol (MCP) server for Evernote - enables Claude Code to interact with your Evernote notes.

Supports both International Evernote and Yinxiang Biji (印象笔记)

Features

  • Notebook operations (create, read, update, delete, list, get default)
  • Note operations (create, read, update, delete, copy, move, list, versions)
  • Tag management (create, read, update, delete, list, find by notebook)
  • Saved searches (create, read, update, delete, list)
  • Resource/Attachment operations (get, update, data, attributes, recognition)
  • Advanced note features (get content, search text, tag names, note versions)
  • Sync & utilities (sync state, note counts, find related content)
  • Full-text search using Evernote's search syntax
  • Multiple output formats (ENML, text, markdown, JSON)

Installation

npm install -g @anthropic/claude-code
uvx evernote-mcp

Configuration

1. Get Evernote Developer Token

International Evernote: https://evernote.com/api/DeveloperToken.action

Yinxiang Biji (印象笔记): https://app.yinxiang.com/api/DeveloperToken.action

2. Configure Claude Code

Edit ~/.config/claude-code/config.json:

For International Evernote:

{
  "mcpServers": {
    "evernote": {
      "command": "uvx",
      "args": ["evernote-mcp"],
      "env": {
        "EVERNOTE_AUTH_TOKEN": "your_token_here",
        "EVERNOTE_BACKEND": "evernote"
      }
    }
  }
}

For Yinxiang Biji (印象笔记):

{
  "mcpServers": {
    "evernote": {
      "command": "uvx",
      "args": ["evernote-mcp"],
      "env": {
        "EVERNOTE_AUTH_TOKEN": "your_token_here",
        "EVERNOTE_BACKEND": "china"
      }
    }
  }
}

Usage Examples

claude-code
User: Create a note in my "Project Notes" notebook summarizing the current TODO items from src/todo.py

Claude: I'll read the TODO file and create a note for you.
[Creates note with extracted TODOs]
User: Search my Evernote for notes about "API design" and summarize the key points

Claude: Let me search for those notes and analyze them.
[Searches and summarizes findings]
User: Create a notebook called "Code Reviews" and add a note template

Claude: I'll set that up for you.
[Creates notebook and template note]
User: Find all notes tagged with "important" and list them by update time

Claude: I'll search for notes with that tag and sort them.
[Uses search_notes and list_tags]

Environment Variables

Variable Default Description
EVERNOTE_AUTH_TOKEN - Your developer token (required)
EVERNOTE_BACKEND evernote evernote (International) or china (印象笔记)

Available Tools

Notebooks (6 tools)

  • create_notebook(name, stack) - Create a new notebook
  • list_notebooks() - List all notebooks
  • get_notebook(guid) - Get notebook details by GUID
  • update_notebook(guid, name, stack) - Update notebook name/stack
  • expunge_notebook(guid) - Permanently delete notebook
  • get_default_notebook() - Get the default notebook for new notes

Notes (8 tools)

  • create_note(title, content, notebook_guid, tags, format) - Create a new note
  • get_note(guid, output_format) - Get note (enml/text/markdown/json)
  • update_note(guid, title, content, format) - Update note title/content
  • delete_note(guid) - Move note to trash
  • expunge_note(guid) - Permanently delete note
  • copy_note(guid, target_notebook_guid) - Copy note to another notebook
  • move_note(guid, target_notebook_guid) - Move note to another notebook
  • list_notes(notebook_guid, limit) - List notes in notebook

Tags (7 tools)

  • list_tags() - List all tags
  • get_tag(guid) - Get tag details by GUID
  • create_tag(name, parent_guid) - Create a new tag
  • update_tag(guid, name, parent_guid) - Update tag name/parent
  • expunge_tag(guid) - Permanently delete tag
  • list_tags_by_notebook(notebook_guid) - List tags in a specific notebook
  • untag_all(guid) - Remove tag from all notes

Saved Searches (5 tools)

  • list_searches() - List all saved searches
  • get_search(guid) - Get saved search by GUID
  • create_search(name, query) - Create a new saved search
  • update_search(guid, name, query) - Update saved search
  • expunge_search(guid) - Delete saved search

Advanced Note Operations (5 tools)

  • get_note_content(guid) - Get ENML content only
  • get_note_search_text(guid, note_only, tokenize_for_indexing) - Get extracted plain text
  • get_note_tag_names(guid) - Get tag names for a note
  • list_note_versions(note_guid) - List previous versions (Premium only)
  • get_note_version(note_guid, update_sequence_num, ...) - Get specific version (Premium)

Resources/Attachments (13 tools)

  • get_resource(guid, with_data, with_recognition, ...) - Get resource by GUID
  • get_resource_data(guid, encode) - Get resource binary data (base64)
  • get_resource_alternate_data(guid, encode) - Get alternate data (e.g., PDF preview)
  • get_resource_attributes(guid) - Get resource metadata
  • get_resource_by_hash(note_guid, content_hash, ...) - Find resource by MD5 hash
  • get_resource_recognition(guid, encode) - Get OCR/recognition data
  • get_resource_search_text(guid) - Get extracted search text from resource
  • update_resource(guid, mime, attributes) - Update resource metadata
  • set_resource_application_data_entry(guid, key, value) - Set app data
  • unset_resource_application_data_entry(guid, key) - Remove app data
  • get_resource_application_data(guid) - Get all application data
  • get_resource_application_data_entry(guid, key) - Get specific app data entry

Search & Utilities (4 tools)

  • search_notes(query, notebook_guid, limit) - Search using Evernote query syntax
  • get_sync_state() - Get sync state information
  • find_note_counts(query, with_trash) - Get note counts per notebook/tag
  • find_related(note_guid, plain_text, max_notes, ...) - Find related notes/tags/notebooks

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

evernote_mcp-0.3.2.tar.gz (17.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

evernote_mcp-0.3.2-py3-none-any.whl (25.6 kB view details)

Uploaded Python 3

File details

Details for the file evernote_mcp-0.3.2.tar.gz.

File metadata

  • Download URL: evernote_mcp-0.3.2.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.1 CPython/3.14.2 Darwin/24.6.0

File hashes

Hashes for evernote_mcp-0.3.2.tar.gz
Algorithm Hash digest
SHA256 dfbc49770a53ab0ea08e8e430ef5034dfb72faebdb7c624c126d1c76f2cfb0e5
MD5 bfbbb1fe908dc298cb03a0e1e5e916ab
BLAKE2b-256 5e590dd735cdf1caea6796fa1f4eb01350b9b2776f031c15f5d9f9e936f4c1b1

See more details on using hashes here.

File details

Details for the file evernote_mcp-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: evernote_mcp-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 25.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.1 CPython/3.14.2 Darwin/24.6.0

File hashes

Hashes for evernote_mcp-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5cf8c772097f1d7bc6a038203331eadba1915722e8792a41180e0e82d4dbc2ef
MD5 f12af1a7a584024a6ba9e8dc23dff99e
BLAKE2b-256 914ae9efdcb6ae9920f613c18c3fc6e3ecb55611604c1266982ce77b52c5fcf8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page