Skip to main content
Glama
eliasblume

samsung-reminder-mcp

by eliasblume

Windows 版提醒事项

一个非官方的三星 One UI 风格桌面客户端及本地 MCP 服务器,用于读写三星提醒事项数据,无需微软提醒事项同步。

[!重要] 此实验性项目与三星无关联、未经三星认可,亦不受三星支持。它依赖于可能随时变更的私有三星浏览器和三星云行为。

截图

所有图片均展示内置浏览器预览,并附带捆绑的示例数据。

深色外观主窗口

浅色外观

紧凑窗口及详情抽屉

首次运行提示

浅色外观主窗口

紧凑窗口中的详情抽屉

云访问提示

Related MCP server: Reminders MCP Server

要求

对于预构建发布版本:

  • 64 位 Windows 10 版本 1809 或更新版本,或 Windows 11,运行于 x64 或 ARM64 架构。发布版 CI 构建并原生测试两种架构。

  • 使用三星官方 64 位安装程序安装 Samsung Browser for Windows。

  • 通过三星浏览器登录三星账户。至少打开一次浏览器,使其创建默认配置文件。

  • 可访问三星云网络。安装程序可能在 Microsoft Edge WebView2 不可用时自动下载。

此项目目前期望三星的标准系统范围安装及默认配置文件路径:

  • C:\Program Files\Samsung\Internet\Application\samsunginternet.exe

  • %LOCALAPPDATA%\Samsung\Internet\User Data\Default

自定义安装及配置文件位置目前不会被检测到。首次同步前,必须完全关闭三星浏览器。否则,Chromium 将辅助启动路由到现有进程,而不会启用私有本地主机桥接。在应用缓存了有效凭据后,正常提醒操作将不再保持浏览器打开。

三星目前提供独立的官方 x64 和 ARM64 永久安装程序。本项目发布相应 x64 和 ARM64 应用构建。

安装

从 GitHub 发布 下载最新的 NSIS 安装程序、MSI 或便携 ZIP。

Scoop

此仓库也是一个 Scoop bucket:

scoop bucket add samsung-reminder https://github.com/eliasblume/samsung-reminder-desktop
scoop install samsung-reminder/samsung-reminder

本地 MCP 服务器是一个独立包,因此仅桌面安装不会将命令行二进制文件添加到 PATH:

scoop install samsung-reminder/samsung-reminder-mcp

从 v0.1.1 或更早版本升级时,请先更新 samsung-reminder,然后再安装 MCP 包,以便 Scoop 先移除之前捆绑的 MCP shim。

发布流水线从其独立的 x64 和 ARM64 包更新两个 Scoop 包。此后可通过以下命令安装未来版本:

scoop update samsung-reminder
scoop update samsung-reminder-mcp

从源码运行

源码构建需要 Node.js 22.12 或更新版本、pnpm 11.17、Rust 1.97.1、Windows 版 Tauri 先决条件 以及包含“使用 C++ 的桌面开发”工作负载的 Visual Studio 构建工具。

pnpm install --frozen-lockfile
pnpm tauri:dev

深色模式是首次运行的默认设置。外观切换会本地保存。

编辑器支持三星列表、笔记和清单、重要性、完成状态、提醒强度、提前提醒、全天及定时日程、位置触发、分钟/小时/天/周/月/年重复。列表颜色和全部 42 个类别图标索引通过三星云同步。月度规则使用月中的某天,年度规则使用月份加日期,与移动数据模型一致。

构建

pnpm typecheck
pnpm tauri:build
pnpm build:mcp

Tauri 在 src-tauri/target/release/bundle 下生成 NSIS 和 MSI 安装程序。自动化 SemVer 发布流程见 RELEASING.md。

MCP 服务器

安装 samsung-reminder-mcp Scoop 包会将 samsung-reminder-mcp 添加到 PATH。因此,本地 MCP 配置可以使用:

[mcp_servers.samsung-reminders]
command = "samsung-reminder-mcp"
env = { CDP_ENDPOINT = "http://127.0.0.1:9226" }

对于源码构建,请将 command 指向 src-tauri/target/release/samsung-reminder-mcp.exe。

stdio 服务器暴露以下功能:

  • samsung_reminders_status

  • samsung_reminders_list

  • samsung_reminder_categories_list

  • samsung_reminder_category_create

  • samsung_reminder_category_update

  • samsung_reminder_category_delete

  • samsung_reminders_get

  • samsung_reminders_create

  • samsung_reminders_update

  • samsung_reminders_delete

提醒和类别删除需要 confirmId 完全匹配目标 ID。删除类别时,会先将其提醒移至“我的提醒”。MCP 状态故意省略了本地桌面 UI 可显示的三星账户邮箱和账户 ID 提示。

架构

  • React、TanStack DB 和 TanStack Query 用于实时集合、乐观更新和云操作缓存

  • Tailwind CSS、Radix 原语和 Lucide 图标,用于 One UI 风格界面

  • Tauri 2 和 Rust 用于桌面外壳、浏览器生命周期管理及直接的三星云客户端

  • 一个小的 JavaScript 引导程序,仅在三星已签名的日历扩展中运行

  • Windows 凭据管理器,加上内存中的 Rust 凭据缓存

  • 一个共享相同桥接实现的兄弟 Rust stdio MCP 二进制文件

隐私与安全

三星云凭据保留在 Rust 中,并通过 Windows 凭据管理器为当前 Windows 用户加密。它永远不会通过 React 或 MCP 返回,也不会写入日志或纯文本文件。CDP 端点限制为显式的 http://127.0.0.1:<port> 源。

使用设置 → 断开三星账户可移除缓存的凭据并返回首次运行提示。设置 → 擦除所有应用数据还会清除存储的同意选择及所有本地设置,实现完全恢复出厂设置。这两种操作均不会删除存储在三星云中的提醒。

仓库中不包含任何三星 APK、反编译的三星源代码、三星账户数据、捕获的 API 负载、用户截图、访问令牌或三星艺术品。源代码中的扩展 ID、云应用 ID、端点及表名是协议常量,而非用户凭据。

在首次云请求之前,应用会显示显式提示并要求本地选择加入。私有接口注意事项、实现来源及依赖声明见 LEGAL.md、PROVENANCE.md 和 THIRD_PARTY_NOTICES.md。

报告漏洞前请先阅读 SECURITY.md。切勿在公共问题中附加令牌、提醒内容、浏览器配置文件数据或未脱敏的崩溃转储。

范围与注意事项

三星浏览器、已签名扩展或云 API 的更新可能破坏此项目。当前概念验证涵盖列表、读取、创建、编辑、完成、收藏、自定义列表、清单、重复、位置/时间闹钟、提前提醒、全天提醒、提醒强度、共享及受保护删除。

附件上传、语音捕获、地图搜索/地理编码及三星建议提醒模板尚未实现。Windows 安装程序最初未签名,因此 Windows 可能显示发布者警告。校验和验证下载的字节,但不建立发布者身份。

许可证

MIT © 2026 eliasblume

Related MCP Connectors

Related MCP Servers