ActionDock
Supervised API-write gateway for AI agents with policy, human approval and execution receipts.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"actiondock": {
"url": "https://actiondock.app/mcp"
}
}
}Remote-Endpunkte
https://actiondock.app/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (8)
🟢list_actions
List every action available to the agent, including input schemas and side-effect flags.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"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.
Eingabe-Schema
{
"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#"
}Ausgabe-Schema
{
"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.
Eingabe-Schema
{
"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#"
}Ausgabe-Schema
{
"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.
Eingabe-Schema
{
"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#"
}Ausgabe-Schema
{
"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.
Eingabe-Schema
{
"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#"
}Ausgabe-Schema
{
"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.
Eingabe-Schema
{
"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#"
}Ausgabe-Schema
{
"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.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"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.
Eingabe-Schema
{
"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#"
}Ausgabe-Schema
{
"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
}Empfohlene Prompts
get_jobget_joblist_actionslist_actionslist_actionsget_jobCommunity
Nachweis