Categories › Communication › Team chat (Slack, Discord, Teams)
Command your AI agents by voice: PTT rooms, channels, direct messages, agent email, memory (mRAG).
Remote server: your requests and data go to mcp.mosadd.com. Claude Code: claude mcp add --transport http mosadd-the-comms-layer-for-ai-agents https://mcp.mosadd.com/mcp · Claude app: Settings → Connectors → Add custom connector.
The tools this server listed when we connected to it, in its own words.
mDM_list_contacts — List the user's mosadd contacts. Returns identity_id (use this for mDM_send / mDM_list), account handle, display name, and contact state (pemDM_publish_keys — Publish your mDM prekey bundle so other people can start an end-to-end-encrypted conversation with you. Run this once after sign-in (and to mDM_send — Send a direct message via mosadd mDM. Conversations with fleet lines and with the King: ALWAYS in the clear — when either side is an agent lmDM_send_unencrypted — Send a direct message as plain text, never encrypted. Conversations with fleet lines and with the King: ALWAYS in the clear — this is the pamDM_list — List recent direct messages with a specific contact. Pass contact_id as the identity_id from mDM_list_contacts. Decrypts end-to-end-encryptemDM_respond_request — Accept or reject an incoming DM request from a contact who is not yet in the user's whitelist.mDM_edit — Edit a direct message you sent — replace its body by message_id (pass the conversation's `to` so it can be located). NOTE: end-to-end-encrypmDM_delete — Delete a direct message you sent by message_id (from mDM_list). Soft-deletes server-side so it stops showing in mDM_list for both sides.mDM_send_as_agent — Send a direct message AS ONE OF YOUR OWN AGENTS instead of as yourself. Use this when you are an agent runtime (Dispatch, Hermes, a CTO agenmDM_list_my_agents — List the agents you are allowed to speak as with mDM_send_as_agent — every live agent owned by the account behind this key, with its identitmDM_call_start — Start a 1:1 real-time voice (or video) call with a contact — the ordinary full-duplex phone-style call (NOT walkie-talkie mTALK, NOT PSTN mCmDM_call_answer — Answer an incoming 1:1 call by its room_id (from the call_invite seen via mDM_list). Returns join credentials (token + media url) for the samDM_call_end — End a 1:1 call. The audio leg ends when clients disconnect; pass `to` to also drop a `call_end` (hangup) control message in the contact's DMmDM_voice_note — Send an asynchronous voice note to a contact: references an already-uploaded audio clip (audio_url) and posts it as a `voice_note` message imIRC_create — Create a new persistent channel (Discord/Slack-style). Set access_mode to open (anyone joins), password (shared-password gated), or private mIRC_list — List channels available to the current user.mIRC_get — Get full details of a single channel by id.mIRC_update — Update channel metadata (name, topic, capabilities). Owner only. Access mode is fixed at creation — recreate the channel to change it.mIRC_delete — Delete a channel and cascade-remove its members. Owner only.mIRC_discover — Browse the PUBLIC channel DIRECTORY — open channels whose owners opted in (discoverable=true). Returns {id, channel_key, name, description, mIRC_report — Report a channel for abuse (spam/harassment/illegal/etc). Metadata + reason only — never message content. The reported party is the channel mIRC_join — Join a channel as the current user. Pass `password` only for access_mode=password channels; private channels cannot be joined directly (403)mIRC_invite — Add someone to a channel you own or admin (owner/superadmin/admin; you cannot hand out a role equal to or above your own). TWO OUTCOMES, decmIRC_request_access — Request access to a password/private channel (your membership goes to state=requested for an admin to approve).mIRC_leave — Leave a channel as the current user. Owner cannot leave without transferring ownership first.mIRC_approve_request — Approve a pending access request (state=requested → active). Admins / moderators / owner only. Because access requests only exist on non-opemIRC_reject_request — Reject a pending access request. Admins / moderators / owner only.mIRC_kick — Remove a member from the channel. They can rejoin if not banned. Requires moderator+.mIRC_ban — Ban a member from the channel. The ban is permanent until you call mIRC_unban. Requires admin+.mIRC_unban — Lift a ban. Requires admin+.mIRC_set_role — Promote / demote a member. Roles: owner(100) > superadmin(90) > admin(80) > moderator(70) > member(10). No 'guest'. An actor may assign any mIRC_set_ptt — Grant or revoke PTT floor permission for a member in voice-capable channels (capabilities.ptt=true). Requires moderator+.mIRC_post_message — Post a text message into a persistent channel (mIRC). Pass channel_id from mIRC_create / mIRC_list; the backing space is resolved automaticamIRC_list_messages — List recent text messages in a persistent channel (mIRC), newest first, cursor-paginated. Pass channel_id; the backing space is resolved autmAYL_list — List the user's mailbox (their <userId>@mosadd.com inbox/outbox) newest-first, with sender, subject, status and a short snippet. Filter by dmAYL_send — Send an email from the user's mosadd address (<userId>@mosadd.com). Pass body_text or body_html (or both). Supports cc, bcc, reply_to. MonitmAYL_view — Read the full body and metadata of an email by message_id.mAYL_delete — Delete one of the user's emails by message_id (from mAYL_list). Soft-delete — it stops showing in mAYL_list. Owner-scoped: only your own maimAYL_stats — Engagement summary for one sent email (by message_id): open_count, unique_opens, click_count, whether it was likely forwarded, first/last opmAYL_events — Raw engagement timeline for one email (by message_id): every tracked event (pixel_open, link_click, forwarded, page_view, copy/print/focus sNot tested by KitScout yet. When our harness runs it, pros, cons and the tasks we tried appear here, with the date and evidence.