Skip to main content
Glama
bellx2

upnote-mcp

by bellx2

upnote-mcp

upnote-mcp 是一个只读的 MCP 服务器,用于通过 stdio 从 SQLite 读取本地 UpNote 数据。

这是一个非官方项目,与 UpNote 无关联、未经其认可,也不由其维护。

功能

  • search_notes:按标题、正文或摘要搜索笔记

  • list_recent_notes:列出最近更新的笔记

  • list_notes_this_week:列出本周更新的笔记

  • list_notes_this_month:列出本月更新的笔记

  • find_notes:在一次调用中组合时间段、关键词和标签筛选条件

  • open_note:通过笔记 ID 在 UpNote 应用中打开笔记

  • get_note:通过笔记 ID 获取笔记的完整内容

  • open_notebook:通过笔记本 ID 在 UpNote 应用中打开笔记本

  • list_notebooks:列出笔记本及其笔记数量

  • create_note:通过 UpNote 官方 URL 方案创建新笔记

  • list_tags:列出标签

  • search_by_tag:列出某个标签下的笔记

本项目有意保持只读。它不会写入 UpNote 数据库。 安全的笔记创建和打开操作通过 UpNote 官方 URL 方案执行,而非直接写入数据库。

Related MCP server: upnote-lens-mcp

包名

此包准备以 @bellx2/upnote-mcp 发布。

系统要求

  • macOS

  • 运行服务器的机器上已安装 bun

  • 已安装 UpNote 桌面应用

  • 默认 UpNote 数据库路径:

~/Library/Containers/com.getupnote.desktop/Data/Library/Application Support/UpNote/upnote.sqlite3

如果数据库位于其他位置,请设置 UPNOTE_DB。

安装

bun install

运行

bun run start

对于正常使用,建议使用已发布的包:

bunx @bellx2/upnote-mcp

或:

npx @bellx2/upnote-mcp

npx 支持仍依赖于已安装的 bun,因为此包使用了 Bun 特定的 API,例如 bun:sqlite。

用于带文件监视的开发:

bun run dev

环境变量

  • UPNOTE_DB:upnote.sqlite3 的绝对路径

示例:

export UPNOTE_DB="$HOME/Library/Containers/com.getupnote.desktop/Data/Library/Application Support/UpNote/upnote.sqlite3"

权限

首次运行时,您的 MCP 客户端可能会显示命令执行和本地文件访问的权限提示。

这是预期的,因为服务器:

  • 通过 bun 启动

  • 读取您的本地 UpNote SQLite 数据库

  • 可能为 open_note、open_notebook 或 create_note 打开 UpNote 应用

如果您拒绝这些权限,笔记搜索和检索将无法工作。授予访问权限后,您可能需要重启 Cursor 或 Claude Desktop 中的 MCP 服务器。

MCP 配置示例

推荐:已发布的包

Cursor

{
  "mcpServers": {
    "upnote": {
      "command": "bunx",
      "args": ["@bellx2/upnote-mcp"]
    }
  }
}

Claude Desktop

{
  "mcpServers": {
    "upnote": {
      "command": "bunx",
      "args": ["@bellx2/upnote-mcp"]
    }
  }
}

本地开发签出

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"]
    }
  }
}

示例工作流

尝试以下提示:

  • 在 UpNote 中搜索“旅行”并显示第一个结果

  • 显示我最近的 10 条 UpNote 笔记

  • 显示本周的笔记

  • 显示本月的笔记

  • 查找本周的 AI 笔记

  • 查找本月标记为“会议”的笔记

  • 列出我的 UpNote 标签并打开匹配标签“会议”的笔记

  • 查找关于“发布”的笔记,总结它们,并用总结创建一条新的 UpNote 笔记

  • 列出笔记本并打开名为“研究”的笔记本

工具参考

search_notes

输入:

{
  "query": "travel",
  "limit": 5
}

list_recent_notes

输入:

{
  "limit": 10
}

list_notes_this_week

输入:

{
  "limit": 20
}

list_notes_this_month

输入:

{
  "limit": 20
}

find_notes

输入:

{
  "period": "this_week",
  "query": "AI",
  "limit": 10
}

或:

{
  "period": "this_month",
  "tag": "meeting",
  "limit": 10
}

get_note

输入:

{
  "id": "019fd239-a98a-742b-b75b-cee66e7aa830"
}

open_note

输入:

{
  "id": "019fd239-a98a-742b-b75b-cee66e7aa830"
}

open_notebook

输入:

{
  "id": "3f03c742-1270-4d35-a5bc-c7d98580d6fc"
}

list_notebooks

输入:

{}

list_tags

输入:

{}

search_by_tag

输入:

{
  "tag": "meeting",
  "limit": 5
}

create_note

输入:

{
  "title": "Meeting Notes",
  "text": "# Summary\n\nDraft created by MCP.",
  "markdown": true,
  "newWindow": false
}

验证

bun run check
bun run smoke

日文 README

之前的日文 README 可在 README_ja.md 中找到。

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    F
    maintenance
    A 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.
    10
    39 PyPI
    6
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for AI agents to read, write, and organize notes in a local-first, human-in-the-loop note-taking app.
    5 npm
    2
    MIT