Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
Description from the maker (original English)
Local-first Mac meeting memory: promises, decisions, people, the next-call brief. Read-only.
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 9, 2026
The registry name was verified with the GitHub account Stari-am, 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.27) reached the registry 2 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:↓ Downloads per weeki★ 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 promise with a date turns up when the date passes. One without a date never turns up at all.
Griasa records your meetings on your own Mac, works out who promised what, and puts the second kind in front of you before your next call with the person you owe. A menu-bar app, not a service.
Download for macOS · The project page · What changed
Five minutes before a call, without taking keyboard focus. Everybody in these screenshots is invented — the app is pointed at a made-up team to photograph it, with Support/shoot-docs.sh .
Before the call. Minutes before a calendar event, a panel appears with who is on it and what you last discussed. Open promises are grouped by *why* you are being shown them — overdue, promised in an earlier call with exactly these people, from a one-to-one with somebody in the room, or with these people from somewhere else. A promise involving nobody in the room is not shown at all. One button opens the Zoom or Meet link and starts recording.
During. Your microphone and everything the Mac plays are captured as two tracks, which is what lets the transcript say who was speaking. Make a reminder from anything on screen (⌃⌥⌘R) and it remembers the app, window and browser tab it came from. Hold a key and talk, and the words land in whatever app has focus.
After. Promises are pulled out of the transcript — who took what on and by when — split into what you owe and what you are owed. A later conversation can *propose* closing one, and has to quote the sentence that says it was finished; nothing closes itself. Anything old and undated gets asked about, because that is the kind that never surfaces on its own. Every colleague gets a page built from the meeting roster, with no setup step.
And your own assistant can read it. Claude Code, Codex, Cursor — anything speaking MCP — over a local, token-protected, read-only endpoint, and Claude Desktop installs it in one click.
Your day on one screen. Today shows the meetings ahead and what you and each table owe each other, your overdue promises, what your team is late on and the decisions due for another look. A morning brief brings it up at 8:00, and a desktop widget keeps it in view. Each meeting also yields its decisions: what was settled, why, by whom, and when to look at it again.
From the iPhone, hands-free. No iPhone app is needed. Say "Hey Siri, Griasa note" in the car, or save a voice memo or a recorded call to iCloud Drive, and it is waiting on the Mac as a meeting with its promises. Your dated promises sit in a "Griasa" list in Apple Reminders, and ticking one on the phone closes it here.
Everything runs at once: you can dictate while a conversation is being recorded. Most of the pieces are small, and Apple could ship several of them tomorrow. What is hard to copy is that they are one thing — the reminder made during a call, the promises extracted from that same call, the page for the person who made them and the brief before the next meeting with them all point at the same people and the same history. Separate apps would need separate integrations and would still lose the joins, because a join is not a feature any one of them owns.
Every feature, by the name used for it in the app, is in [docs/FEATURES.md](docs/FEATURES.md). [The project page](https://stari-am.github.io/griasa/) has the rest: more screenshots, what leaves your Mac and what doesn't, the engineering that turned out harder than it looked, and the questions people actually ask.
The short version is below; the full policy is at stari-am.github.io/griasa/privacy.html.
whisper.cpp. There is no Griasa server and no account.[Download the latest release — signed, notarized, universal](https://github.com/Stari-am/griasa/releases/latest), or ./build.sh to compile it yourself.
With Homebrew, one command installs the app and both engines it uses (whisper.cpp for speech, llama.cpp for the on-device AI):
brew trust --cask stari-am/tap/griasa
brew install --cask stari-am/tap/griasa
Homebrew 7 loads casks from taps outside its own only after you trust them; the first line does that for this one cask.
Free, and nothing is held back: there is no license check, and under GPL-3.0 there could not be a meaningful one. If it saves you time, $29 on Ko-fi would make my day — any amount does, and none is fine too.
Think of it the way you think of WinRAR: the trial never ends and it keeps working whether or not you pay. WinRAR apparently makes real money like that, which leaves the mystery nobody has solved in thirty years — *somebody* pays. Feel free to be one of the somebodies.
The two things that make the list shrink: evidence that something was finished, and a question about what has carried no date for a month.
Everything below is for running, building and changing it.
| Trigger | Hold Right Option / Right Command / Fn (configurable) — works in any app's text field |
| Insertion | Live typing as you speak, then a single corrected replacement on release |
| Auto edits | Filler words removed, punctuation restored, lists formatted, self-corrections resolved |
| Tone | The frontmost app's name is passed to the AI prompt, so Slack reads casual and Mail reads formal |
| Speech recognition | On-device (Apple recognizer, or whisper.cpp locally) — audio never leaves the Mac |
| Cloud usage | Only the short *cleanup* step may call an LLM, and only text, and only if you enable it |
| Languages | Any locale the system offers; two or three at a time run as parallel legs and the winner is locked in |
| Snippets | Typed abbreviations expand in place, including ;ai … ;; for an inline question |
./build.sh # produces "Griasa Dev.app"
open "Griasa Dev.app" ./test.sh # the invariant checks; release.sh runs these first
A local build announces itself: amber DEV icon, its own file name, "Griasa Dev" in Privacy settings and Activity Monitor, and a squared-off menu-bar glyph. It also uses its own bundle identifier, am.stari.griasa.dev. That last part is not cosmetic — macOS stores a privacy grant against the identifier *and* the signature it saw, so two differently-signed builds sharing one identifier overwrite each other's grants and both end up asking every launch. Separate identifiers cost one round of permission prompts, once. release.sh does none of this; the signed build carries the real identifier, icon and name.
test.sh checks the rules live typing must never break — emitted text only ever grows, a hypothesis that re-words the start of an utterance may not extend its end, the language leg locks once. The first two were regressions that actually shipped; they now fail a command instead of a text field. There is no test framework involved: swiftc compiles PartialStabilizer.swift with the checks and the binary exits non-zero, so this works on a machine with only the Command Line Tools. Each failure message states the rule and why it matters, because "expected true, got false" tells whoever reads it nothing.
Benchmark. How well Griasa finds promises is measured on six invented meetings in benchmark/ — Russian, English, Ukrainian and mixed, from a 12,000-character sync to a 90,000-character roadmap session — each with the promises a person marked by hand. "Griasa Dev.app/Contents/MacOS/Griasa" --benchmark benchmark/meetings runs today's single pass, the long-meeting path and (with --cloud ) a cloud reference on them and prints recall, precision and mine/theirs accuracy. Nobody in them is real, so anyone can rerun it and compare.
./release.sh # signed + notarized dist/Griasa-<version>.dmg — the one on Releases
./dist.sh # ad-hoc signed dmg, no Apple account needed
release.sh is the path used for the published build: Developer ID signature, Hardened Runtime, Apple's notarization ticket stapled to both the app and the disk image, then verified the way a stranger's Mac will — spctl, stapler, and lipo -archs on the finished file rather than on the build settings. It needs a Developer ID Application certificate and a stored notarytool credential; run it without them and its preflight explains exactly what to create, including the two traps that cost the most time (importing the certificate with security import because a double-click reports -25294, and installing the G2 intermediate separately or codesign dies with "unable to build chain to self-signed root").
dist.sh is for handing a build to a colleague with no Apple Developer account: a universal dmg with an app icon, an /Applications shortcut, and INSTALL.txt.
Only the beginning is shown; read the rest in the repo