What it does
Beeper bridges all your messaging apps into a single interface that Claude can read. Instead of connecting each messaging service individually, you connect Beeper once and get access to iMessage, WhatsApp, Signal, Discord, Slack DMs, and anything else you've linked. Morning briefings surface messages that need replies. Digests summarize conversations. People syncs extract relationship context from chat history.
Beeper is also where Patina delivers output. Morning briefings, end-of-day digests, and weekly summaries are sent to your "Note to Self" channel in Beeper, so you can read them from any device without opening your terminal.
Used by
Supported platforms
iMessage
Setup
Install Beeper Desktop
Download Beeper for Mac and create an account. Beeper is free.
Connect your messaging apps
Inside Beeper, link the messaging services you want Patina to read. Each platform has its own linking flow. The more you connect, the more complete your briefings and digests will be.
Enable the Beeper MCP server in Claude Code
Beeper ships with a built-in MCP server that Claude Code can connect to. You need to enable it in your Claude Code settings.
- Open Claude Code in your Patina repo
- Run
/permissionsor open.claude/settings.local.json - Add the Beeper MCP tools to your allowed list. The tools you need are:
mcp__beeper__list_messages
mcp__beeper__search_messages
mcp__beeper__send_message
mcp__beeper__get_chat
mcp__beeper__get_accounts
mcp__beeper__search
mcp__beeper__focus_app
mcp__beeper__archive_chat
mcp__beeper__set_chat_reminder
mcp__beeper__clear_chat_reminder
mcp__beeper__search_docs
The easiest way: when Claude Code first tries to use a Beeper tool, it will ask for permission. Just approve each one and select "Always allow" so it doesn't ask again.
Keep Beeper running
Beeper Desktop needs to be running on your Mac for Patina to access messages. It sits in the background and uses minimal resources. If Beeper isn't running when a skill tries to read messages, that source is skipped gracefully.
Test it
Run /morning in Claude Code. Your briefing should include recent messages from your connected platforms. You can also test directly by asking Claude "search my Beeper messages for [topic]".
Delivering output
Patina uses Beeper's "Note to Self" channel to deliver morning briefings, digests, and weekly summaries. This means you can read them from any device (phone, tablet, desktop) without opening your terminal. The send_message tool handles this automatically.
How it works
Beeper runs an MCP server locally on your Mac. Claude Code communicates with it to search chats, list messages, and read conversation history. Messages are paginated (20 per request) and accessed in real time. Nothing is stored outside your Beeper app and your Patina repo.
The main tools Patina uses:
- search_chats: Find conversations by person or topic
- list_messages: Read recent messages from a specific chat
- search_messages: Search across all chats for keywords
- send_message: Deliver briefings and digests to "Note to Self"
- get_chat: Get details about a specific conversation
For scheduled automations (menu bar app), iMessage data is pre-fetched from your local Messages database to avoid macOS permission dialogs. Other platforms are read through Beeper's MCP server directly.
