# attach_product_file

Attach a distributable file to a product, either by public URL or by uploading a local file (filePath, local MCP server only). After a purchase of the product, sequence emails can link to it with {{event.download.url}} and {{event.download.name}}.

Agent View of the PolicyLayer registry record for `attach_product_file`. HTML page: https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/attach-product-file

## Facts

- Tool: `attach_product_file`
- Server: Sequenzy Mcp (`Sequenzy/mcp`) — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp.md
- Homepage: https://github.com/Sequenzy/mcp
- Risk category: Write (Medium risk)
- Registry record: grade D, identity unverified
- Server auth posture: gated
- Server CORS policy: *, *
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "attach_product_file",
    "arguments": {}
  }
}
```

## Why attach_product_file is rated Medium

This tool creates or modifies product data by attaching files, which is a reversible write operation. While it could facilitate distribution of malicious files if misused, the primary action is data modification rather than deletion, execution of arbitrary code, or financial transactions.

From the tool's own definition: "Tool description states 'Attach a distributable file to a product' and 'uploading a local file', which are create/modify operations. The tool modifies product data by adding file attachments that are subsequently referenced in email sequences."

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Sequenzy Mcp (221)

- `cancel_campaign` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/cancel-campaign.md
- `cancel_sequence_enrollments` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/cancel-sequence-enrollments.md
- `cancel_team_invitation` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/cancel-team-invitation.md
- `delete_ab_test` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/delete-ab-test.md
- `delete_ab_test_variant` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/delete-ab-test-variant.md
- `delete_api_key` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/delete-api-key.md
- `delete_audience_sync` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/delete-audience-sync.md
- `delete_campaign` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/delete-campaign.md
- `delete_campaign_goal` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/delete-campaign-goal.md
- `delete_email_component` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/delete-email-component.md
- `delete_landing_page` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/delete-landing-page.md
- `delete_list` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/delete-list.md
- `delete_popup` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/delete-popup.md
- `delete_product` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/delete-product.md
- `delete_segment` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/delete-segment.md
- `delete_sequence` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/delete-sequence.md
- `delete_sequence_goal` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/delete-sequence-goal.md
- `delete_subscriber_note` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/delete-subscriber-note.md
- `delete_tag` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/delete-tag.md
- `delete_template` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/delete-template.md
- `delete_transactional_email` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/delete-transactional-email.md
- `delete_web_tracking_key` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/delete-web-tracking-key.md
- `delete_webhook` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/delete-webhook.md
- `remove_landing_page_domain` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/remove-landing-page-domain.md
- `remove_product_file` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/remove-product-file.md
- `remove_subscriber` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/remove-subscriber.md
- `remove_subscribers_from_list` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/remove-subscribers-from-list.md
- `revoke_api_key` — Destructive — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/revoke-api-key.md
- `realign_sequence_enrollments` — Execute — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/realign-sequence-enrollments.md
- `replay_webhook_delivery` — Execute — https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp/replay-webhook-delivery.md
- …and 191 more: https://policylayer.com/tools/io-github-polnikale-sequenzy-mcp.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-polnikale-sequenzy-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-polnikale-sequenzy-mcp
