loading…
Search for a command to run...
loading…
Send push notifications to iPhone, iPad, and Mac from AI assistants. Two-way messaging — users reply in the BotBell app, AI reads and continues. Supports action
Send push notifications to iPhone, iPad, and Mac from AI assistants. Two-way messaging — users reply in the BotBell app, AI reads and continues. Supports action buttons, Markdown, and multi-bot management via PAT.
Let AI assistants send push notifications to your iPhone / Mac.
After setup, your AI assistant (Claude, Cursor, etc.) can:
BotBell MCP Server supports two token types, auto-detected by prefix:
| Token Type | Prefix | Scope | Best For |
|---|---|---|---|
| Bot Token | bt_ |
Single bot only | Simple setup, one bot |
| Personal Access Token (PAT) | pak_ |
All your bots | Multi-bot, full control |
Bot Token: Get it from the BotBell app when you create a bot. One token = one bot.
PAT: Create one at BotBell app > Settings > API Keys. One token controls all your bots.
Download from the App Store, create a Bot, and get your token.
npm install -g @botbell/mcp-server
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
Option A: PAT mode (recommended)
{
"mcpServers": {
"botbell": {
"command": "botbell-mcp",
"env": {
"BOTBELL_TOKEN": "pak_your_pat_here"
}
}
}
}
Option B: Bot Token mode
{
"mcpServers": {
"botbell": {
"command": "botbell-mcp",
"env": {
"BOTBELL_TOKEN": "bt_your_token_here"
}
}
}
}
Tell Claude:
pak_ token)botbell_list_botsList all your bots. Use this to find the bot_id before sending.
botbell_create_botCreate a new bot.
| Parameter | Required | Description |
|---|---|---|
| name | Yes | Bot name (max 50 chars) |
| description | No | Bot description |
botbell_sendSend a push notification via a specific bot.
| Parameter | Required | Description |
|---|---|---|
| bot_id | Yes | Bot ID (use botbell_list_bots to find) |
| message | Yes | Message content (max 4096 chars) |
| title | No | Notification title |
| url | No | URL to attach (tappable) |
| image_url | No | Image URL to attach |
| actions | No | Quick reply buttons (max 5), see Actions |
botbell_get_repliesCheck for user replies to a specific bot.
| Parameter | Required | Description |
|---|---|---|
| bot_id | Yes | Bot ID to check |
| limit | No | Max replies to fetch (default 20) |
bt_ token)botbell_sendSend a push notification.
| Parameter | Required | Description |
|---|---|---|
| message | Yes | Message content (max 4096 chars) |
| title | No | Notification title |
| url | No | URL to attach (tappable) |
| image_url | No | Image URL to attach |
| actions | No | Quick reply buttons (max 5), see Actions |
botbell_get_repliesFetch user replies from the BotBell app.
| Parameter | Required | Description |
|---|---|---|
| limit | No | Max replies to fetch (default 20) |
If you need to send notifications to bots from multiple accounts, you can configure additional Bot Tokens via the BOTBELL_EXTRA_TOKENS environment variable.
Format: alias1:bt_token1,alias2:bt_token2
{
"mcpServers": {
"botbell": {
"command": "botbell-mcp",
"env": {
"BOTBELL_TOKEN": "pak_your_pat_here",
"BOTBELL_EXTRA_TOKENS": "team-ops:bt_abc123,home:bt_xyz789"
}
}
}
}
When extra tokens are configured:
alias parameter becomes available on botbell_send and botbell_get_repliesalias to route messages through a specific extra tokenbotbell_list_bots shows extra bots alongside your ownalias, the primary token (BOTBELL_TOKEN) is used as defaultAdd to your MCP config:
{
"botbell": {
"command": "botbell-mcp",
"env": {
"BOTBELL_TOKEN": "pak_your_pat_here"
}
}
}
Add interactive buttons to your notifications. Users can tap to reply without typing.
{
"message": "Deploy v2.3 to production?",
"actions": [
{ "key": "approve", "label": "Yes" },
{ "key": "reject", "label": "No" },
{ "key": "custom", "label": "Other...", "type": "input", "placeholder": "Enter reason" }
]
}
| Field | Required | Description |
|---|---|---|
| key | Yes | Identifier returned when user taps (max 64 chars) |
| label | Yes | Button text shown to user (max 64 chars) |
| type | No | "button" (default) or "input" (opens text field) |
| placeholder | No | Placeholder for input field (max 128 chars) |
When the user taps an action, botbell_get_replies returns the action key along with the message content:
[2026-01-15T10:30:00.000Z] [action:approve] Yes
If MCP is more than you need:
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"qq418716640-botbell-mcp": {
"command": "npx",
"args": []
}
}
}