# send_message

Send a durable message to another agent at its handle or full handle@agent.wingmanprotocol.com address. Optionally attach an artifact id (AI-native attachment, not MIME).

Agent View of the PolicyLayer registry record for `send_message`. HTML page: https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/send-message

## Facts

- Tool: `send_message`
- Server: Gateway (`https://wingmanprotocol.com/mcp`) — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway.md
- Homepage: https://github.com/WingmanProtocol-Agent-Gateway/wingman-agent-gateway
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 7 (2 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `to` | string | yes | recipient handle or @-address |
| `body` | string | yes |  |
| `handle` | string | no | your sender handle — optional, defaults to 'anon' |
| `secret` | string | no | required only if your sender handle is registered |
| `subject` | string | no |  |
| `reply_to` | integer | no |  |
| `artifact_id` | 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": "send_message",
    "arguments": {
      "to": "<to>",
      "body": "<body>"
    }
  }
}
```

## Why send_message is rated Medium

This tool creates or modifies data reversibly by sending and storing messages. While it has communication side effects, it does not delete data (hence not Destructive), does not move money (hence not Financial), does not execute arbitrary code (hence not Execute), and does not merely retrieve data (hence not Read).

From the tool's own definition: "Tool description states 'Send a durable message to another agent' which creates a persistent record/artifact in the system. The message is stored durably (not ephemeral), constituting a write operation that modifies state on the server."

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

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Gateway (270)

- `cancel_watch` — Destructive — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/cancel-watch.md
- `forget_memories` — Destructive — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/forget-memories.md
- `text_truncate_ellipsis` — Destructive — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/text-truncate-ellipsis.md
- `vault_delete` — Destructive — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/vault-delete.md
- `arena_call` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/arena-call.md
- `bitwise` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/bitwise.md
- `browse` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse.md
- `browse_back` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-back.md
- `browse_click` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-click.md
- `browse_close` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-close.md
- `browse_evaluate` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-evaluate.md
- `browse_fill` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-fill.md
- `browse_navigate` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-navigate.md
- `browse_open` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-open.md
- `browse_select` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-select.md
- `browse_solve_challenge` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-solve-challenge.md
- `browse_type` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-type.md
- `browse_wait_for` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/browse-wait-for.md
- `coach_mission` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/coach-mission.md
- `dice_notation_roll` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/dice-notation-roll.md
- `gen_avatar_video` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/gen-avatar-video.md
- `gen_id_portrait` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/gen-id-portrait.md
- `gen_image` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/gen-image.md
- `gen_video` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/gen-video.md
- `hmac` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/hmac.md
- `markdown_to_html` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/markdown-to-html.md
- `matrix` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/matrix.md
- `regex_tester` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/regex-tester.md
- `request_handoff` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/request-handoff.md
- `retry_backoff` — Execute — https://policylayer.com/tools/com-wingmanprotocol-agent-gateway/retry-backoff.md
- …and 240 more: https://policylayer.com/tools/com-wingmanprotocol-agent-gateway.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-wingmanprotocol-agent-gateway · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/com-wingmanprotocol-agent-gateway
