upnote-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@upnote-mcpfind notes about project launch"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
upnote-mcp
upnote-mcp is a read-only MCP server for reading local UpNote data from SQLite over stdio.
This is an unofficial project and is not affiliated with, endorsed by, or maintained by UpNote.
Features
search_notes: search notes by title, body text, or summarylist_recent_notes: list the most recently updated noteslist_notes_this_week: list notes updated during the current weeklist_notes_this_month: list notes updated during the current monthfind_notes: combine period, keyword, and tag filters in one callfind_and_open_note: find matching notes and open the most recent match in UpNoteopen_note: open a note in the UpNote app by note IDget_note: fetch the full contents of a note by note IDopen_notebook: open a notebook in the UpNote app by notebook IDlist_notebooks: list notebooks with note countscreate_note: create a new note through UpNote's official URL schemelist_tags: list tagssearch_by_tag: list notes for a tag
This project is intentionally read-only. It does not write to the UpNote database. Safe note creation and open actions are performed through UpNote's official URL scheme instead of direct database writes.
Related MCP server: upnote-lens-mcp
Package Name
This package is prepared to be published as @bellx2/upnote-mcp.
Requirements
macOSbuninstalled on the machine that runs the serverUpNote desktop app installed
Default UpNote database path:
~/Library/Containers/com.getupnote.desktop/Data/Library/Application Support/UpNote/upnote.sqlite3If your database lives somewhere else, set UPNOTE_DB.
Install
bun installRun
bun run startFor normal use, prefer the published package:
bunx @bellx2/upnote-mcpor:
npx @bellx2/upnote-mcpnpx support still depends on bun being installed, because this package uses Bun-specific APIs such as bun:sqlite.
For development with file watching:
bun run devInstall via MCP Bundle (.mcpb)
For Claude Desktop on macOS, you can also install a prebuilt MCP Bundle instead of running bunx.
An .mcpb file is a zip archive containing a standalone MCP server and a manifest.json. Claude Desktop can install it with a double click, similar to a browser extension.
Download
Tagged releases include an .mcpb asset on GitHub Releases.
Example file name:
upnote-mcp-0.2.7.mcpbInstall in Claude Desktop
Download the
.mcpbfile from GitHub ReleasesDouble-click the file
Follow the Claude Desktop installation dialog
Optionally set the UpNote database path during setup. The default path works for the standard UpNote desktop app location
The bundle includes a compiled macOS binary, so Bun is not required for this install path.
Build locally
To rebuild the bundle from source:
bun run build:mcpbThis creates dist/upnote-mcp.mcpb.
Release builds run on GitHub Actions (macos-latest) and are attached automatically when a v* tag is pushed.
Environment Variables
UPNOTE_DB: absolute path toupnote.sqlite3
Example:
export UPNOTE_DB="$HOME/Library/Containers/com.getupnote.desktop/Data/Library/Application Support/UpNote/upnote.sqlite3"Permissions
On first run, your MCP client may show permission prompts for command execution and local file access.
This is expected because the server:
launches through
bunreads your local UpNote SQLite database
may open the UpNote app for
open_note,open_notebook, orcreate_note
If you deny these permissions, note search and retrieval will not work. After granting access, you may need to restart the MCP server in Cursor or Claude Desktop.
MCP Config Example
Recommended: published package
Cursor
{
"mcpServers": {
"upnote": {
"command": "bunx",
"args": ["@bellx2/upnote-mcp"]
}
}
}Claude Desktop
Option 1: MCP Bundle (recommended)
Download and install the .mcpb file from GitHub Releases. No manual JSON editing is required.
Option 2: published package
{
"mcpServers": {
"upnote": {
"command": "bunx",
"args": ["@bellx2/upnote-mcp"]
}
}
}Local development checkout
Cursor
{
"mcpServers": {
"upnote": {
"command": "/absolute/path/to/bun",
"args": ["run", "/absolute/path/to/upnote-mcp/src/index.ts"]
}
}
}Claude Desktop
{
"mcpServers": {
"upnote": {
"command": "/absolute/path/to/bun",
"args": ["run", "/absolute/path/to/upnote-mcp/src/index.ts"]
}
}
}Example Workflows
Try prompts like:
Search UpNote for "travel" and show me the first resultShow me my 10 most recent UpNote notesShow me this week's notesShow me this month's notesFind this week's AI notesOpen this week's AI noteFind this month's notes tagged meetingOpen the latest note tagged meetingList my UpNote tags and open the note that matches the tag "meeting"Find notes about "launch", summarize them, and create a new UpNote note with the summaryList notebooks and open the one named "Research"
Tool Reference
search_notes
Input:
{
"query": "travel",
"limit": 5
}list_recent_notes
Input:
{
"limit": 10
}list_notes_this_week
Input:
{
"limit": 20
}list_notes_this_month
Input:
{
"limit": 20
}find_notes
Input:
{
"period": "this_week",
"query": "AI",
"limit": 10
}Or:
{
"period": "this_month",
"tag": "meeting",
"limit": 10
}find_and_open_note
Input:
{
"period": "this_week",
"query": "AI",
"limit": 10
}Or:
{
"period": "recent",
"tag": "meeting",
"limit": 10
}get_note
Input:
{
"id": "019fd239-a98a-742b-b75b-cee66e7aa830"
}open_note
Input:
{
"id": "019fd239-a98a-742b-b75b-cee66e7aa830"
}open_notebook
Input:
{
"id": "3f03c742-1270-4d35-a5bc-c7d98580d6fc"
}list_notebooks
Input:
{}list_tags
Input:
{}search_by_tag
Input:
{
"tag": "meeting",
"limit": 5
}create_note
Input:
{
"title": "Meeting Notes",
"text": "# Summary\n\nDraft created by MCP.",
"markdown": true,
"newWindow": false
}Verification
bun run check
bun run smoke
bun run build:mcpbJapanese README
The previous Japanese README is available at README_ja.md.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Search, read, and write your Apple Notes from ChatGPT/Claude via a local Mac agent + MCP relay.
Google Keep-style notes app with an MCP server for AI agents to read/write notes.
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Search your Glasp web and Kindle highlights, notes, and AI memories from any MCP client. Read-only.
Related MCP Servers
- AlicenseBqualityBmaintenanceMCP server for macOS Apple apps. Enables read/write access to Notes, Reminders, Calendar, Contacts, and Safari using SQLite and JXA, all running locally.428152MIT
- AlicenseBqualityFmaintenanceA hybrid MCP server that reads UpNote notes from the local SQLite database (returns actual text) and writes/opens notes via the upnote:// URL scheme, enabling search, retrieval, creation, and navigation of notes.105MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for AI agents to read, write, and organize notes in a local-first, human-in-the-loop note-taking app.62MIT
- AlicenseAqualityDmaintenanceComprehensive Apple Notes MCP server for local macOS note management.141,440MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bellx2/upnote-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server