upnote-lens-mcp — Claude Code MCP server for UpNote notes
Connects your AI assistant to UpNote: search, read and summarize notes, and create new ones without leaving the chat.
claude mcp add upnote-lens-mcp -- uvx upnote-lens-mcpWhat upnote-lens-mcp does
The server is hybrid by design. Reads hit the local UpNote SQLite database in read-only mode, so the assistant gets the real note text and can summarize it or answer questions about it. Writes take a different route: new notes go out through the upnote:// URL scheme (x-callback-url) and the database is left untouched.
Tools come in two sets. For reading and search: search_notes, get_note, list_recent, list_notebooks, list_notes_in_notebook, list_tags, list_notes_by_tag. For writing and opening: create_note, open_note, open_notebook. There is no syntax to memorize — you describe what you want in plain language.
Tags are the catch. The note/new scheme has no tag parameter, and hashtags typed into the body stay plain text instead of becoming real tags, so you add them in the app afterwards. On Windows the database path is guessed under %APPDATA%\UpNote\ and the author has not verified it; if reads fail, set UPNOTE_LENS_DB. You need Python 3.10+ (or uv) and the UpNote desktop app installed.
What it helps with
- find notes by keyword in titles or bodies
- summarize what you wrote about a project
- create a note from the chat without opening the app
- list notebooks with their note counts
- pull up every note carrying a tag
Example prompts for the agent
- Summarize my UpNote notes about the Q3 roadmap
- Create a note titled 'Standup' with today's three priorities
How to install upnote-lens-mcp
Platform CLI
claude mcp add upnote-lens-mcp -- uvx upnote-lens-mcpuvx runs the command named after the package; if the README names another one, use uvx --from upnote-lens-mcp <command>
Platform CLI
codex mcp add upnote-lens-mcp -- uvx upnote-lens-mcpuvx runs the command named after the package; if the README names another one, use uvx --from upnote-lens-mcp <command>
Config file
{
"mcpServers": {
"upnote-lens-mcp": {
"command": "uvx",
"args": [
"upnote-lens-mcp"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from upnote-lens-mcp <command>
Config file
{
"servers": {
"upnote-lens-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"upnote-lens-mcp"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from upnote-lens-mcp <command>
Platform CLI
gemini mcp add upnote-lens-mcp uvx upnote-lens-mcpuvx runs the command named after the package; if the README names another one, use uvx --from upnote-lens-mcp <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about upnote-lens-mcp
How do I install upnote-lens-mcp in Claude Code?
Install uv first if you don't have it. Then run claude mcp add upnote-lens-mcp -- uvx upnote-lens-mcp — there is no separate package install step, because uvx downloads and runs the server on demand.
What does upnote-lens-mcp do?
It searches and reads your UpNote notes from the local database, hands the actual text to the assistant for summarizing or analysis, and creates new notes through the upnote:// scheme.
Why can't I set tags when creating a note?
The note/new URL scheme takes no tag parameter, and hashtags in the body remain plain text rather than becoming real tags. Add tags in the app after the note is created.