bluebubbles-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BLUEBUBBLES_URL | Yes | The URL of your BlueBubbles server (e.g., https://your-bluebubbles-server) | |
| BLUEBUBBLES_PASSWORD | Yes | The password for your BlueBubbles server |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_server_infoA | Get BlueBubbles server info and health status. |
| pingA | Ping the BlueBubbles server to check connectivity. |
| list_chatsA | List iMessage conversations, sorted by most recent activity. Args: limit: Max number of chats to return (default 25). offset: Pagination offset. |
| get_chatA | Get details for a specific chat, including participants. Args: chat_guid: The chat GUID (e.g. 'iMessage;-;+15551234567' or 'iMessage;+;chat123'). |
| get_chat_messagesA | Get messages from a specific chat. Args: chat_guid: The chat GUID. limit: Max messages to return (default 25). offset: Pagination offset. sort: 'ASC' or 'DESC' (default DESC = newest first). after: Only messages after this epoch-ms timestamp. before: Only messages before this epoch-ms timestamp. |
| get_recent_messagesA | Get recent messages across all chats within a time window. Args: minutes: How far back to look (default 60 minutes). limit: Max messages to return (default 50). |
| get_unread_chatsA | Get all chats with unread messages, including their latest messages. Args: message_limit: Number of recent messages to include per unread chat (default 5). |
| mark_chat_readA | Mark a chat as read (sends read receipt visible to the other person). Args: chat_guid: The chat GUID. |
| mark_chat_unreadC | Mark a chat as unread. Args: chat_guid: The chat GUID. |
| start_typingB | Show a typing indicator in a chat (visible to the other person). Args: chat_guid: The chat GUID. |
| stop_typingC | Stop the typing indicator in a chat. Args: chat_guid: The chat GUID. |
| delete_chatA | Delete an entire chat conversation. This is irreversible. Args: chat_guid: The chat GUID to delete. |
| send_messageA | Send a text message to an existing chat. Args: chat_guid: The chat GUID to send to. message: The message text. reply_to_guid: Optional message GUID to reply to (creates a thread). |
| send_message_to_addressA | Send a message to a phone number or email, creating a new chat if needed. Args: address: Phone number (e.g. '+15551234567') or email address. message: The message text. service: 'iMessage' or 'SMS' (default iMessage). |
| send_reactionA | Send a tapback reaction to a message. Args: chat_guid: The chat GUID containing the message. message_guid: The GUID of the message to react to. reaction: One of: love, like, dislike, laugh, emphasize, question. Prefix with '-' to remove (e.g. '-love'). |
| edit_messageB | Edit a previously sent message. Args: message_guid: GUID of the message to edit. new_text: The new message text. |
| unsend_messageB | Unsend (retract) a previously sent message. Args: message_guid: GUID of the message to unsend. |
| search_messagesA | Search messages by text content and/or filter by chat and time range. Args: query: Text to search for in message bodies. chat_guid: Limit search to a specific chat. limit: Max results (default 25). offset: Pagination offset. after: Only messages after this epoch-ms timestamp. before: Only messages before this epoch-ms timestamp. |
| get_messageA | Get a single message by its GUID, including chat and attachment info. Args: message_guid: The message GUID. |
| get_contactsA | Get all contacts from the server. |
| lookup_contactA | Look up contacts by phone numbers or email addresses. Args: addresses: List of phone numbers or emails to look up. |
| check_imessageA | Check if a phone number or email is registered for iMessage. Args: address: Phone number or email to check. |
| check_facetimeA | Check if a phone number or email is registered for FaceTime. Args: address: Phone number or email to check. |
| rename_groupA | Rename a group chat. Args: chat_guid: The group chat GUID. name: New display name for the group. |
| add_participantA | Add a participant to a group chat. Args: chat_guid: The group chat GUID. address: Phone number or email of the person to add. |
| remove_participantA | Remove a participant from a group chat. Args: chat_guid: The group chat GUID. address: Phone number or email of the person to remove. |
| leave_chatB | Leave a group chat. Args: chat_guid: The group chat GUID to leave. |
| list_scheduled_messagesA | List all scheduled (future) messages. |
| schedule_messageA | Schedule a message to be sent at a future time. Args: chat_guid: The chat GUID to send to. message: The message text. scheduled_for: When to send, as epoch milliseconds. |
| delete_scheduled_messageA | Delete a scheduled message. Args: schedule_id: The ID of the scheduled message to cancel. |
| get_attachment_infoC | Get metadata for an attachment (filename, mime type, size, etc.). Args: attachment_guid: The attachment GUID. |
| download_attachmentA | Download an attachment and return it as base64-encoded data. Args: attachment_guid: The attachment GUID. |
| send_attachmentA | Send a file attachment to a chat. Args: chat_guid: The chat GUID to send to. data_base64: The file contents as a base64-encoded string. filename: The filename (e.g. 'photo.jpg'). mime_type: MIME type (e.g. 'image/jpeg'). Defaults to 'application/octet-stream'. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/metaember/bluebubbles-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server