drafta-mcp

DSH PLUGIN记忆与知识

仓库 rpegorov/drafta-mcp

记忆与知识 L4 · 沙盒安装通过 安全审查:低风险 可信度:银 可安装插件
安装这个插件

drafta-mcp 是 rpegorov 维护的 记忆与知识 类 DSH 可安装插件, 仓库为 rpegorov/drafta-mcp,许可证 Apache-2.0。 下面按「装什么、怎么装、验没验过、跑起来要注意什么」逐项列出。

一句话选型结论

按资料字段整理

drafta-mcp 是记忆与知识类的 DSH 可安装插件,验证等级 L4 · 沙盒安装通过,安全审查为低风险,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类记忆与知识 收录类型可安装插件 验证等级L4 · 沙盒安装通过 安全审查低风险
验证等级 L4 L4 · 沙盒安装通过
GitHub 星标 1 复刻 未标注 · 未关闭 issue 未标注
最近更新 2026-10-18 创建于 未标注
README 8.5 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:rpegorov/drafta-mcp#v1.0.0
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注

适用场景

文件读写

验证等级与安全审查

L4 · 沙盒安装通过
自动化流程结论,不是人工审核
验证等级L4 · 沙盒安装通过安装命令在隔离沙盒内真实执行成功,无依赖错误
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度银综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L4:在沙盒里真实装过,依赖能装上,不是纸面声明。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在记忆与知识场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
drafta-mcp当前 L4 · 沙盒安装通过 低风险 1 未标注 有
ruflo L3 · 安装规范通过 低风险 7.4 万 未标注 无
OpenViking L3 · 安装规范通过 低风险 3.9 万 未标注 无
WeKnora L4 · 沙盒安装通过 低风险 3.3 万 未标注 有
distilly L4 · 沙盒安装通过 低风险 2.5 万 未标注 有
EverOS L4 · 沙盒安装通过 低风险 1.3 万 未标注 有

仓库档案

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方rpegorov仓库 drafta-mcp · 默认分支 未标注
分类记忆与知识knowledge
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证Apache-2.0商用或二次分发前请确认条款原文
星标 / 复刻 / issue1 / 未标注 / 未标注收录时的数值,非实时
创建 / 更新未标注 · 2026-10-18最后推送 未标注
本站收录2026-10-30首次进入本站目录的时间

README 全文

8.5 KB
作者原文,中文版优先;只做安全转义,不改内容

drafta-mcp

A Model Context Protocol server that exposes a
Drafta note library to an AI assistant — Claude Code, Zed, or
any other MCP client that launches servers over stdio.

The assistant can search and read your notes, and (unless you start the server
with --read-only) create notes, append to them, tag them, set their status and
file them into notebooks. Everything it writes lands in the same Markdown files the
Drafta app reads, so a note created from a chat is indistinguishable from one you
typed.

Privacy

This repository exists so that you can check for yourself where your notes go.
The answer is: nowhere.

  • stdio only. The server talks to the client that launched it over stdin and
    stdout. It opens no socket and listens on no port.
  • Local files only. It reads and writes files under the library directory and
    nothing else. It never touches the app's settings, keychain items or sync state.
  • No network. No code in this package makes a network request. There is no
    URLSession, Network framework or socket anywhere in Sources/; the only
    dependency is the official MCP Swift SDK, used for its stdio transport.
  • No accounts, no licence check, no telemetry.

What your notes are exposed to is whatever the MCP client does with the text it
reads — that part is up to the client you connect.

Build

Requires macOS 13 or later and Swift 6 (Xcode 16 or newer).

swift build -c release

The binary is .build/release/drafta-mcp.

swift test   # the test suite

Install

Copy the binary somewhere stable, for example:

install -m 755 .build/release/drafta-mcp /usr/local/bin/drafta-mcp

Usage

usage: drafta-mcp [--library ] [--read-only]

-l, --library   library root (default: ~/Library/Application Support/Drafta/Library)
-r, --read-only       publish read tools only
-h, --help            print this help and exit

Without --library the server opens the library the Drafta app uses. A ~ in the
path is expanded by the server, since client configs are JSON and no shell sees
them. An unknown flag is an error: --readonly (a typo) does not start a
writable server.

Claude Code

claude mcp add drafta -- /usr/local/bin/drafta-mcp --library "~/Library/Application Support/Drafta/Library"

Add --read-only at the end to give the assistant read access only.

Claude Code plugin

This repository is also a Claude Code plugin marketplace. The plugin starts the
drafta-mcp helper that ships inside Drafta.app, so it requires Drafta.app in
/Applications.

/plugin marketplace add rpegorov/drafta-mcp
/plugin install drafta@drafta

