MCP Tool Catalog
The Loop comms MCP server (@loop/mcp-comms) exposes 59 tools across 14 categories. Tools are RBAC-gated — the authenticated user’s role determines which tools are available.
RBAC Roles
| Role | Description |
|---|---|
admin | Full access to all 59 tools |
marketing | Content, audiences, sequences, sends, pages, shares, reports, analytics |
advisor | Content (read), sends (draft/preview), analytics |
ops | Ops tools, audit, platform health, flags |
educator | Content (read), pages (read), shares (read) |
Tool Summary
Content — 8 tools
| Tool | Description | Roles |
|---|---|---|
templates.list | List email/SMS/push templates | ALL_ROLES |
templates.get | Get template by ID with rendered preview | ALL_ROLES |
templates.create | Create a new template | MARKETING_AND_ADMIN |
templates.update | Update an existing template | MARKETING_AND_ADMIN |
modules.list | List reusable content modules | ALL_ROLES |
modules.create | Create a reusable content module | MARKETING_AND_ADMIN |
voice.get | Get the brand voice profile | ALL_ROLES |
voice.propose_change | Propose a change to brand voice | MARKETING_AND_ADMIN |
Audiences — 4 tools
| Tool | Description | Roles |
|---|---|---|
audiences.list | List saved audiences | ALL_ROLES |
audiences.create_from_description | Create audience from natural language | MARKETING_AND_ADMIN |
audiences.preview | Preview audience membership count | ALL_ROLES |
audiences.update | Update audience criteria | MARKETING_AND_ADMIN |
Sequences — 5 tools
| Tool | Description | Roles |
|---|---|---|
sequences.list | List all sequences | ALL_ROLES |
sequences.get | Get sequence details with steps | ALL_ROLES |
sequences.create | Create a new sequence | MARKETING_AND_ADMIN |
sequences.add_step | Add a step to a sequence | MARKETING_AND_ADMIN |
sequences.simulate | Simulate sequence execution | ALL_ROLES |
Sends — 5 tools
| Tool | Description | Roles |
|---|---|---|
sends.draft | Create a draft send | MARKETING_AND_ADMIN |
sends.preview | Preview send content and recipients | ALL_ROLES |
sends.test | Send a test to specified addresses | MARKETING_AND_ADMIN |
sends.schedule | Schedule a send for delivery | MARKETING_AND_ADMIN |
sends.cancel | Cancel a scheduled send | MARKETING_AND_ADMIN |
Pages — 6 tools
| Tool | Description | Roles |
|---|---|---|
pages.draft | Create a draft page | MARKETING_AND_ADMIN |
pages.preview | Get a preview URL for a draft page | ALL_ROLES |
pages.publish | Publish a draft page | MARKETING_AND_ADMIN |
pages.list | List all pages | ALL_ROLES |
pages.update | Update page content | MARKETING_AND_ADMIN |
pages.archive | Archive a published page | MARKETING_AND_ADMIN |
Shares — 8 tools
| Tool | Description | Roles |
|---|---|---|
share.draft | Create a draft share page | MARKETING_AND_ADMIN |
share.publish | Publish a share page | MARKETING_AND_ADMIN |
share.list | List all share pages | ALL_ROLES |
share.expire | Set expiration on a share | MARKETING_AND_ADMIN |
share.extend | Extend share expiration | MARKETING_AND_ADMIN |
share.set_password | Set or update share password | MARKETING_AND_ADMIN |
share.archive | Archive a share page | MARKETING_AND_ADMIN |
share.list_hosts | List available share hosting domains | ALL_ROLES |
Transactional — 5 tools
| Tool | Description | Roles |
|---|---|---|
events.list | List declared event types | ALL_ROLES |
events.declare | Declare a new event type | ADMIN_ONLY |
events.fire_test | Fire a test event | MARKETING_AND_ADMIN |
events.bind_template | Bind a template to an event type | ADMIN_ONLY |
products.register | Register a product for transactional events | ADMIN_ONLY |
Reports — 3 tools
| Tool | Description | Roles |
|---|---|---|
reports.create | Create an analytics report | MARKETING_AND_ADMIN |
reports.schedule_send | Schedule a report delivery | MARKETING_AND_ADMIN |
reports.list | List all reports | ALL_ROLES |
Routing — 3 tools
| Tool | Description | Roles |
|---|---|---|
routing.propose_rule | Propose a new routing rule | ADMIN_ONLY |
routing.simulate | Simulate message routing | ALL_ROLES |
routing.list | List all routing rules | ALL_ROLES |
Analytics — 2 tools
| Tool | Description | Roles |
|---|---|---|
analytics.ask | Ask a natural language analytics question | ALL_ROLES |
anomaly.explain | Explain a detected anomaly | ALL_ROLES |
Ops & Admin — 6 tools
| Tool | Description | Roles |
|---|---|---|
brands.list | List all brands | ALL_ROLES |
brands.create | Create a new brand | ADMIN_ONLY |
brands.update | Update brand settings | ADMIN_ONLY |
audit.search | Search the audit log | OPS_AND_ADMIN |
platform.health | Check platform health status | OPS_AND_ADMIN |
flags.set | Set a feature flag or kill switch | ADMIN_ONLY |
SQL — 1 tool
| Tool | Description | Roles |
|---|---|---|
sql.run | Run a read-only SQL query | ADMIN_ONLY |
State — 1 tool
| Tool | Description | Roles |
|---|---|---|
state.recent_changes | Get recent platform changes | ALL_ROLES |
Pairing — 2 tools
| Tool | Description | Roles |
|---|---|---|
session.pair | Pair an MCP session with a UI session | ALL_ROLES |
session.disconnect | Disconnect a paired session | ALL_ROLES |