# neuron_bot_api_send

Send an outbound message through the bot API to a specified phone number. Supports text and media messages. Requires a valid API key.

Agent View of the PolicyLayer registry record for `neuron_bot_api_send`. HTML page: https://policylayer.com/tools/io-github-conquext-neuron/neuron-bot-api-send

## Facts

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

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `to` | string | yes | Recipient's phone number (E.164 format, e.g., '+2348012345678') |
| `apiKey` | string | yes | Bot API key with 'nrn_' prefix for authentication |
| `message` | string | yes | The message text to send to the recipient |
| `mediaUrl` | string | no | Public URL of the media file to attach (required for non-text message types) |
| `channelId` | string | no | Unique identifier (UUID) of a specific WhatsApp channel to send from. Uses the bot's primary channel if omitted. |
| `messageType` | string | no | Type of message to send: 'text', 'image', 'video', 'audio', or 'document' (default: 'text') |

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": "neuron_bot_api_send",
    "arguments": {
      "to": "<to>",
      "apiKey": "<apiKey>",
      "message": "<message>"
    }
  }
}
```

## Why neuron_bot_api_send is rated Medium

This tool sends outbound WhatsApp messages to phone numbers, which is a Write operation (creates new message records and delivers communications). Severity is high because a misused agent could send unsolicited, harmful, or spam messages to arbitrary phone numbers at scale via the bot API, potentially causing reputational, legal, or privacy harms.

From the tool's own definition: "Send an outbound message through the bot API to a specified phone number. Supports text and media messages."

Risk signals: Handles credentials or secrets (apiKey)

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Neuron (230)

- `neuron_delete_ad_request` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-delete-ad-request.md
- `neuron_delete_blog_post` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-delete-blog-post.md
- `neuron_delete_bot` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-delete-bot.md
- `neuron_delete_broadcast` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-delete-broadcast.md
- `neuron_delete_campaign` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-delete-campaign.md
- `neuron_delete_channel` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-delete-channel.md
- `neuron_delete_contact` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-delete-contact.md
- `neuron_delete_contact_list` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-delete-contact-list.md
- `neuron_delete_kb_entry` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-delete-kb-entry.md
- `neuron_delete_knowledge_base` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-delete-knowledge-base.md
- `neuron_delete_message` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-delete-message.md
- `neuron_delete_newsletter` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-delete-newsletter.md
- `neuron_delete_outbound_webhook` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-delete-outbound-webhook.md
- `neuron_delete_tool` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-delete-tool.md
- `neuron_delete_webhook` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-delete-webhook.md
- `neuron_leave_group` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-leave-group.md
- `neuron_logout` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-logout.md
- `neuron_post_to_newsletter` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-post-to-newsletter.md
- `neuron_remove_bot_channel` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-remove-bot-channel.md
- `neuron_remove_member` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-remove-member.md
- `neuron_remove_profile_picture` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-remove-profile-picture.md
- `neuron_remove_tool_secret` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-remove-tool-secret.md
- `neuron_revoke_api_key` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-revoke-api-key.md
- `neuron_revoke_group_invite` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-revoke-group-invite.md
- `neuron_revoke_invitation` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-revoke-invitation.md
- `neuron_send_broadcast` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-send-broadcast.md
- `neuron_stop_ad_request` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-stop-ad-request.md
- `neuron_stop_campaign` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-stop-campaign.md
- `neuron_unpublish_from_pool` — Destructive — https://policylayer.com/tools/io-github-conquext-neuron/neuron-unpublish-from-pool.md
- `neuron_bot_api_chat` — Execute — https://policylayer.com/tools/io-github-conquext-neuron/neuron-bot-api-chat.md
- …and 200 more: https://policylayer.com/tools/io-github-conquext-neuron.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=io-github-conquext-neuron · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-conquext-neuron