The plugin runs the server with its defaults (the app's library, read and write).
For read-only access, or for Drafta.app in ~/Applications, register the helper
yourself with claude mcp add and pass --read-only or the full path; see
plugins/drafta/README.md.

Claude Desktop (MCPB)

Download drafta-mcp.mcpb from the Releases
page and double-click it. The bundle contains no binary: it starts the drafta-mcp
helper that ships inside Drafta.app, so it requires Drafta.app in /Applications.
Build it from source with scripts/build-mcpb.sh.

Codex

codex plugin marketplace add rpegorov/drafta-mcp
codex plugin add drafta@drafta

The plugin starts the helper inside Drafta.app, so it needs Drafta.app in /Applications.

DeepSeek Harness (DSH)

plugins/dsh-drafta adds a @deepseek-ai/dsh-mcp-client row (dsh-drafta-mcp) for the
Drafta helper. Add the package to your profile's package.json the same way as any
local plugin, with a link: dependency, and list it under dsh.profile.bundles:

{
"dependencies": { "dsh-drafta": "link:/path/to/drafta-mcp/plugins/dsh-drafta" },
"dsh": { "profile": { "bundles": ["dsh-drafta"] } }
}

If you already added Drafta to DSH by hand, remove one of the two: both register a
server named drafta.

Zed

In settings.json:

{
"context_servers": {
"drafta": {
"command": "/usr/local/bin/drafta-mcp",
"args": ["--library", "~/Library/Application Support/Drafta/Library"]
}
}
}

Tools

Read tools (always published):

Tool What it does
search_notes Full-text search over titles, bodies and tags, filtered by tag, status, notebook; newest first, limit up to 100. An empty query lists the most recent notes.
read_note One note in full, by id or exact title.
list_notebooks Notebooks with their hierarchy.
list_tags Every tag in use.
formatting_guide The Markdown Drafta renders: callouts, mermaid, task lists, tags, wiki links, maths.

Write tools (not published with --read-only):

Tool What it does
create_note New note; goes to the Inbox unless a notebook is given. Optional tags and status.
append_to_note Adds text to the end; the previous text is kept as a revision.
update_note Replaces the body; the previous text is kept as a revision.
set_note_status active, onHold, completed, dropped or none.
tag_note Adds tags (array, or a comma-separated string).
create_notebook Creates a notebook, or returns the existing one with that name.
trash_note Moves a note to the trash; the file is kept.

Notes are also published as MCP resources (drafta://note/, the 200 most
recent), so a client can attach one as context without a tool call.

Library format

A library is a plain directory:

Library/
library.json              notebooks (pretty-printed, sorted JSON)
notes/.md           one note: YAML front matter + Markdown body
revisions//.md  previous bodies of a note, one file per revision
editor-hold.json          written by the app while it holds unsaved text

Things worth knowing if you read or write these files yourself:

  • Tags are not stored. They are derived from #tags in the body on every read;
    only tags added separately live in the extraTags front-matter field.
  • The title is the first line of the body. create_note writes the title as
    a # heading when the body has none.
  • A note without a notebook is an orphan, visible only under All Notes, so new
    notes are filed into the Inbox (created if missing).
  • Edits keep history. update_note and append_to_note save the replaced
    text under revisions/ (30 per note), where the app shows it as history.
  • Open notes are protected. While the Drafta app holds unsaved text for a note,
    it lists that note in editor-hold.json; update_note and append_to_note
    refuse to write that note's body and say so, instead of reporting a success the
    app would overwrite a moment later.
  • library.json is edited under file coordination, so a notebook the app adds
    at the same moment is not lost.

The server works whether or not the app is running. When it is, the app's file
watcher picks up what the server wrote.

Relationship to Drafta.app

Drafta.app ships its own copy of drafta-mcp inside the app bundle. This
repository is not that binary.
It is an independent, community-editable snapshot
of the same server: same tool names, same arguments, same on-disk format, with the
app's licence check removed — writes here are gated only by --read-only. The two
are developed separately and may drift; if the app ever changes its library format,
this snapshot does not follow automatically.

Contributions are welcome.

Licence

Apache License 2.0 — see LICENSE and NOTICE.


Кратко по-русски

drafta-mcp — MCP-сервер для библиотеки заметок Drafta. Работает только через
stdio, читает и пишет только файлы в каталоге библиотеки и не делает ни одного
сетевого запроса. Сборка: swift build -c release. Подключение к Claude Code:
claude mcp add drafta -- /путь/к/drafta-mcp --library <путь к библиотеке>.
Флаг --read-only оставляет только инструменты чтения. Это независимый снимок
сервера, а не бинарник, который поставляется внутри Drafta.app.


常见问题

5 问
答案由本站依据条目字段整理,不引用上游原文
drafta-mcp 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:rpegorov/drafta-mcp#v1.0.0` 即可。

drafta-mcp 的验证等级是什么意思?

L4 · 沙盒安装通过。安装命令在隔离沙盒内真实执行成功,无依赖错误

drafta-mcp 安全吗?

低风险。

drafta-mcp 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

drafta-mcp 用的是什么许可证?

上游标注为 Apache-2.0。商用或二次分发前请到仓库确认许可证原文。

记忆与知识
按星标排序,可作替代方案

ruflo

ruflo

L3 · 安装规范通过 7.4 万 星

OpenViking

OpenViking

面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`vik

L3 · 安装规范通过 3.9 万 星

WeKnora

WeKnora

把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己

L4 · 沙盒安装通过 3.3 万 星

distilly

distilly

Distilly — Distill how they think into reusable Skills for any Agent o

L4 · 沙盒安装通过 2.5 万 星

EverOS

EverOS

L4 · 沙盒安装通过 1.3 万 星

MemOS

MemOS

L4 · 沙盒安装通过 1.2 万 星

rpegorov 的其它插件

5 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。