ActionDock

Supervised API-write gateway for AI agents with policy, human approval and execution receipts.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
98%
Integridad del esquema
80%
Calidad de los nombres
100%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~4,126Tokens (definiciones de herramientas)
~5.4 KBTamaño de respuesta típico
Impacto significativo en la atención (3.22% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "actiondock": {
      "url": "https://actiondock.app/mcp"
    }
  }
}

Puntos de conexión remotos

https://actiondock.app/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (8)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢list_actions

List every action available to the agent, including input schemas and side-effect flags.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "actions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "description": "Catalog entries with name, description, input schema, and side-effect flag."
    }
  },
  "required": [
    "actions"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🔴run_action(action, input, workflow_id, workflow_name, idempotency_key)

Create an action job. External writes always wait for workspace-owner approval in the dashboard; the owner is emailed, and wait_for_job blocks until the decision.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "minLength": 1,
      "description": "Catalog action name from list_actions, for example integration.execute."
    },
    "input": {
      "default": {},
      "description": "Action input matching the schema advertised by list_actions.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "workflow_id": {
      "description": "Stable identifier of the agent workflow this job belongs to, for grouping events.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "workflow_name": {
      "description": "Human-readable workflow name shown to the workspace owner during review.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "idempotency_key": {
      "description": "Caller-chosen key; resubmitting the same key and input returns the existing job instead of creating another.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "required": [
    "action"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Job identifier."
    },
    "workspaceId": {
      "type": "string",
      "format": "uuid",
      "description": "Workspace that owns the job."
    },
    "action": {
      "type": "string",
      "description": "Catalog action name, for example integration.execute."
    },
    "workflowId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Caller-supplied workflow identifier shared across related jobs."
    },
    "workflowName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Caller-supplied workflow name shown in the dashboard."
    },
    "status": {
      "type": "string",
      "enum": [
        "awaiting_approval",
        "queued",
        "running",
        "succeeded",
        "failed",
        "rejected",
        "execution_unknown"
      ],
      "description": "awaiting_approval, queued, and running are non-terminal; succeeded, failed, rejected, and execution_unknown are terminal. An owner may revoke a queued approval, producing rejected with both approval and rejection evidence."
    },
    "input": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {},
      "description": "Validated action input exactly as submitted."
    },
    "output": {
      "description": "For writes awaiting_approval or queued: the exact approval preview bound to the owner's decision. Rejected writes retain that preview, including after a queued approval is revoked. After succeeded: the action result. After execution_unknown: the approved write plus the ambiguous provider response when one was received. Other jobs may have a preserved preview or null."
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Failure, execution_unknown or queued approval revocation explanation; null otherwise."
    },
    "sideEffect": {
      "type": "boolean",
      "description": "True when the action writes to an external system and therefore required owner approval."
    },
    "idempotencyKey": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Idempotency key that deduplicates this submission within the workspace."
    },
    "approvedAt": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time",
          "description": "When a signed-in workspace owner released the write."
        },
        {
          "type": "null"
        }
      ]
    },
    "approvedBy": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Owner who approved the write."
    },
    "rejectedAt": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time",
          "description": "When a signed-in workspace owner rejected the write."
        },
        {
          "type": "null"
        }
      ]
    },
    "rejectedBy": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Owner who rejected the write."
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "Creation time."
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "Last status change."
    }
  },
  "required": [
    "id",
    "workspaceId",
    "action",
    "workflowId",
    "workflowName",
    "status",
    "input",
    "output",
    "error",
    "sideEffect",
    "idempotencyKey",
    "approvedAt",
    "approvedBy",
    "rejectedAt",
    "rejectedBy",
    "createdAt",
    "updatedAt"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_job(job_id)

Get the current status and result of an action job.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "Job identifier returned by run_action."
    }
  },
  "required": [
    "job_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Job identifier."
    },
    "workspaceId": {
      "type": "string",
      "format": "uuid",
      "description": "Workspace that owns the job."
    },
    "action": {
      "type": "string",
      "description": "Catalog action name, for example integration.execute."
    },
    "workflowId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Caller-supplied workflow identifier shared across related jobs."
    },
    "workflowName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Caller-supplied workflow name shown in the dashboard."
    },
    "status": {
      "type": "string",
      "enum": [
        "awaiting_approval",
        "queued",
        "running",
        "succeeded",
        "failed",
        "rejected",
        "execution_unknown"
      ],
      "description": "awaiting_approval, queued, and running are non-terminal; succeeded, failed, rejected, and execution_unknown are terminal. An owner may revoke a queued approval, producing rejected with both approval and rejection evidence."
    },
    "input": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {},
      "description": "Validated action input exactly as submitted."
    },
    "output": {
      "description": "For writes awaiting_approval or queued: the exact approval preview bound to the owner's decision. Rejected writes retain that preview, including after a queued approval is revoked. After succeeded: the action result. After execution_unknown: the approved write plus the ambiguous provider response when one was received. Other jobs may have a preserved preview or null."
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Failure, execution_unknown or queued approval revocation explanation; null otherwise."
    },
    "sideEffect": {
      "type": "boolean",
      "description": "True when the action writes to an external system and therefore required owner approval."
    },
    "idempotencyKey": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Idempotency key that deduplicates this submission within the workspace."
    },
    "approvedAt": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time",
          "description": "When a signed-in workspace owner released the write."
        },
        {
          "type": "null"
        }
      ]
    },
    "approvedBy": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Owner who approved the write."
    },
    "rejectedAt": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time",
          "description": "When a signed-in workspace owner rejected the write."
        },
        {
          "type": "null"
        }
      ]
    },
    "rejectedBy": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Owner who rejected the write."
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "Creation time."
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "Last status change."
    }
  },
  "required": [
    "id",
    "workspaceId",
    "action",
    "workflowId",
    "workflowName",
    "status",
    "input",
    "output",
    "error",
    "sideEffect",
    "idempotencyKey",
    "approvedAt",
    "approvedBy",
    "rejectedAt",
    "rejectedBy",
    "createdAt",
    "updatedAt"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢list_job_reconciliations(job_id, limit, before)

Read the owner's append-only observations about an unknown write. These are owner reports, not verified provider facts, a changed job status, or permission to retry. Agents cannot record observations.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "Job identifier returned by run_action."
    },
    "limit": {
      "default": 20,
      "description": "Maximum observations per page, newest first.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "before": {
      "description": "nextBefore from the previous page; omit for the newest observations.",
      "type": "string",
      "pattern": "^[1-9][0-9]{0,18}$"
    }
  },
  "required": [
    "job_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "records": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "jobId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "outcome": {
            "type": "string",
            "enum": [
              "applied",
              "not_applied",
              "inconclusive"
            ]
          },
          "evidence": {
            "type": "string"
          },
          "reference": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "recordedBy": {
            "type": "string",
            "description": "Signed-in workspace owner who recorded this observation."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
          }
        },
        "required": [
          "id",
          "jobId",
          "outcome",
          "evidence",
          "reference",
          "recordedBy",
          "createdAt"
        ],
        "additionalProperties": false
      },
      "description": "Owner observations, newest first; corrections append to history."
    },
    "nextBefore": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Pass as before to read older records; null means the end of history."
    }
  },
  "required": [
    "records",
    "nextBefore"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢wait_for_job(job_id, timeout_seconds)

Wait for an action job to reach a decision or a final state: approved and executed, rejected, failed, or execution_unknown. A job still awaiting owner approval when the timeout elapses is returned as awaiting_approval; call again to keep waiting. Keep timeout_seconds below your client's tool timeout.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "Job identifier returned by run_action."
    },
    "timeout_seconds": {
      "default": 30,
      "description": "How long to wait for a decision or final state before returning the current job; keep it below your client's tool timeout.",
      "type": "integer",
      "minimum": 0,
      "maximum": 300
    }
  },
  "required": [
    "job_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "description": "Job identifier."
    },
    "workspaceId": {
      "type": "string",
      "format": "uuid",
      "description": "Workspace that owns the job."
    },
    "action": {
      "type": "string",
      "description": "Catalog action name, for example integration.execute."
    },
    "workflowId": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Caller-supplied workflow identifier shared across related jobs."
    },
    "workflowName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Caller-supplied workflow name shown in the dashboard."
    },
    "status": {
      "type": "string",
      "enum": [
        "awaiting_approval",
        "queued",
        "running",
        "succeeded",
        "failed",
        "rejected",
        "execution_unknown"
      ],
      "description": "awaiting_approval, queued, and running are non-terminal; succeeded, failed, rejected, and execution_unknown are terminal. An owner may revoke a queued approval, producing rejected with both approval and rejection evidence."
    },
    "input": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {},
      "description": "Validated action input exactly as submitted."
    },
    "output": {
      "description": "For writes awaiting_approval or queued: the exact approval preview bound to the owner's decision. Rejected writes retain that preview, including after a queued approval is revoked. After succeeded: the action result. After execution_unknown: the approved write plus the ambiguous provider response when one was received. Other jobs may have a preserved preview or null."
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Failure, execution_unknown or queued approval revocation explanation; null otherwise."
    },
    "sideEffect": {
      "type": "boolean",
      "description": "True when the action writes to an external system and therefore required owner approval."
    },
    "idempotencyKey": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Idempotency key that deduplicates this submission within the workspace."
    },
    "approvedAt": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time",
          "description": "When a signed-in workspace owner released the write."
        },
        {
          "type": "null"
        }
      ]
    },
    "approvedBy": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Owner who approved the write."
    },
    "rejectedAt": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time",
          "description": "When a signed-in workspace owner rejected the write."
        },
        {
          "type": "null"
        }
      ]
    },
    "rejectedBy": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Owner who rejected the write."
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "Creation time."
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "Last status change."
    }
  },
  "required": [
    "id",
    "workspaceId",
    "action",
    "workflowId",
    "workflowName",
    "status",
    "input",
    "output",
    "error",
    "sideEffect",
    "idempotencyKey",
    "approvedAt",
    "approvedBy",
    "rejectedAt",
    "rejectedBy",
    "createdAt",
    "updatedAt"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢list_events(limit)

List recent job and callback events for workflow continuation and audit.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 50,
      "description": "Maximum number of most recent events to return.",
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "events": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "description": "Most recent job and callback events, newest first."
    }
  },
  "required": [
    "events"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢list_connections

List the workspace-approved HTTPS API connections and their method/path allowlists. Credentials are never returned.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "connections": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "description": "Workspace-approved API connections with their method and path allowlists; credentials are never included."
    }
  },
  "required": [
    "connections"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢list_usage(limit)

List metered action debits and the current UTC-month usage total.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 50,
      "description": "Maximum number of most recent usage records to return.",
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "summary": {
      "type": "object",
      "properties": {},
      "additionalProperties": {},
      "description": "Current UTC-month usage total and plan limit."
    },
    "records": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      },
      "description": "Most recent metered action debits, newest first."
    }
  },
  "required": [
    "summary",
    "records"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Prompts recomendados

retrieve_data
Get details about [item] from ActionDock
Herramientas esperadas: get_job
fetch_info
Fetch [information type] using ActionDock
Herramientas esperadas: get_job
list_items
List all [items] available in ActionDock
Herramientas esperadas: list_actions
browse_collection
Show me the [collection] from ActionDock
Herramientas esperadas: list_actions
explore_workflow
List available [items], then get details for each one using ActionDock
Herramientas esperadas: list_actionsget_job

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada8 herramientas
verificadoversión no registrada8 herramientas