> ## Documentation Index
> Fetch the complete documentation index at: https://docs.safefetch.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Tools

> Parameters and behavior for all SafeFetch MCP tools.

## Tool list

<AccordionGroup>
  <Accordion title="send_action">
    Sends an action that makes an HTTP request to any URL (API endpoint, internal service, etc.). Supports dedupe, idempotency, approval, and callback URL.
  </Accordion>

  <Accordion title="get_action">
    Returns current action status and any stored execution result.
  </Accordion>

  <Accordion title="cancel">
    Cancels actions in `pending` or `awaiting_approval`.
  </Accordion>

  <Accordion title="approve">
    Approves an action in `awaiting_approval` and moves it to `pending`.
  </Accordion>

  <Accordion title="retry">
    Creates a new action from a failed or cancelled action.
  </Accordion>

  <Accordion title="list_actions">
    Lists actions with optional status filtering.
  </Accordion>
</AccordionGroup>

## Parameters

### `send_action`

<ParamField path="url" type="string" required>Target URL for the HTTP request.</ParamField>
<ParamField path="method" type="string">HTTP method. Default `POST`.</ParamField>
<ParamField path="body" type="object">JSON request body.</ParamField>
<ParamField path="headers" type="object">Additional outbound headers.</ParamField>
<ParamField path="dedupe" type="string">24h semantic dedupe key.</ParamField>
<ParamField path="idempotency_key" type="string">24h request dedupe key.</ParamField>
<ParamField path="retries" type="integer">1-100, default 3.</ParamField>
<ParamField path="approve" type="boolean">Start in `awaiting_approval`.</ParamField>
<ParamField path="callback" type="string">Delivery endpoint to notify on completion or failure.</ParamField>

### `get_action` / `cancel` / `approve` / `retry`

<ParamField path="id" type="string" required>Action ID.</ParamField>

### `list_actions`

<ParamField path="status" type="string">Filter by status.</ParamField>
<ParamField path="limit" type="integer">Default 20, max 100.</ParamField>
