# neuron_update_campaign

Update a campaign that is in 'draft' or 'rejected' status. Active or completed campaigns cannot be modified.

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

## Facts

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

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | yes | Unique identifier (UUID) of the campaign to update |
| `title` | string | no | Updated campaign title |
| `message` | string | no | Updated WhatsApp message template |
| `deadline` | string | no | Updated campaign deadline in ISO 8601 date format |
| `guidelines` | string | no | Updated participant guidelines |
| `description` | string | no | Updated marketplace description |
| `totalBudget` | number | no | Updated total campaign budget in kobo |
| `rewardPerDelivery` | number | no | Updated reward per delivery in kobo (e.g., 5000 = NGN 50) |
| `requireMutualContact` | boolean | no | Updated mutual contact requirement setting |

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_campaign",
    "arguments": {
      "id": "<id>"
    }
  }
}
```

## Why neuron_update_campaign is rated Medium

This tool modifies campaign data (Write category) rather than reading, executing arbitrary operations, or destroying data. The severity is medium because updating campaigns could affect marketing operations and contact communications, but the changes are reversible and limited to non-active campaigns. Confidence is high due to clear action verb 'Update' in both name and description.

From the tool's own definition: "Tool name 'update_campaign' and description 'Update a campaign' indicates modification of existing data. The restriction that only 'draft' or 'rejected' status campaigns can be modified shows the operation is reversible and doesn't permanently destroy data."

## Use case

AI agents use neuron_update_campaign 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_campaign": {
      "limits": [
        {
          "counter": "neuron_update_campaign_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
