# comms_render_message

Render a communication template as a visual image (PNG). Available templates: session-confirmation, session-reminder, payment-reminder. Use action "preview" to get the image URL, "send" to render and send via WhatsApp with the image attached. Each template requires specific data fields (clientName, providerName, date, time, etc.).

Agent View of the PolicyLayer registry record for `comms_render_message`. HTML page: https://policylayer.com/tools/com-servicialo-mcp-server/comms-render-message

## Facts

- Tool: `comms_render_message`
- Server: Servicialo (`@servicialo/mcp-server`) — https://policylayer.com/tools/com-servicialo-mcp-server.md
- Install: `npx -y @servicialo/mcp-server`
- Homepage: https://github.com/servicialo/mcp-server
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server CORS policy: *
- Server rate-limited: no
- Parameters: 9 (3 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `data` | object | yes |  |
| `width` | number | no |  |
| `action` | string | no |  |
| `apiKey` | string | no |  |
| `orgSlug` | string | yes |  |
| `clientId` | string | no |  |
| `template` | string | yes |  |
| `whatsappTo` | string | no |  |
| `whatsappBody` | string | no |  |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "comms_render_message",
    "arguments": {
      "data": {},
      "orgSlug": "<orgSlug>",
      "template": "<template>"
    }
  }
}
```

## Why comms_render_message is rated Medium

The tool modifies external state by sending messages through WhatsApp, which is a reversible write operation. While sending communication is less severe than financial transactions or destructive operations, it creates persistent artifacts (rendered messages, WhatsApp delivery) and could be misused to spam or impersonate users.

From the tool's own definition: "Tool description states it can 'render and send via WhatsApp with the image attached' using the 'send' action. This creates and transmits communication artifacts (PNG images + WhatsApp messages) on behalf of the user."

Risk signals: Handles credentials or secrets (apiKey) · Accepts raw HTML/template content (template)

## Use case

AI agents use comms_render_message to create or update resources in Servicialo, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Servicialo environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Servicialo:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "comms_render_message": {
      "limits": [
        {
          "counter": "comms_render_message_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Servicialo (110)

- `agendas_delete` — Destructive — https://policylayer.com/tools/com-servicialo-mcp-server/agendas-delete.md
- `cierre_cerrar_org` — Destructive — https://policylayer.com/tools/com-servicialo-mcp-server/cierre-cerrar-org.md
- `cierre_eliminar_cliente` — Destructive — https://policylayer.com/tools/com-servicialo-mcp-server/cierre-eliminar-cliente.md
- `email_domain_delete` — Destructive — https://policylayer.com/tools/com-servicialo-mcp-server/email-domain-delete.md
- `portal_cancel_reschedule_request` — Destructive — https://policylayer.com/tools/com-servicialo-mcp-server/portal-cancel-reschedule-request.md
- `portal_session_cancel` — Destructive — https://policylayer.com/tools/com-servicialo-mcp-server/portal-session-cancel.md
- `public_booking_cancel` — Destructive — https://policylayer.com/tools/com-servicialo-mcp-server/public-booking-cancel.md
- `comms_send_campaign` — Execute — https://policylayer.com/tools/com-servicialo-mcp-server/comms-send-campaign.md
- `email_domain_verify` — Execute — https://policylayer.com/tools/com-servicialo-mcp-server/email-domain-verify.md
- `lifecycle_transition` — Execute — https://policylayer.com/tools/com-servicialo-mcp-server/lifecycle-transition.md
- `booking_cancel` — Financial — https://policylayer.com/tools/com-servicialo-mcp-server/booking-cancel.md
- `cierre_crear_cliente` — Financial — https://policylayer.com/tools/com-servicialo-mcp-server/cierre-crear-cliente.md
- `cierre_distribuir_utilidades` — Financial — https://policylayer.com/tools/com-servicialo-mcp-server/cierre-distribuir-utilidades.md
- `finance_create_cobro` — Financial — https://policylayer.com/tools/com-servicialo-mcp-server/finance-create-cobro.md
- `finance_create_venta` — Financial — https://policylayer.com/tools/com-servicialo-mcp-server/finance-create-venta.md
- `finance_register_payment` — Financial — https://policylayer.com/tools/com-servicialo-mcp-server/finance-register-payment.md
- `finance_send_confirmations` — Financial — https://policylayer.com/tools/com-servicialo-mcp-server/finance-send-confirmations.md
- `admin_list_providers` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/admin-list-providers.md
- `agendas_get` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/agendas-get.md
- `agendas_list` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/agendas-list.md
- `availability_get_provider_schedule` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/availability-get-provider-schedule.md
- `availability_get_slots` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/availability-get-slots.md
- `booking_get` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/booking-get.md
- `booking_list` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/booking-list.md
- `booking_list_requests` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/booking-list-requests.md
- `cierre_evaluar_org` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/cierre-evaluar-org.md
- `cierre_listar_clientes` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/cierre-listar-clientes.md
- `cierre_listar_utilidades` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/cierre-listar-utilidades.md
- `cierre_preview_cliente` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/cierre-preview-cliente.md
- `client_get` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/client-get.md
- …and 80 more: https://policylayer.com/tools/com-servicialo-mcp-server.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=com-servicialo-mcp-server · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/com-servicialo-mcp-server
