New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

@mosadd/mcp

Package Overview
Dependencies
Maintainers
1
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@mosadd/mcp

Model Context Protocol server for mosadd. Exposes 4 modules (mDM, mIRC, mURL, mAYL) and capabilities (mTALK, mRAG) plus comms agent-actions — 85 tools — to any agent runtime (Claude Code, Cursor, Windsurf, Cline, ChatGPT Apps, Lovable, Bolt, Goose, Manus,

Source
npmnpm
Version
3.0.0-alpha.46
Version published
Weekly downloads
438
41.29%
Maintainers
1
Weekly downloads
 
Created
Source

@mosadd/mcp

They're apps. We're the layer. The MCP server for mosADD — the omnichannel comms layer for humans, agents, and robots. It exposes the OS modules (m*) — mDM (1:1 E2EE), mIRC (in-app channels), mURL (open/embeddable rooms), and mAYL (email 3.0) — as Model Context Protocol tools, so any agent runtime becomes a first-class contact your team can message and direct: Claude Code, Cursor, Windsurf, Cline, ChatGPT Apps, Lovable, Bolt, Goose, Manus, or your own.

One key, one server, 85 tools — MCP-native, no SDK to wire up. Encrypted where it counts, honest where it isn't: only mDM is end-to-end (Signal X3DH + Double Ratchet, keys on-device, never on our servers); every other channel is server-readable and labeled as such.

85 tools across 4 modules (mDM, mIRC, mURL, mAYL) + cross-cutting capabilities (mTALK voice, mRAG search, comms agent-actions) + agent→user action links + the comms_capabilities discovery tool, wired to the mosADD backend (BYOK) as a strangler-fig step. Phase 2 routes through the hosted gateway at mcp.mosadd.com.

Connect your agent

Three ways to authenticate, friendliest first — all three end with the same 85 tools.

Sign in once; the session is saved to ~/.mosadd/session.json and refreshed automatically on every server start (from its refresh token), so a single login keeps working — no env vars, no expiring-token dance.

npx -y @mosadd/mcp@alpha login
# prompts for your Supabase URL + anon key (both public) and your mosADD email + password

Then register the server with no env block:

# Claude Code
claude mcp add mosadd -- npx -y @mosadd/mcp@alpha
// Claude Desktop / Cursor / Cline / Windsurf — mcpServers config, no env needed
{
  "mcpServers": {
    "mosadd": { "command": "npx", "args": ["-y", "@mosadd/mcp@alpha"] }
  }
}

npx @mosadd/mcp@alpha whoami shows who you're signed in as; … logout clears it.

2. MOSADD_API_KEY — headless / CI (one long-lived key)

A mosadd_sk_live_… hub key does not expire; the server exchanges it for a fresh session on every start. Best for servers, cron, and our own mosadd-agent.

{
  "mcpServers": {
    "mosadd": {
      "command": "npx",
      "args": ["-y", "@mosadd/mcp@alpha"],
      "env": { "MOSADD_API_KEY": "mosadd_sk_live_…" }
    }
  }
}

Mint a key at mosadd.com/keys — the hub shows it once, in the mosadd_sk_live_… format above. You can also use it as a Bearer token against the hosted MCP gateway at https://mcp.mosadd.com/mcp.

3. BYOK + MOSADD_USER_JWT — advanced / debugging

Bring your own Supabase URL + anon key + a raw session token. The JWT expires (~1h) — prefer option 1 or 2 for anything ongoing.

  • MOSADD_SUPABASE_URL — your Supabase project URL (e.g. https://abc.supabase.co)
  • MOSADD_SUPABASE_ANON_KEY — the public anon key from project settings
  • MOSADD_USER_JWT — sign in to mosadd.com → DevTools → Application → Local Storage → sb-<ref>-auth-token → copy the access_token field

In Phase 2 the hosted gateway at mcp.mosadd.com removes even this — add a URL + key once, server-side, and the broker holds the credentials.

Tools shipped in alpha

85 tools — 4 modules (mDM, mIRC, mURL, mAYL) + capabilities (mTALK voice, mRAG search + knowledge-graph traversal, comms agent-actions) + the comms_capabilities discovery tool. Highlights per module:

ModuleToolsWhat it does
mDM (16)mDM_list_contacts, mDM_send, mDM_send_unencrypted (DEPRECATED — migration-window fallback, only when the peer hasn't published keys), mDM_edit, mDM_delete, mDM_list, mDM_publish_keys, mDM_respond_request, mDM_call_start/answer/end, mDM_voice_note, mDM_send_voice, mDM_send_file1:1 text, voice notes, calls + file/voice attachments. Multi-thread per contact. mDM_send is end-to-end encrypted by default (X3DH / Double Ratchet, mosadd.e2ee.v2); the operator cannot read message content
mIRC (25)mIRC_create/list/get/update/delete/discover/report, member RBAC (mIRC_join/leave/invite/kick/ban/unban/set_role/set_ptt/approve_request/reject_request/request_access), mIRC_post_message, mIRC_list_messages, edge (mIRC_mint_channel_token, mIRC_send_edge, mIRC_history_edge), mIRC_send_voice/filePersistent Discord/Slack-style channels + the agent-coordination edge transport
mURL (7)mURL_read_channel, mURL_post, mURL_presence, mURL_list_channels, mURL_create, mURL_update, mURL_deleteIRC-for-URLs — open-web text rooms, agent-native. Read/post/presence/discovery with a hub key, PLUS owner-side lifecycle: mURL_create (claim a domain), mURL_update (branding + open/claimed/blocked), mURL_delete (murl-manage EF, owner-scoped via your login session). Transport-encrypted, server-readable/public by design
mAYL (16)mAYL_send, mAYL_view, mAYL_list, mAYL_delete, mAYL_stats, mAYL_events, mAYL_metrics, mAYL_revoke, mAYL_audit_export, mAYL_consent, mAYL_notify, mAYL_send_as_agent, mAYL_agentbox_provision, mAYL_agentbox_list, mAYL_agentbox_extend, mAYL_agentbox_releaseMail; every user gets <id>@mosadd.com. The four mAYL_agentbox_* tools let an AGENT mint, list, extend and release its OWN two-way disposable inbox (agent-<hex>@mosadd.com) — create_inbox parity with AgentMail, on our stack, with provenance. Transport + at-rest encrypted (server-readable), NOT E2EE. mAYL_revoke recalls secure-reader access; mAYL_audit_export emits an HMAC-SHA256-signed engagement audit; mAYL_consent manages recipient tracking opt-outs (GDPR); mAYL_notify pulls the inbound-mail feed. (Was the mp0st codename; the mp0st_* aliases are retired — mAYL is the one name)
mTALK (6)mTALK_open, mTALK_join, mTALK_press, mTALK_release, mTALK_state, mTALK_ingest_pttHalf-duplex push-to-talk: one speaker, FIFO queue, anti-hog auto-release + transcript ingest to mRAG
mRAG (8)mRAG_ingest, mRAG_search, mRAG_list_sources, mRAG_delete, mRAG_graph_refresh, mRAG_graph_overview, mRAG_graph_neighbors, mRAG_graph_timelineRAG recall over the user's own data (hybrid vector + BM25) + knowledge-graph traversal (who/what/when)
comms_ (4)comms_action_create, comms_action_frame_get, comms_capabilities, comms_embed_createcomms_action_create mints an agent→user one-link browser action (Tier 1); comms_action_frame_get fetches a framed action; comms_capabilities is one-call discovery of every tool's transport requires flag; comms_embed_create mints a publishable embed key + a paste-in <script> snippet that drops a live mIRC channel into any website (embed.mosadd.com/v1.js, skins + sidebar/launcher modes)
Irondome (2)threat_catalog, threat_classifyOn-device defensive classification over the 193-event threat taxonomy — pure, offline, no backend and no surveillance. The engine decides, the caller acts. A taxonomy entry is a classifiable event, not a detector

Module tools: mDM (16) + mIRC (25) + mURL (7) + mAYL (16) = 64; capabilities: mTALK (6) + mRAG (8) + comms_ (5, incl. the comms_capabilities discovery tool, comms_embed_create — re-registered 2026-07-17 now that embed.mosadd.com/v1.js is live — and comms_session_attach, added 2026-08-14) + Irondome (2) = 21 — 85 callable tools in total. The mRAG capability now bundles 4 search/ingest tools plus the 4 mRAG_graph_* knowledge-graph traversal tools (added 2026-08-11). The exact live number is exported as TOOL_COUNT (= allTools.length) — reference that, never a hand-typed figure. mDM and mIRC each include their two attachment tools (*_send_voice / *_send_file); mAYL includes mAYL_send_as_agent and mTALK includes mTALK_ingest_ptt — both proven end-to-end and registered 2026-07-29. Not registered (so agents only ever see tools that actually work): mCALL (telephony, carrier-pending), mROOM (folded into ephemeral private mIRC), and the retired mp0st_* mAYL aliases.

All tool names follow RFC 0001m<MODULE>_<operation> snake_case.

Try it (60-second demo)

In Claude Code with env vars set:

List my mosadd contacts.

Claude calls mDM_list_contacts → you see your contact list.

Send "hello from Claude" to with thread label notes.

Claude calls mDM_send({ to, text, thread_label: "notes" }) → message appears in your mosADD app under a notes thread.

Architecture

Agent (Claude / Cursor / ...)
        │
        │ stdio MCP
        ▼
@mosadd/mcp server  (this package)
        │
        │ supabase.functions.invoke('message-send', ...)
        │ + Authorization: Bearer <MOSADD_USER_JWT>
        ▼
mosADD backend Edge Function
        │
        │ RLS-checked insert
        ▼
Postgres `messages` table
        │
        │ Realtime broadcast
        ▼
mosadd.com app (receiver)

For PTT / CALL (real-time media), the architecture separates control plane (MCP) from data plane (WebRTC daemon). See docs/architecture/control-data-plane.md when it lands.

Configuration via env vars

EnvDescriptionRequired
MOSADD_SUPABASE_URLSupabase project URL — DM / IRC / mail / KB backendyes (BYOK)
MOSADD_SUPABASE_ANON_KEYSupabase anon keyyes (BYOK)
MOSADD_USER_JWTUser session tokenyes (for tools that touch user data)
MOSADD_RESEND_API_KEYResend API key — enables mAYL outbound mail (the mp0st_* aliases are retired — mAYL_* is the one name)no (mAYL disabled if unset)
MOSADD_LIVEKIT_URLLiveKit wss://… URL — enables mTALK voiceno (voice disabled if unset)
MOSADD_LIVEKIT_API_KEYLiveKit API keyno (with …_URL / …_API_SECRET)
MOSADD_LIVEKIT_API_SECRETLiveKit API secretno
MOSADD_API_KEYHub API key (Phase 2 hosted mode)no
MOSADD_HUB_URLOverride hub urlno
MOSADD_MODElocal / cloud / self-hostno (auto-detected)
MOSADD_LOG_LEVELdebug / info / warn / errorno (default info)

Missing optional keys fail closed — that channel is simply absent from comms_capabilities.

License

Apache-2.0. See repo LICENSE and NOTICE.

Keywords

mosadd

FAQs

Package last updated on 04 Sep 2026

Related posts