From DMG to your first AI tool call in about ten minutes. Most of that is macOS permission prompts — they only happen once.
Sendral lives in your menu bar. Closing the window doesn't quit the app — the local server keeps running in the background, which is what your AI connects to. Quit only from the menu bar icon.
On first run, Sendral offers two ways in. No account and no sign-in either way.
Free trial. Enter an email address and you get 7 days, no card required. One trial per Mac — reinstalling doesn't reset it. Everything you set up during the trial (permissions, services, synced data) stays exactly as it is when you buy; you just paste your key.
License key. Paste the key from your purchase confirmation. It's a signed token Sendral verifies on your Mac; activating also links it to this Mac (one machine per key) with a single online check. After that Sendral runs fully offline and licensing can never fail mid-session. Moving to a new Mac? Uninstalling frees the key, or email support@sendral.app.
While a trial is running, the menu bar shows how many days are left and a link to buy. Lost your key? Email support@sendral.app and we'll resend it.
macOS protects your personal data with several separate permission systems, and Sendral needs to pass through each one. Here is every prompt you'll see, in order. None of them repeat once granted.
Reading the Messages database (chat.db), the Calendar database, and Reminders tags requires Full Disk Access. macOS never shows a pop-up for this — you must grant it by hand:
Grant it to the Sendral app itself, not to Terminal or anything else. If sync later comes up empty, this step is almost always the reason.
Sendral drives Apple's own apps through AppleScript for reading and writing some services. The first time each one is touched, macOS shows a "Sendral wants to control ..." prompt. Click Allow:
You only see prompts for services you actually use. Denied one by mistake? Email support@sendral.app and we'll walk you through the reset.
Open the Sendral window and run a sync (also available from the menu bar: Sync Messages Now). You should see message counts climb. Empty results mean Full Disk Access isn't in effect yet — redo step 3a including the restart.
Sendral ships everything it needs — including its own Node runtime — inside the app. Your AI connects to the bundled MCP server over stdio; the server talks to Sendral's local API at 127.0.0.1:6060. Nothing is exposed to the network.
The blessed source of truth is inside the app: open Sendral's window → Settings → MCP config JSON → Copy JSON. That snippet has the exact paths for your machine. It looks like this:
{
"mcpServers": {
"sendral": {
"command": "/Applications/Sendral.app/Contents/Resources/mcp/node",
"args": ["/Applications/Sendral.app/Contents/Resources/mcp/mcp-server.mjs"],
"env": {
"COMMS_API_URL": "http://127.0.0.1:6060",
"COMMS_API_TOKEN": "<filled in with your machine's token>"
}
}
}
}
The token authenticates against Sendral's local API — every endpoint requires it (Authorization: Bearer <token>). It's generated on first launch, stays on your Mac, and is baked into every config Sendral hands you. Building your own integration? Open http://127.0.0.1:6060/docs while Sendral is running for the full API reference, including how to fetch the token programmatically.
Claude Desktop — don't edit anything by hand. Open Sendral's Setup tab, pick Claude Desktop, and click Add to Claude Desktop. Sendral merges the entry into ~/Library/Application Support/Claude/claude_desktop_config.json for you (existing servers are kept; the old file is backed up as .bak). Then quit and reopen Claude Desktop.
If you'd rather do it manually: merge the JSON above into that file. Careful with the braces — if the file already has an mcpServers section, copy only the inner "sendral": { … } entry into it. Pasting the whole block a second time produces invalid JSON.
Claude Code — one command:
claude mcp add sendral \
-e COMMS_API_URL=http://127.0.0.1:6060 \
-e COMMS_API_TOKEN=<your token> \
-- /Applications/Sendral.app/Contents/Resources/mcp/node \
/Applications/Sendral.app/Contents/Resources/mcp/mcp-server.mjs
Don't type this by hand — the Setup tab → Other shows it with the paths and token already filled in.
Cursor — merge the same JSON into ~/.cursor/mcp.json.
Keep Sendral running (menu bar) whenever your AI needs it — the MCP server only works while the app's local API is up.
Ask your AI something only Sendral can answer:
"Use the sendral tools to search my contacts for my own name."
or
"What are my calendar events this week?"
Two ways to confirm it worked:
Out of the box Sendral is read-only. Sending and creating/deleting tools aren't just blocked — they're not even offered to your AI.
When you want more:
Two extra safeguards stay on even with writes enabled:
That's it. Your AI can now see your Mac the way you do — and only do the things you've explicitly allowed.
Sendral keeps everything — settings, your license key, and a full local copy of your synced messages and contacts — in one data folder. Dragging the app to the Trash does not remove that folder, so uninstall from inside the app:
Because licenses are verified offline, there's nothing to deactivate — you can reinstall and re-enter the same key on this or another Mac anytime.
Already dragged the app to the Trash? Delete the leftover data folder by hand:
~/Library/Application Support/Sendral
macOS cleans up the Full Disk Access and Automation entries for a removed app on its own; you can also remove them manually under System Settings → Privacy & Security.
Email support@sendral.app — solo developer, replies typically within 2 business days.