export_notes
Export one or more notes to Markdown or JSON format
Read, write and reorganise Simplenote notes from the conversation — boolean search, tag renames across the whole account, rollback to an earlier version.
LABSCO SUMMARY
The interesting part is not reading notes, it is how carefully it writes them: appending rather than replacing, swapping one Markdown section, finding-or-creating by title so a running log stays a single note. Deletion is staged behind Trash and the irreversible calls demand an explicit confirmation. Two things to know before you wire it up — it wants your Simplenote email and password rather than a token, and Simplenote holds note bodies unencrypted unless you turn Vault on.
A Python server over a Simplenote account that keeps the notes in an in-memory cache and syncs it in the background. Notes can be searched with boolean queries, appended to, section-edited, tagged, rolled back to a previous version and exported.
SIMPLENOTE_EMAIL and SIMPLENOTE_PASSWORD — the account credentials themselves, not a token. Python 3.10 or newer, or the published docdyhr/simplenote-mcp-server container. It speaks stdio by default; MCP_TRANSPORT=http switches to HTTP, and on any non-loopback MCP_HTTP_HOST the server refuses to start unless MCP_HTTP_AUTH_TOKEN is set. Set CACHE_MAX_SIZE at or above your note count — the default is 10000 — and SYNC_INTERVAL_SECONDS decides how often the cache refreshes, every 120 seconds by default.
One command plus credentials — pip install simplenote-mcp-server, then supply credentials
USE CASES
A boolean query with a tag filter and a date range narrows it down, then the note comes back in full by ID.
get_or_create_note settles on one note by title, then add_text appends each new entry instead of replacing what is already there.
See every tag with its note count, rename one across all notes in a single atomic call, and find the notes that were never tagged at all.
get_note_versions lists the recent versions of the note and restore_version puts one of them back.
export_notes writes selected notes to Markdown or JSON, with metadata included if you want it.
empty_trash shows you what it would remove first; deleting for real takes dry_run=false and confirm=true together.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
export_notesExport one or more notes to Markdown or JSON format
find_untagged_notesList notes that have no tags. Useful for tag housekeeping — find notes that need to be organized.
get_noteRetrieves the full content of a note by ID from Simplenote. Use search_notes when you don't know the exact note ID.
get_note_versionsRetrieve the version history of a note (up to 10 most recent versions).
get_server_infoReturn version, author, and debug information about this MCP server. Use this to confirm which version is running, check whether the cache is initialized, and see runtime settings (log level, sync interval, offline mode). No parameters required.
list_notesList recent notes, optionally filtered by tag. Use search_notes for full-text or boolean queries. Use list_tags first to discover available tag names.
list_tagsList all tags used across notes with note counts. Use this before creating or searching by tags to discover existing tags and avoid fragmentation.
search_notesSearch for notes in Simplenote with advanced capabilities including fuzzy matching, pagination, and sorting support. To find the most recently updated note on a topic, use sort_by='modifydate' with sort_direction='desc' and limit=1. Use list_tags first if you need to discover available tags before filtering.
vault_statusCheck the Vault encryption key status: whether a key is available this session, which provider it came from (keyring or SIMPLENOTE_VAULT_KEY_FILE), and how many notes are currently Vault-encrypted. Call this before encrypt_note/decrypt_note or create_note/update_note with encrypt=true if you're unsure whether a key is provisioned. No parameters required.
BEFORE YOU INSTALL
9 tools when we connected; the project documents 30. A default connection exposes only reads; create_note, update_note, add_text and the other write tools appear once SIMPLENOTE_WRITE_MODE=true is set in the server's env. get_notes_by_tag, get_note_count and sync_notes appear in older docs but are not current tools.
INSTALLATION
pip install simplenote-mcp-serverOnly the read tools are on by default. To let the assistant create and edit notes (create_note, update_note, add_text, get_or_create_note, the tag and trash tools), add "SIMPLENOTE_WRITE_MODE": "true" to env.
{
"mcpServers": {
"simplenote": {
"description": "Access and manage your Simplenote notes",
"command": "simplenote-mcp-server",
"env": {
"SIMPLENOTE_EMAIL": "<YOUR_SIMPLENOTE_EMAIL>",
"SIMPLENOTE_PASSWORD": "<YOUR_SIMPLENOTE_PASSWORD>",
"CACHE_MAX_SIZE": "10000"
}
}
}
}Install from source
git clone https://github.com/docdyhr/simplenote-mcp-server.git
cd simplenote-mcp-server
pip install -e .Then add this to your client config
pip install -e . puts the simplenote-mcp-server command in the Python environment you installed into; if your client does not find it, put that command's absolute path in command. Add "SIMPLENOTE_WRITE_MODE": "true" to env if you want the write tools.
{
"mcpServers": {
"simplenote": {
"description": "Access and manage your Simplenote notes",
"command": "simplenote-mcp-server",
"env": {
"SIMPLENOTE_EMAIL": "<YOUR_SIMPLENOTE_EMAIL>",
"SIMPLENOTE_PASSWORD": "<YOUR_SIMPLENOTE_PASSWORD>",
"CACHE_MAX_SIZE": "10000"
}
}
}
}