MCP Server
Overview
The BotBell MCP Server lets AI assistants send push notifications to your iPhone and Mac, and read your replies. Once configured, your AI can:
- Send you notifications — task results, alerts, reminders, questions
- Read your replies — you respond in the BotBell app, AI reads it and continues
- Manage your bots — list and create bots (PAT mode only)
Prerequisites
- Install the BotBell app on your iPhone or Mac
- Create a bot and get your token (Bot Token or PAT)
- Node.js 18+ installed on your machine
Authentication Modes
The MCP server auto-detects the token type by its prefix:
| Token Type | Prefix | Scope | Best For |
|---|---|---|---|
| Bot Token | bt_ | Single bot only | Simple setup, one bot |
| PAT | pak_ | All your bots | 다중 Bot, 전체 제어 |
PAT 생성 (권장)
- BotBell 앱 열기 → 설정 탭
- "API Keys" 탭 → 오른쪽 상단 "+" 버튼 탭
- 이름 입력 (예: "Claude Code"), 권한 선택 후 "생성" 탭
- pak_ 으로 시작하는 토큰 복사 — 한 번만 표시됩니다
중요: 전체 토큰은 생성 시에만 표시됩니다. 분실 시 취소 후 다시 생성하세요.
Installation
npm install -g @botbell/mcp-serverConfiguration
Add the BotBell MCP server to your AI tool's configuration:
Claude Desktop
Edit the config file:
~/Library/Application Support/Claude/claude_desktop_config.json{
"mcpServers": {
"botbell": {
"command": "botbell-mcp",
"env": {
"BOTBELL_TOKEN": "pak_your_pat_here"
}
}
}
}{
"mcpServers": {
"botbell": {
"command": "botbell-mcp",
"env": {
"BOTBELL_TOKEN": "bt_your_token_here"
}
}
}
}Claude Code (CLI)
Run a single command to add the server:
claude mcp add botbell -e BOTBELL_TOKEN=pak_your_pat_here -- botbell-mcpclaude mcp add botbell -e BOTBELL_TOKEN=bt_your_token_here -- botbell-mcp추가 토큰 (고급)
여러 계정의 Bot에 알림을 보내려면 BOTBELL_EXTRA_TOKENS 환경 변수로 추가 Bot Token을 구성할 수 있습니다:
형식: 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"
}
}
}
}추가 토큰 구성 시 botbell_send와 botbell_get_replies에 alias 매개변수가 추가되어 특정 토큰으로 메시지를 전송할 수 있습니다.
Cursor / Other MCP Clients
Add to your MCP configuration:
{
"botbell": {
"command": "botbell-mcp",
"env": {
"BOTBELL_TOKEN": "pak_your_pat_here"
}
}
}Available Tools
PAT Mode Tools
When using a PAT (pak_ prefix), all 4 tools are available:
botbell_list_bots
List all your bots. Use this to find the bot_id before sending.
botbell_create_bot
Create a new bot.
| 필드 | 필수 | 설명 |
|---|---|---|
name | 예 | Bot name (max 50 chars) |
description | 아니오 | Bot description (optional) |
botbell_send
Send a push notification via a specific bot.
| 필드 | 필수 | 설명 |
|---|---|---|
bot_id | 예 | Bot ID (use botbell_list_bots to find it) |
message | 예 | Message content (max 4096 chars) |
title | 아니오 | Notification title |
url | 아니오 | URL to attach (tappable) |
image_url | 아니오 | 첨부할 이미지 URL |
summary | 아니오 | 긴 메시지의 사용자 정의 요약 (최대 512자) |
format | 아니오 | "text" (기본값) 또는 "markdown"으로 Markdown 렌더링 |
actions_description | 아니오 | 액션 버튼 위에 표시되는 설명 텍스트 (최대 256자) |
actions | 아니오 | 빠른 답장 버튼 (최대 5개). button 및 input 유형 지원. |
botbell_get_replies
Check for user replies. Messages are consumed on fetch.
| 필드 | 필수 | 설명 |
|---|---|---|
bot_id | 예 | Bot ID to check replies for |
limit | 아니오 | Max replies to fetch (default 20, max 100) |
Bot Token Mode Tools
When using a Bot Token (bt_ prefix), 2 tools are available: botbell_send and botbell_get_replies.
No bot_id parameter needed — the token is tied to a single bot.
Interactive Actions
AI agents can include quick reply buttons with messages. This enables human-in-the-loop workflows where the user picks an option or types a custom response — all from a push notification.
{
"bot_id": "bot_abc123",
"message": "3 files will be deleted. Proceed?",
"title": "Confirmation Required",
"actions": [
{"key": "confirm", "label": "Yes, delete"},
{"key": "cancel", "label": "Cancel"},
{"key": "custom", "label": "Other...", "type": "input", "placeholder": "e.g. delete only the first two"}
]
}The interaction flow:
- AI sends a message with action buttons via botbell_send
- User receives a push notification with the buttons
- User taps a button (or types a custom response for "input" type)
- AI reads the reply via botbell_get_replies, including the action key
Tip: Use type "input" for an "Other..." option. This lets the user type a free-text response when none of the predefined choices fit — reducing back-and-forth round trips.
Usage Examples
Just tell your AI assistant what you need in natural language:
Send a Notification
"Send a notification to my phone saying the build succeeded"Ask with Action Buttons
"Ask me whether to deploy v2.3.0 to production, with approve/reject buttons and an option to type a custom response"Check for Replies
"Check if I have any replies in BotBell"Manage Bots (PAT only)
"List my bots" / "Create a new bot called Deploy Alerts"Supported Platforms
- Claude Desktop
- Claude Code (CLI)
- Cursor
- Windsurf
- Any MCP-compatible AI tool