关于 Drafto
Drafto 是面向需要按笔记本整理内容的用户的笔记应用,支持 Web、移动端和 macOS。它结合富文本笔记、离线支持和 Evernote 导入。
主要功能
- 01按笔记本整理笔记
- 02编辑并自动保存富文本笔记
- 03离线使用并在联网时同步
- 04导入 Evernote .enex 文件
- 05深色模式
适用场景
- 01按笔记本归类笔记
- 02在断网时撰写和编辑笔记
- 03将 Evernote 笔记及附件迁入 Drafto
MCP 相关
Drafto 通过 MCP 服务向 Claude Desktop、Claude Cowork 及其他 MCP 客户端开放笔记。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://drafto.eu/api/mcpclaude mcp add --transport http eu-drafto https://drafto.eu/api/mcp{"mcpServers":{"eu-drafto":{"type":"http","url":"https://drafto.eu/api/mcp"}}}在 Cursor 中打开{"servers":{"eu-drafto":{"type":"http","url":"https://drafto.eu/api/mcp"}}}在 VS Code 中打开{"mcpServers":{"eu-drafto":{"type":"http","url":"https://drafto.eu/api/mcp"}}}{"mcpServers":{"eu-drafto":{"serverUrl":"https://drafto.eu/api/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://drafto.eu/api/mcp需要授权工具
详细介绍
Drafto
一款支持笔记本、富文本编辑和自动保存的笔记应用。提供 Web 应用、iOS + Android 应用和 macOS 桌面应用,均支持离线使用。
在线体验: drafto.eu
功能
- 笔记本 — 通过笔记本列表整理笔记
- 笔记 — 支持自动保存的富文本编辑(Web 端使用 BlockNote,移动端和桌面端使用 TenTap)
- 离线支持 — 移动端和桌面端使用 WatermelonDB 本地存储,并在联网时同步到 Supabase
- 身份验证 — 支持电子邮件/密码并进行电子邮件确认,也支持 Google 和 Apple OAuth;新账户须经管理员批准
- 深色模式 — 可感知系统设置的主题切换,并保存到 localStorage
- Evernote 导入 — 从
.enex文件导入笔记,完整支持内容和附件 - MCP 服务 — 通过 MCP 注册表中的
eu.drafto/mcp,向 Claude Desktop、Claude Cowork 和其他 MCP 客户端开放笔记 - 实时支持流程 — 每 5 分钟由驻留在 Mac mini 上的 Agent 检查发送到
[email protected]的邮件,再由 Claude Code 进行分类,并与 GitHub issue 双向同步;详见docs/features/support-agent.md
各功能领域的简要说明(代码路径、ADR、测试)请参阅 docs/features/。
技术栈
| 领域 | 技术栈 |
|---|---|
| Web | Next.js 16(App Router、Turbopack)、React 19、TypeScript、Tailwind CSS v4、BlockNote |
| 移动端 | Expo 55、React Native 0.84、expo-router、TenTap 编辑器、WatermelonDB |
| 桌面端 | React Native macOS 0.81.5、TenTap 编辑器、WatermelonDB(与移动端共享) |
| 后端 | Supabase(Postgres + Auth + Storage + RLS) |
| 托管 | Vercel(Web)、Fastlane → App Store / Play Store / Mac App Store |
| 监控 | Sentry(错误)、PostHog(分析) |
| 测试 | Vitest、Testing Library、Playwright、Jest、Maestro |
| Monorepo | pnpm workspaces + Turborepo |
架构深入介绍:docs/architecture/overview.md。
开始使用
前置条件
- Node.js 22+
- pnpm
- 一个 Supabase 项目 + Supabase CLI
- Playwright 浏览器 —
pnpm exec playwright install(用于 E2E)
移动端开发所需:Expo CLI、Android SDK、Xcode。
桌面端开发所需:Xcode、CocoaPods(gem install cocoapods)、通过 rbenv 安装的 Ruby 3.3.7。
首次设置的完整指南:docs/operations/local-dev-setup.md。
设置
git clone https://github.com/JakubAnderwald/drafto.git
cd drafto
pnpm install
# Configure web env
cp apps/web/.env.local.example apps/web/.env.local
# Fill in NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY
# Push schema to your Supabase project
supabase link --project-ref <your-project-ref>
supabase db push
# Run the dev server
pnpm dev
脚本
开发命令位于此处。构建/发布/部署命令位于 docs/operations/builds-and-releases.md。
| 命令 | 描述 |
|---|---|
pnpm dev | 启动开发服务器(所有应用) |
pnpm build | 生产构建 |
pnpm lint | ESLint(所有包) |
pnpm format:check | Prettier 检查 |
pnpm test | 单元测试 + 集成测试 |
pnpm typecheck | TypeScript 检查 |
pnpm migration:check | 检查迁移中是否存在破坏性 SQL 和缺失的 Data API 授权 |
各应用的测试命令:docs/architecture/testing.md。
项目结构
apps/
web/ Next.js web app (App Router)
mobile/ Expo + React Native iOS/Android
desktop/ React Native macOS
packages/
shared/ TypeScript types + constants (@drafto/shared)
supabase/
migrations/
docs/
features/ Per-area briefs (auth, notes, editor, sync, search, MCP, …)
architecture/ System shape (overview, environments, testing)
operations/ Runbooks (local-dev-setup, builds-and-releases, migrations)
adr/ Architecture Decision Records
archive/ Historical plans (not source of truth)
完整索引:docs/README.md。
贡献
所有工作都通过分支 + PR 进行——项目约定(工作树工作流、SOLID、测试要求、生产安全防护措施)请参阅 CLAUDE.md。决策记录在 docs/adr/ 中。
许可证
私有项目。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。