Labsco
AwesomeHye logo

upnote-lens-mcp

1

from AwesomeHye

Let AI read, search, and summarize your UpNote notes — and create new ones — right from your chat.

🔥🔥🔥✓ VerifiedFreeQuick setup

upnote-lens-mcp

<!-- mcp-name: io.github.AwesomeHye/upnote-lens-mcp -->

A hybrid MCP server that lets your AI assistant work with your UpNote notes:

  • 🔍 Find & search notes by keyword across titles and bodies.
  • 📖 Read & summarize — it returns the actual note text, so the AI can summarize, analyze, or answer questions about what you've written.
  • ✍️ Create new notes from the chat.

Under the hood: reads come from the local UpNote SQLite database (read-only), so real content comes back as text; writes go through the upnote:// URL scheme (x-callback-url) and never touch the database.

The write side (URL scheme) is based on chadthornton/upnote-mcp (MIT).

Tools

Read (queries the local DB → returns real text)

ToolDescription
search_notes(query, limit=20)Substring search over title/body. Returns id, title, updated time, snippet
get_note(note_id, include_html=False)Full title + body text of a note (optionally raw HTML)
list_recent(limit=20)Most recently updated notes
list_notebooks()Notebooks with note counts and parent
list_notes_in_notebook(notebook_id, limit=50)Notes inside a notebook
list_tags()Tags with note counts
list_notes_by_tag(tag_title, limit=50)Notes carrying a tag

Write (upnote:// URL scheme)

ToolDescription
create_note(title, content, notebook?, markdown=True, new_window=False)Create a note. content is Markdown by default. notebook matches by name. Tags can't be set (see below)
open_note(note_id, new_window=False)Open an existing note in the app
open_notebook(notebook_id)Open a notebook in the app

Tag limitation: UpNote's note/new URL scheme has no tag parameter, and hashtags placed in the body stay as plain text rather than becoming real tags (they only convert to tags when typed in the editor). If you need tags, add them manually in the app after the note is created.

Override the DB path

If the database isn't in the default location (or you're on Windows), point at it with an environment variable:

UPNOTE_LENS_DB=/path/to/upnote.sqlite3

Default paths:

  • macOS: ~/Library/Containers/com.getupnote.desktop/Data/Library/Application Support/UpNote/upnote.sqlite3
  • Windows (best guess): %APPDATA%\UpNote\upnote.sqlite3