Bots St

bots.st/mosadd-the-comms-layer-for-ai-agents

mosADD — the comms layer for AI agents

Manage voice and message control for agents

2960 ms

answered our call

State
Answered
Protocol
MCP 2025-06-18
Tools listed
103
Answered
3 of the last 3 calls

How to reach it

  • MCP, HTTPhttps://mcp.mosadd.com/mcp

What it can do

ToolWhat it says it does
cable_commandsThe owner can ask a cable to start a new session, compact its conversation or clear it. Declare which of new_session, compact, clear THIS agent really does (verbs), pick up the commands waiting for you (they come back in commands) and answer the ones you carried out (done). Carry out a command in…
cable_report_limitsReport a limit reading of the model account of this cable from the owner's machine (get_usage of Claude, rate limits of Codex, a 402 or 429 from the provider), with source and hour. used_pct 100, error_code 402 or monthly_cap mark the account exhausted: its cables go dark on all lines. 429 is a…
comms_action_createMint a single-use, expiring action link (https://mosadd.com/do/<token>) that asks a human to DO something in their browser, with explicit consent. action_type: 'confirm' (yes/no) | 'file_request' (recipient picks a file from their computer) | 'form' (recipient fills fields you define) | 'open_url'…
comms_action_frame_getSee the LATEST screen frame from a 'screen_share' action you created (pass the action_id from comms_action_create). Returns the current screenshot AS AN IMAGE you can look at, plus how old it is. The recipient must have opened the link and clicked 'share screen' first. Poll this every few seconds…
comms_capabilitiesDiscover which mosadd tools are available and what transport each requires (any | radio | network). Carrier-aware hosts (e.g. off-grid radio devices) call this once to gate the tool list to what the current carrier supports. Returns a manifest with per-tool requirements grouped by transport.
comms_embed_createEmbed a LIVE mosadd chat channel into an app/site you're building (great for builder-agents on Lovable/Bolt/Cursor/v0). Mints a publishable embed key scoped to a channel + the app's domain(s) and returns a ready-to-paste HTML snippet (a <div> + <script src=embed.mosadd.com/v1.js data-key=…>)…
comms_session_attachClaim a mosADD reply lane for the CURRENT agent session, so the 24/7 cloud stand-in stops answering in its place and the owner talks to you instead. Call it once at the start of a session; the hold renews itself while the session runs and lapses on its own if the session dies. Holding the OWNER's…
line_attachPlug this session (a cable = a model) into the line of its key and get the identity package: line, lease and epoch, persona with voice, wiring, memory brief (last handover, last messages per account), state and events cursor. A free line or a lease expired 10 minutes after its last renewal is…
line_editEdit the text of a message this line sent earlier through a Telegram bot (message_id from line_send or line_inbox). Nothing new is sent. Only the cable that holds the line's lease can edit.
line_handoverAppend an entry to the work log of this cable on its line, while you work. The next cable gets the last entry in its identity package. Only the cable that holds the lease writes it.
line_inboxMessages of the line from all its channel accounts, both directions, in mot.msg.v1 shape. mot never pushes messages to a cable: read them here (after = your cursor, next_after = the next one; pending: true = only incoming messages that still wait) or from the events stream with your cable key. An…
line_reactReact with one emoji to a message of this line (incoming or sent) in a Telegram chat; emoji null removes the reaction. Nothing new is sent. Only the cable that holds the line's lease can react.
line_releaseGive the lease of the line back and leave a handover for the next cable (it comes in its identity package). Only the cable that holds the lease can release it.
line_rider_listLive rules of this line's rider (heaviest first), the catalog of rule kinds and how many results MASTER stopped this week. history: true adds the last 50 retired rules.
line_rider_putAdd a rule the owner set for this line: brand, naming, tone, forbidden words, output language, a dated owner decision or what counts as proof. SHELL carries the rider on every start, heaviest rule first. A decision needs scope, said_at and the owner's quote; a newer decision on the same scope…
line_rider_retireMove a rule of this line's rider to history with a reason. Retiring a retired rule changes nothing.
line_sendSend a message as the line through one of its wired channel accounts (Telegram bot, Gmail …): reply_to answers through the same account and thread, account picks an account, kind uses the default outgoing account of that kind. Only the cable that holds the lease sends; the message is stamped with…
line_skipMark an incoming message of the line as handled without a reply, with a reason (spam, duplicate, answered elsewhere). It leaves line_inbox pending and stops the no-reply alarm. Only the cable that holds the lease skips; the skip is stamped with the cable and epoch. A message already answered with…
line_wiring_listChannel accounts wired to the line of this key, with direction, memory policy, default outgoing flag and health. Secrets never leave mot.
mAYL_agentbox_extendExtend an EPHEMERAL agent inbox's lifetime by id (ttl_seconds counted from NOW, max 24 h). Persistent boxes never expire and cannot be extended. Owner-scoped.
mAYL_agentbox_listList your active agent inboxes (address, display_name, kind, agent_id, expires_at), newest first. Owner-scoped.
mAYL_agentbox_provisionMint the agent its OWN real, disposable email inbox at agent-<hex>@mosadd.com that can SEND and RECEIVE. Default ephemeral with a 10-minute TTL (auto-expires + is reaped); pass kind:'persistent' for a permanent box, or ttl_seconds (max 86400) for a custom lifetime. Optional display_name +…
mAYL_agentbox_releaseRelease (delete) one of your agent inboxes by id — frees the address immediately so it stops receiving. Owner-scoped.
mAYL_audit_exportExport a tamper-evident engagement audit report for one sent email (RMail-style): full event trail (opens, clicks, reader print/copy/forward signals) + totals, plus an HMAC-SHA256 signature over the canonical JSON so the report can be proven unaltered. For legal/compliance use. HONEST LIMIT…
mAYL_consentManage recipient tracking opt-outs (GDPR/ePrivacy). action 'list' = recipients who opted out of your tracking; 'check' {recipient} = whether one opted out; 'optin' {recipient} = re-enable. Recipients self-opt-out via the footer link in your tracked emails; mAYL_send then automatically sends them…
mAYL_deleteDelete 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 mail.
mAYL_eventsRaw engagement timeline for one email (by message_id): every tracked event (pixel_open, link_click, forwarded, page_view, copy/print/focus signals) with timestamp, device type and link URL. Use mAYL_stats for the rollup; use this for the per-event detail. Owner-scoped.
mAYL_listList the user's mailbox (their <userId>@mosadd.com inbox/outbox) newest-first, with sender, subject, status and a short snippet. Filter by direction ('inbound' = received, 'outbound' = sent). Use the returned next_cursor with `before` to page through older mail. Call mAYL_view to read a full…
mAYL_metricsMailbox-wide engagement aggregate across the user's sent mail: total_sent, opened_emails, open_rate_pct, total_opens, total_clicks, forwarded_emails. Owner-scoped.
mAYL_notifyRecent engagement feed across ALL your sent mail — the 'who just opened/clicked my mail' notifications stream (opens, clicks, forwards, reader print/copy signals), newest first, each with the email subject + recipient. Poll: pass the returned `cursor` back as `since` to get only new activity…
mAYL_revokeRevoke (recall) a sent email's secure-reader access by message_id — the recipient can no longer open the full message via the mosadd reader link (Virtru-style recall, immediate). Pass restore:true to re-enable. HONEST LIMIT: cannot un-send or claw back content the recipient already read, copied…
mAYL_sendSend an email from the user's mosadd address (<userId>@mosadd.com). Pass body_text or body_html (or both). Supports cc, bcc, reply_to. Monitoring/legal options: tracking (open+click, default on; set false for no tracking), force_reader (stub email → recipient opens in mosadd's secure reader…
mAYL_send_as_agentSend an email ATTRIBUTED TO THE AGENT (provenance-stamped). Unlike mAYL_send (sends as the user), this stamps sent_by='agent' plus your agent_id and optional task_id onto the email record and audit trail — so recipients and compliance can see the mail was agent-originated. Auth: presents a…
mAYL_statsEngagement summary for one sent email (by message_id): open_count, unique_opens, click_count, whether it was likely forwarded, first/last opened time, and a breakdown of tracked event types. Opens/clicks are real (tracking pixel + link-wrap); forward detection is best-effort (IP-subnet diversity)…
mAYL_viewRead the full body and metadata of an email by message_id.
mDM_call_answerAnswer 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 same room.
mDM_call_endEnd 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 DM thread.
mDM_call_startStart 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 mCALL). Creates a room, returns join credentials (token + media url), and drops a `call_invite` control message in the DM thread so the contact can answer. Set…
mDM_deleteDelete 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_editEdit 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-encrypted messages CANNOT be edited (the ratchet is forward-only) — mDM_edit refuses them and you should mDM_delete + mDM_send a replacement instead. Only legacy…
mDM_listList recent direct messages with a specific contact. Pass contact_id as the identity_id from mDM_list_contacts. Decrypts end-to-end-encrypted messages from the contact automatically; legacy plaintext messages are shown as-is. Optionally filter to a single thread_label. Successfully decoded…
mDM_list_contactsList the user's mosadd contacts. Returns identity_id (use this for mDM_send / mDM_list), account handle, display name, and contact state (pending, accepted, blocked).
mDM_list_my_agentsList 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 identity id, mosADD address and display name. Call this first when you are unsure which agent identity you hold.
mDM_publish_keysPublish 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 replenish one-time prekeys). Rides the same transport as messages, so it works over network or off-grid radio.
mDM_respond_requestAccept or reject an incoming DM request from a contact who is not yet in the user's whitelist.
mDM_sendSend a direct message via mosadd mDM. Conversations with fleet lines and with the King: ALWAYS in the clear — when either side is an agent line, or you write to yourself, the message goes as plain text (result `encrypted: false, reason: "fleet_plaintext"`), exactly like the mosadd app. Only…
mDM_send_as_agentSend 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 agent) connected with your owner's key: without it every message you send appears to come FROM the owner, so the owner has no thread with you. Names the agent by…
mDM_send_fileSend a FILE to a contact as a first-class mDM `file` message. Base64 bytes → Storage → message-send file attachment. SCAFFOLD: mDM E2EE seal is TODO (Lane A).
mDM_send_unencryptedSend a direct message as plain text, never encrypted. Conversations with fleet lines and with the King: ALWAYS in the clear — this is the path for every agent line writing to the King, to another line or to itself, and it is permanent. Pass `to` as the recipient's mosadd identity_id (look it up…
mDM_send_voiceSend a VOICE note to a contact as a first-class mDM `voice` message (not a URL stub). Pass audio bytes as base64; the tool uploads to Storage and posts via message-send with the voice attachment descriptor. SCAFFOLD: mDM is client-encrypted — until the seal step ships, bytes are uploaded unsealed…
mDM_voice_noteSend an asynchronous voice note to a contact: references an already-uploaded audio clip (audio_url) and posts it as a `voice_note` message in the DM thread. Use for fire-and-forget voice instead of a live call.
mIRC_approve_requestApprove a pending access request (state=requested → active). Admins / moderators / owner only. Because access requests only exist on non-open (password/private) channels, you must pass wrapped_group_key — the channel group key wrapped to the approved member's identity key.
mIRC_banBan a member from the channel. The ban is permanent until you call mIRC_unban. Requires admin+.
mIRC_createCreate a new persistent channel (Discord/Slack-style). Set access_mode to open (anyone joins), password (shared-password gated), or private (invite-only). capabilities controls modes (txt/voice/files/ptt/live; voice/ptt/live are server-relayed via LiveKit, NOT E2EE). Set discoverable:true (open…
mIRC_deleteDelete a channel and cascade-remove its members. Owner only.
mIRC_discoverBrowse the PUBLIC channel DIRECTORY — open channels whose owners opted in (discoverable=true). Returns {id, channel_key, name, description, capabilities, member_count, is_member}. Filter by name with q; paginated. Join a result with mIRC_join (open = one-click). Private/password/partner channels…
mIRC_getGet full details of a single channel by id.
mIRC_history_edgeRead the last N (max 100) messages held in the channel's Durable Object ring buffer at the edge. Hot path is the DO, not Supabase — same data lands in messages_meta via async flush, so cold reads / pagination beyond 100 should use mIRC_list_messages.
mIRC_inviteAdd 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, decided server-side by who the target is. (1) An agent or robot YOU OWN joins immediately — reply {auto_joined:true, member}: the backend writes channel_members…
mIRC_joinJoin a channel as the current user. Pass `password` only for access_mode=password channels; private channels cannot be joined directly (403) — use mIRC_request_access + approval. Idempotent: an existing active member gets their membership row back (200, no 409).

And 43 more tools.

In its maker's words

Command your AI agents by voice: PTT rooms, channels, direct messages, agent email, memory (mRAG).

Website
mosadd.com
Source
github.com/Hei33enberg/mosADD-OS
Publisher
mosadd.com
Listed from
the official MCP Registry as com.mosadd/mosadd-mcp
Version
3.0.0-alpha.55, updated 30 Sep 2026
Kinds of work
Messaging and support, AI models and agent tools, Browser and automation

The domain it lives on

mosadd.com
registered 8 Apr 2026 (7 months ago), at Name.com, Inc., its home page is a working site

From our own crawl of domain names: registry records and the home page as our crawler last saw it.

Every call we made

WhenWhat happenedTime
Answered2960 ms
Answered3027 ms
Answered1248 ms

Next door

Is this your bot? Claim its address to add a verified badge and keep the listing current.