# neuron_update_ad_request

Update a draft or rejected ad request. Only draft and rejected ad requests can be edited. Rejected requests revert to draft on update.

Agent View of the PolicyLayer registry record for `neuron_update_ad_request`. HTML page: https://policylayer.com/tools/io-github-conquext-neuron/neuron-update-ad-request

## Facts

- Tool: `neuron_update_ad_request`
- 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: 11 (1 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `budget` | number | no | Updated budget in kobo |
| `message` | string | no | Updated ad message content |
| `mediaUrl` | string | no | Updated media URL (set to null to clear) |
| `targetGoal` | number | no | Updated target number of deliveries |
| `targetType` | string | no | Target type: 'contacts' or 'groups' |
| `adRequestId` | string | yes | Unique identifier (UUID) of the ad request to update |
| `messageType` | string | no | Updated message type: 'text', 'image', 'video', or 'document' |
| `targetingMode` | string | no | Targeting mode: 'auto' for system matching or 'manual' for hand-picked pool entries |
| `targetDemographics` | object | no | Updated demographic targeting criteria |
| `selectedPoolEntryIds` | array | no | Pool entry UUIDs for manual contact targeting |
| `selectedGroupPoolEntryIds` | array | no | Group pool entry UUIDs for manual group targeting |

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_update_ad_request",
    "arguments": {
      "adRequestId": "<adRequestId>"
    }
  }
}
```

## Why neuron_update_ad_request is rated Medium

This tool modifies existing ad request records by allowing updates to draft or rejected requests. While reversible (rejected requests revert to draft status, implying prior states can be recovered), it creates or modifies business records in the ad campaign system. The impact is limited to ad request objects rather than destructive deletion or financial transactions, placing it in the Write category.

From the tool's own definition: "Tool description states it performs 'Update a draft or rejected ad request' and allows editing of requests that 'revert to draft on update', which are clearly data modification operations."

Risk signals: High parameter count (13 properties)

## Use case

AI agents use neuron_update_ad_request 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_update_ad_request": {
      "limits": [
        {
          "counter": "neuron_update_ad_request_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
