Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Description from the maker (original English)
Search, read and write notes in your local Drafta library over local stdio.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Download the maker’s .mcpb file
The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.
Run this in your terminal
Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified with the GitHub account rpegorov, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.0.0) reached the registry 19 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need MCPB on your computer.
In the same category: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Agent-Native Google Calendar - manage events, sync, and public booking
Lets AI create and edit Excel files itself, including formulas, charts and PivotTables, without Excel installed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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.
This repository exists so that you can check for yourself where your notes go. The answer is: nowhere.
URLSession, Network framework or socket anywhere in Sources/; the only dependency is the official MCP Swift SDK, used for its stdio transport.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.
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
Copy the binary somewhere stable, for example:
install -m 755 .build/release/drafta-mcp /usr/local/bin/drafta-mcp
usage: drafta-mcp [--library <path>] [--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 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.
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.
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 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.
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.
In settings.json:
{
"context_servers": { "drafta": { "command": "/usr/local/bin/drafta-mcp", "args": ["--library", "~/Library/Application Support/Drafta/Library"] } } }
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.
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 in the body on every read; only tags added separately live in the extraTags front-matter field.create_note writes the title as a # heading when the body has none.update_note and append_to_note save the replaced text under revisions/ (30 per note), where the app shows it as history.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.The server works whether or not the app is running. When it is, the app's file watcher picks up what the server wrote.
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.
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.