home / mcp / evernote mcp server

Evernote MCP Server

Provides read-only access to Evernote for natural-language searches, note retrieval, and summaries via MCP protocol.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "brentmid-evernote-mcp-server": {
      "url": "https://localhost:3443/mcp",
      "headers": {
        "DEV_MODE": "true",
        "EVERNOTE_CONSUMER_KEY": "YOUR_CONSUMER_KEY",
        "EVERNOTE_CONSUMER_SECRET": "YOUR_CONSUMER_SECRET",
        "NODE_TLS_REJECT_UNAUTHORIZED": "0"
      }
    }
  }
}

You run a local MCP server that bridges Claude Desktop or any MCP-compatible LLM with your Evernote account. It lets you search, read, and summarize your notes using natural language while keeping credentials and data local and secure.

How to use

Once you have the MCP server running, you connect Claude Desktop (or another MCP client) to either the local process or a remote/mcp-endpoint. You can ask natural language questions like β€œShow me all notes about my Sea Pro boat” and the server translates your request into Evernote API calls, returning structured results that the LLM can present.

Two integration modes are available. Use the remote HTTP/JSON-RPC option if you prefer a remote HTTPS connection. Use the local STDIO option when you want to run the server as a local process on your machine. In both cases you gain read-only access to search, read, and list notes, with authentication handled via OAuth 1.0a and token persistence.

Key tools you can invoke include searching notes with natural language, retrieving cached search results, and fetching detailed note metadata and full note content. Token handling is automatic: tokens are stored for re-authenticated access and reused when valid.

How to install

Prerequisites: you need Node.js (LTS) installed on your system, OpenSSL for SSL certificates during local development, and Evernote developer credentials to obtain a consumer key and consumer secret.

1) Install dependencies and prepare the environment.

2) Start the server or begin the container-based deployment as described below.

HTTP/Remote MCP server configuration (remote integration)

{
  "mcpServers": {
    "evernote": {
      "type": "http",
      "name": "evernote_remote",
      "url": "https://localhost:3443/mcp",
      "args": [],
      "env": {
        "NODE_TLS_REJECT_UNAUTHORIZED": "0"
      }
    }
  }
}

Local STDIO MCP server configuration (direct node execution)

{
  "mcpServers": {
    "evernote": {
      "type": "stdio",
      "name": "evernote",
      "command": "node",
      "args": ["/path/to/your/evernote-mcp-server/mcp-server.js"],
      "env": {
        "EVERNOTE_CONSUMER_KEY": "your-consumer-key-here",
        "EVERNOTE_CONSUMER_SECRET": "your-consumer-secret-here"
      }
    }
  }
}

Local STDIO MCP server configuration (Docker-based execution)

{
  "mcpServers": {
    "evernote": {
      "type": "stdio",
      "name": "evernote",
      "command": "docker",
      "args": [
        "exec", "-i", "--tty=false",
        "evernote-mcp-server-evernote-mCP-server-1",
        "node", "mcp-server.js"
      ]
    }
  }
}

Additional notes on setup

If you are using the Docker-based deployment, you will benefit from Chainguard secure base images and production-ready builds. Tokens persist across container restarts to minimize re-authentication.

Security and tokens

OAuth 1.0a is used for Evernote authentication. Tokens are stored locally for persistence and automatically reused when valid. Debug logging can be enabled with DEV_MODE for development, while production mode keeps logs minimal and secure.

Troubleshooting tips

If you encounter authentication problems, ensure your Evernote credentials are correct and that you completed the OAuth flow. For container issues, verify environment variables are set, check container logs, and confirm the MCP server path in your client configuration is correct.

Examples of available MCP endpoints

The server exposes endpoints to search, fetch notes, and retrieve note content, enabling natural language interactions with your Evernote collection.

Changelog and maintenance notes

The project evolves with production-ready Docker deployments, enhanced MCP protocol support, and improved container stability with global error handling and minimal production logging.

Available tools

createSearch

Execute natural-language search over Evernote notes and return matching results

getSearch

Retrieve cached search results for quick re-querying

getNote

Fetch detailed metadata for a specific note by ID

getNoteContent

Retrieve full content of a note in text, HTML, or ENML formats