MCP App Store
by KeenEthics

Overview

Connect one iBluSend workspace to review conversations, contacts, connected Mac sending lines, groups, delivery status, opt-out state, and bot status. Read only is the default. Read and act adds one-to-one sending, one-contact opt-out changes, and one-contact bot controls. Every action stays bound to the selected workspace and requires a fresh preview and confirmation. Bulk sends, group sends, contact creation, and contact profile edits are not included.

Tools

check_message_status

ChatGPT
Check the delivery status of a message by the message_id returned from send_message (drip, instant, or voice memo): pending/sent/delivered/failed, scheduled and sent timestamps, the sending device, and any error.

get_bot_status

ChatGPT
Check whether this workspace's AI bot will reply to a contact, and why. Returns the per-contact setting (active / active_always / inactive / snooze), any active snooze, and an effective block computed from the reply engine's own gate chain — so it distinguishes "switched on and replying" from "switched on but no bot is assigned, it is outside the bot's hours, a person took over, or AI is off for the account". Check this before assuming an unanswered conversation means the bot failed.

get_call_transcript

ChatGPT
Read one call's full transcript, AI summary and recording link. Use an id from list_call_logs. transcript is null until transcript_status is completed.

get_conversation

ChatGPT
Fetch message history, oldest-first — for one phone number (phone) or one group thread (group_chat_id, from list_groups; group rows carry from = the sender's phone). Pass exactly one. Each message includes direction, text, media/voice type, delivery status, the actual transport used (imessage vs sms), tapback reactions, and the sending device name. Paginate with limit (max 200) and pass the returned next_cursor as before.

get_opt_out_status

ChatGPT
Check whether a contact phone number has opted out of messaging in this workspace (and when). Check this before initiating outreach to a contact you have not messaged recently.

list_call_logs

ChatGPT
List recent calls in the consented workspace, newest first, with each call's AI summary, transcript status and recording link. Pass transcribed_only: true to list only calls that have a transcript, then read one with get_call_transcript.

list_contacts

ChatGPT
Search and list this workspace's contacts. Filter by exact phone, email, tag, created_after, or free-text search across name and phone. Paginate with page / per_page (max 100). Same contract as GET /contacts-api.

list_devices

ChatGPT
List this workspace's Mac sender devices with live capacity: online status, today's cold-outreach count vs the daily cap, remaining availability, pending queue depth, and warmup state. Useful before picking an explicit device_id for send_message.

list_groups

ChatGPT
List existing group iMessage threads in the consented workspace for read-only inspection. Use a returned id with get_conversation to read that thread.

lookup_imessage

ChatGPT
Return only cached/observed iMessage capability for 1-100 numbers. Public v1 never queues a live device probe; unknown numbers remain unknown.

opt_out

ChatGPT
Set a contact's opt-out state. opted_out:true suppresses all future sends (and syncs DND to the connected CRM) — call it immediately when a contact asks to stop. Re-subscribing (opted_out:false) additionally requires confirm_resubscribe:true and must only be done when the contact has explicitly asked to hear from you again. Returns 404 if no contact with that phone exists in the workspace.

send_message

ChatGPT
Send text, HTTPS media, or an iMessage effect to exactly one E.164 1:1 recipient in the consented workspace using to. The host must show the exact workspace, recipient, and final content for confirmation immediately before calling.

set_bot_status

ChatGPT
Control the AI bot for ONE contact. "inactive" mutes it for this contact; "snooze" pauses it for snooze_minutes (default 60, max 90 days) and is the right call when a human is taking over a conversation; "active" returns it to the bot's own schedule; "active_always" makes it reply 24/7 to this contact, OVERRIDING the business hours configured on the bot, and therefore requires confirm_always_on: true. The state is always persisted, but warnings will say so when an account-level, workspace-level or plan gate means the bot still will not reply.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps