# update_contract

Update an existing contract

Agent View of the PolicyLayer registry record for `update_contract`. HTML page: https://policylayer.com/tools/adbutler/update-contract

## Facts

- Tool: `update_contract`
- Server: AdButler (`adbutler/mcp-server`) — https://policylayer.com/tools/adbutler.md
- Homepage: https://github.com/adbutler/mcp-server
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 9 (1 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | number | yes | Contract ID |
| `name` | string | no | Contract name |
| `rate` | number | no | Contract rate |
| `end_at` | string | no | Contract end date (YYYY-MM-DD) |
| `status` | string | no | Contract status |
| `start_at` | string | no | Contract start date (YYYY-MM-DD) |
| `advertiser` | number | no | Advertiser ID |
| `description` | string | no | Contract description |
| `payment_due_date` | string | no | Payment due date (YYYY-MM-DD) |

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

## Why update_contract is rated Medium

This tool modifies contract data reversibly. It does not delete, execute code, or move money directly. However, because contracts may have financial implications in an advertising platform, and updates could affect contract terms, pricing, or obligations, this warrants medium severity.

From the tool's own definition: "Tool name is 'update_contract' and description states 'Update an existing contract'. The verb 'update' indicates modification of existing data."

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on AdButler (621)

- `archive_advertiser` — Destructive — https://policylayer.com/tools/adbutler/archive-advertiser.md
- `archive_channel` — Destructive — https://policylayer.com/tools/adbutler/archive-channel.md
- `archive_contract` — Destructive — https://policylayer.com/tools/adbutler/archive-contract.md
- `archive_email_zone` — Destructive — https://policylayer.com/tools/adbutler/archive-email-zone.md
- `archive_publisher` — Destructive — https://policylayer.com/tools/adbutler/archive-publisher.md
- `bulk_upload_remove_data_list` — Destructive — https://policylayer.com/tools/adbutler/bulk-upload-remove-data-list.md
- `bulk_upload_replace_user_db` — Destructive — https://policylayer.com/tools/adbutler/bulk-upload-replace-user-db.md
- `campaign_bulk_delete_catalog_ad_items` — Destructive — https://policylayer.com/tools/adbutler/campaign-bulk-delete-catalog-ad-items.md
- `cancel_signature_request` — Destructive — https://policylayer.com/tools/adbutler/cancel-signature-request.md
- `delete_advertiser` — Destructive — https://policylayer.com/tools/adbutler/delete-advertiser.md
- `delete_archived_campaign` — Destructive — https://policylayer.com/tools/adbutler/delete-archived-campaign.md
- `delete_archived_channel` — Destructive — https://policylayer.com/tools/adbutler/delete-archived-channel.md
- `delete_archived_contract` — Destructive — https://policylayer.com/tools/adbutler/delete-archived-contract.md
- `delete_audience` — Destructive — https://policylayer.com/tools/adbutler/delete-audience.md
- `delete_audio_creative` — Destructive — https://policylayer.com/tools/adbutler/delete-audio-creative.md
- `delete_beacon_signing_key` — Destructive — https://policylayer.com/tools/adbutler/delete-beacon-signing-key.md
- `delete_bidder` — Destructive — https://policylayer.com/tools/adbutler/delete-bidder.md
- `delete_campaign` — Destructive — https://policylayer.com/tools/adbutler/delete-campaign.md
- `delete_campaign_assignment` — Destructive — https://policylayer.com/tools/adbutler/delete-campaign-assignment.md
- `delete_catalog_ad_item` — Destructive — https://policylayer.com/tools/adbutler/delete-catalog-ad-item.md
- `delete_catalog_zone` — Destructive — https://policylayer.com/tools/adbutler/delete-catalog-zone.md
- `delete_channel` — Destructive — https://policylayer.com/tools/adbutler/delete-channel.md
- `delete_channel_zone_assignment` — Destructive — https://policylayer.com/tools/adbutler/delete-channel-zone-assignment.md
- `delete_contact` — Destructive — https://policylayer.com/tools/adbutler/delete-contact.md
- `delete_contract` — Destructive — https://policylayer.com/tools/adbutler/delete-contract.md
- `delete_contract_document` — Destructive — https://policylayer.com/tools/adbutler/delete-contract-document.md
- `delete_contract_payment` — Destructive — https://policylayer.com/tools/adbutler/delete-contract-payment.md
- `delete_contract_template` — Destructive — https://policylayer.com/tools/adbutler/delete-contract-template.md
- `delete_creative` — Destructive — https://policylayer.com/tools/adbutler/delete-creative.md
- `delete_custom_html_ad_item` — Destructive — https://policylayer.com/tools/adbutler/delete-custom-html-ad-item.md
- …and 591 more: https://policylayer.com/tools/adbutler.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=adbutler · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/adbutler
