Trigger.dev MCP by usefulapi

Debug background jobs — runs, traces, spans, schedules, queues and deployments.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
95%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,901Tokens (tool definitions)
~797 BTypical response size
Significant attention impact (2.27% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "trigger-dev": {
      "url": "https://trigger-dev.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://trigger-dev.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (22)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢trigger_list_runs(status, taskIdentifier, tag, queue, machine, ...)

List task runs, filtered by status, task, tag, queue, schedule or a time window. This is the main read for 'what ran, and what failed?'. Trigger.dev: GET /api/v1/runs.

Input Schema

{
  "type": "object",
  "properties": {
    "status": {
      "description": "Only runs in these states, e.g. [\"FAILED\",\"CRASHED\"]. Others include PENDING, EXECUTING, COMPLETED, CANCELED, TIMED_OUT.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "taskIdentifier": {
      "description": "Only runs of these task ids.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "tag": {
      "description": "Only runs carrying these tags.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "queue": {
      "description": "Only runs on these queues.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "machine": {
      "description": "Only runs on these machine presets.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "version": {
      "description": "Only runs of this deployment version.",
      "type": "string"
    },
    "schedule": {
      "description": "Only runs created by this schedule.",
      "type": "string"
    },
    "batch": {
      "description": "Only runs in this batch.",
      "type": "string"
    },
    "isTest": {
      "description": "Only test runs, or only real ones.",
      "type": "boolean"
    },
    "period": {
      "description": "Relative window, e.g. \"1h\", \"24h\", \"7d\".",
      "type": "string"
    },
    "from": {
      "description": "Epoch milliseconds lower bound on creation time.",
      "type": "string"
    },
    "to": {
      "description": "Epoch milliseconds upper bound on creation time.",
      "type": "string"
    },
    "pageSize": {
      "description": "Page size, 1-100.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "after": {
      "description": "Cursor from the previous page's pagination. Omit for the first page.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trigger_get_run(run_id)

Fetch a single run's outcome — its status, output, error and attempts. Trigger.dev: GET /api/v1/runs/{runId}/result.

Input Schema

{
  "type": "object",
  "properties": {
    "run_id": {
      "type": "string",
      "description": "The run's id (run_...)."
    }
  },
  "required": [
    "run_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trigger_get_run_trace(run_id)

Fetch the full execution trace of a run — every span, with timings and nesting. The tool for 'where did this run spend its time, and where did it break?'. Trigger.dev: GET /api/v1/runs/{runId}/trace.

Input Schema

{
  "type": "object",
  "properties": {
    "run_id": {
      "type": "string",
      "description": "The run's id."
    }
  },
  "required": [
    "run_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trigger_get_run_span(run_id, span_id)

Fetch a single span from a run's trace, with its own logs and attributes. Trigger.dev: GET /api/v1/runs/{runId}/spans/{spanId}.

Input Schema

{
  "type": "object",
  "properties": {
    "run_id": {
      "type": "string",
      "description": "The run's id."
    },
    "span_id": {
      "type": "string",
      "description": "The span's id, from the trace."
    }
  },
  "required": [
    "run_id",
    "span_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trigger_list_run_events(run_id)

List the lifecycle events of one run — queued, dequeued, started, retried, completed. Trigger.dev: GET /api/v1/runs/{runId}/events.

Input Schema

{
  "type": "object",
  "properties": {
    "run_id": {
      "type": "string",
      "description": "The run's id."
    }
  },
  "required": [
    "run_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trigger_get_run_metadata(run_id)

Fetch the mutable metadata a run has written about itself — progress, checkpoints and custom state. Trigger.dev: GET /api/v1/runs/{runId}/metadata.

Input Schema

{
  "type": "object",
  "properties": {
    "run_id": {
      "type": "string",
      "description": "The run's id."
    }
  },
  "required": [
    "run_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trigger_get_batch_results(batch_id)

Fetch the outcome of every run in a batch. Trigger.dev: GET /api/v1/batches/{batchId}/results.

Input Schema

{
  "type": "object",
  "properties": {
    "batch_id": {
      "type": "string",
      "description": "The batch's id (batch_...)."
    }
  },
  "required": [
    "batch_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trigger_list_schedules(pageSize, page)

List the cron schedules configured for tasks, with their next run times. Trigger.dev: GET /api/v1/schedules.

Input Schema

{
  "type": "object",
  "properties": {
    "pageSize": {
      "description": "Page size, 1-100.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "page": {
      "description": "1-based page number.",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trigger_get_schedule(schedule_id)

Fetch a single schedule with its cron expression, timezone and active state. Trigger.dev: GET /api/v1/schedules/{scheduleId}.

Input Schema

{
  "type": "object",
  "properties": {
    "schedule_id": {
      "type": "string",
      "description": "The schedule's id (sched_...)."
    }
  },
  "required": [
    "schedule_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trigger_list_queues(pageSize)

List task queues with their concurrency limits and current depth — where you look when work is backing up. Trigger.dev: GET /api/v1/queues.

Input Schema

{
  "type": "object",
  "properties": {
    "pageSize": {
      "description": "Page size, 1-100.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trigger_get_queue(queue)

Fetch a single queue's concurrency limit, running count and queued count. Trigger.dev: GET /api/v1/queues/{queue}.

Input Schema

{
  "type": "object",
  "properties": {
    "queue": {
      "type": "string",
      "description": "The queue's name or id."
    }
  },
  "required": [
    "queue"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trigger_get_current_deployment

Fetch the deployment currently serving the key's environment — its version, git ref and status. Trigger.dev: GET /api/v1/deployments/current.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trigger_list_env_vars(project_ref, environment)

List the environment variables configured for a project environment. Values may be redacted depending on the key's permissions. READ ONLY — this server exposes no env-var writes. Trigger.dev: GET /api/v1/projects/{projectRef}/envvars/{env}.

Input Schema

{
  "type": "object",
  "properties": {
    "project_ref": {
      "type": "string",
      "description": "The project reference (proj_...)."
    },
    "environment": {
      "type": "string",
      "enum": [
        "dev",
        "staging",
        "prod",
        "preview"
      ],
      "description": "Which environment's variables to list."
    }
  },
  "required": [
    "project_ref",
    "environment"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trigger_list_waitpoint_tokens(pageSize, after)

List outstanding waitpoint tokens — runs paused waiting for an external signal. Trigger.dev: GET /api/v1/waitpoints/tokens.

Input Schema

{
  "type": "object",
  "properties": {
    "pageSize": {
      "description": "Page size, 1-100.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "after": {
      "description": "Cursor from the previous page's pagination. Omit for the first page.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢trigger_list_bulk_actions(pageSize)

List bulk replay and cancel operations and their progress. Trigger.dev: GET /api/v1/bulk-actions.

Input Schema

{
  "type": "object",
  "properties": {
    "pageSize": {
      "description": "Page size, 1-100.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴trigger_cancel_run(run_id)

Cancel an in-flight run. Note this is the one endpoint on API v2, not v1. Trigger.dev: POST /api/v2/runs/{runId}/cancel.

Input Schema

{
  "type": "object",
  "properties": {
    "run_id": {
      "type": "string",
      "description": "The run to cancel."
    }
  },
  "required": [
    "run_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴trigger_replay_run(run_id)

Re-run one specific past run with the same payload. This EXECUTES your production task again — the same side effects it had the first time. Trigger.dev: POST /api/v1/runs/{runId}/replay.

Input Schema

{
  "type": "object",
  "properties": {
    "run_id": {
      "type": "string",
      "description": "The run to replay."
    }
  },
  "required": [
    "run_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴trigger_reschedule_run(run_id, delay)

Change when a delayed run will execute. Only applies to runs that have not started. Trigger.dev: POST /api/v1/runs/{runId}/reschedule.

Input Schema

{
  "type": "object",
  "properties": {
    "run_id": {
      "type": "string",
      "description": "The delayed run to move."
    },
    "delay": {
      "type": "string",
      "description": "New delay or timestamp, e.g. \"1h\" or an ISO-8601 datetime."
    }
  },
  "required": [
    "run_id",
    "delay"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴trigger_add_run_tags(run_id, tags)

Attach tags to a run so you can filter for it later. Additive and safe. Trigger.dev: POST /api/v1/runs/{runId}/tags.

Input Schema

{
  "type": "object",
  "properties": {
    "run_id": {
      "type": "string",
      "description": "The run to tag."
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Tags to add."
    }
  },
  "required": [
    "run_id",
    "tags"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴trigger_activate_schedule(schedule_id)

Resume a paused schedule so it fires again. Trigger.dev: POST /api/v1/schedules/{scheduleId}/activate.

Input Schema

{
  "type": "object",
  "properties": {
    "schedule_id": {
      "type": "string",
      "description": "The schedule to activate."
    }
  },
  "required": [
    "schedule_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴trigger_deactivate_schedule(schedule_id)

Pause a schedule so it stops firing. The usual first move when a scheduled task is misbehaving. Trigger.dev: POST /api/v1/schedules/{scheduleId}/deactivate.

Input Schema

{
  "type": "object",
  "properties": {
    "schedule_id": {
      "type": "string",
      "description": "The schedule to pause."
    }
  },
  "required": [
    "schedule_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴trigger_pause_queue(queue, paused)

Pause a queue so its runs stop being dequeued, or resume it. The containment move when a task is failing in a loop. Trigger.dev: POST /api/v1/queues/{queue}/pause.

Input Schema

{
  "type": "object",
  "properties": {
    "queue": {
      "type": "string",
      "description": "The queue's name or id."
    },
    "paused": {
      "type": "boolean",
      "description": "true to pause, false to resume."
    }
  },
  "required": [
    "queue",
    "paused"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded22 tools
verifiedversion not recorded22 tools