home / mcp / evernote mcp server
Provides read-only access to Evernote for natural-language searches, note retrieval, and summaries via MCP protocol.
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.
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.
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.
{
"mcpServers": {
"evernote": {
"type": "http",
"name": "evernote_remote",
"url": "https://localhost:3443/mcp",
"args": [],
"env": {
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
}
}
}
}{
"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"
}
}
}
}{
"mcpServers": {
"evernote": {
"type": "stdio",
"name": "evernote",
"command": "docker",
"args": [
"exec", "-i", "--tty=false",
"evernote-mcp-server-evernote-mCP-server-1",
"node", "mcp-server.js"
]
}
}
}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.
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.
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.
The server exposes endpoints to search, fetch notes, and retrieve note content, enabling natural language interactions with your Evernote collection.
The project evolves with production-ready Docker deployments, enhanced MCP protocol support, and improved container stability with global error handling and minimal production logging.
Execute natural-language search over Evernote notes and return matching results
Retrieve cached search results for quick re-querying
Fetch detailed metadata for a specific note by ID
Retrieve full content of a note in text, HTML, or ENML formats