Temporal

Temporal

Manage Temporal workflows, schedules, namespaces, task queues, and workflow execution history from MCP clients.

10K+

29 Tools

Packaged by
Requires Configuration
Requires Secrets
Add to Docker Desktop

Version 4.43 or later needs to be installed to add the server automatically

About

Temporal MCP Server

MCP support for Temporal. A comprehensive set of tools for interacting with workflows and their adjacent configurations.

What is an MCP Server?⁠

MCP Info

Image Building Info

AttributeDetails
Dockerfilehttps://github.com/GethosTheWalrus/temporal-mcp/blob/bbe92ebc4375aff5e5efff6ffd7b69db8956d92b/Dockerfile⁠
Commitbbe92ebc4375aff5e5efff6ffd7b69db8956d92b
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/temporal --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceApache License 2.0

Available Tools (29)

Tools provided by this ServerShort Description
batch_cancelCancel multiple workflows matching a query with concurrent processing for speed.
batch_cancel_activitiesCancel multiple standalone activities matching a query with concurrent processing for speed.
batch_signalSend a signal to multiple workflows matching a query.
batch_terminateTerminate multiple workflows matching a query.
batch_terminate_activitiesTerminate multiple standalone activities matching a query.
cancel_activityCancel a running standalone activity execution
cancel_workflowCancel a running workflow execution
continue_as_newSignal a workflow to continue as new (restart with new inputs while preserving history link)
count_activitiesCount standalone activity executions matching a query
create_scheduleCreate a new schedule for periodic workflow execution
delete_scheduleDelete a schedule
describe_activityGet detailed information about a standalone activity execution
describe_workflowGet detailed information about a workflow execution
execute_activityExecute a standalone Temporal activity and wait for result
get_activity_resultGet the result of a standalone activity
get_workflow_historyGet the complete event history of a workflow execution.
get_workflow_resultGet the result of a completed workflow
list_activitiesList standalone activity executions based on a query.
list_schedulesList all schedules.
list_workflowsList workflow executions based on a query.
pause_schedulePause a schedule
query_workflowQuery a running workflow for its current state
signal_workflowSend a signal to a running workflow
start_activityStart a new standalone Temporal activity execution
start_workflowStart a new Temporal workflow execution
terminate_activityForcefully terminate a standalone activity execution
terminate_workflowForcefully terminate a workflow execution
trigger_scheduleManually trigger a scheduled workflow immediately
unpause_scheduleResume a paused schedule

Tools Details

Tool: batch_cancel

Cancel multiple workflows matching a query with concurrent processing for speed. Use 'concurrency' to control parallel operations (default: 50).

ParametersTypeDescription
querystringQuery to select workflows to cancel
concurrencynumberoptionalNumber of workflows to cancel concurrently for faster processing (default: 50, max recommended: 100)
limitnumberoptionalMaximum number of workflows to cancel (default: 100)

Tool: batch_cancel_activities

Cancel multiple standalone activities matching a query with concurrent processing for speed. Use 'concurrency' to control parallel operations (default: 50).

ParametersTypeDescription
querystringQuery to select activities to cancel
concurrencynumberoptionalNumber of activities to cancel concurrently (default: 50)
limitnumberoptionalMaximum number of activities to cancel (default: 100)

Tool: batch_signal

Send a signal to multiple workflows matching a query. Specify 'limit' to control batch size (default: 100).

ParametersTypeDescription
querystringQuery to select workflows
signal_namestringThe signal name to send
argsobjectoptionalArguments for the signal
limitnumberoptionalMaximum number of workflows to signal (default: 100)

Tool: batch_terminate

Terminate multiple workflows matching a query. Specify 'limit' to control batch size (default: 100).

ParametersTypeDescription
querystringQuery to select workflows to terminate
limitnumberoptionalMaximum number of workflows to terminate (default: 100)
reasonstringoptionalReason for termination

Tool: batch_terminate_activities

Terminate multiple standalone activities matching a query. Specify 'limit' to control batch size (default: 100).

ParametersTypeDescription
querystringQuery to select activities to terminate
concurrencynumberoptionalNumber of activities to terminate concurrently (default: 50)
limitnumberoptionalMaximum number of activities to terminate (default: 100)
reasonstringoptionalReason for termination

Tool: cancel_activity

Cancel a running standalone activity execution

ParametersTypeDescription
activity_idstringStandalone activity execution ID
run_idstringoptionalRun ID for the standalone activity execution

Tool: cancel_workflow

Cancel a running workflow execution

ParametersTypeDescription
workflow_idstringThe workflow execution ID to cancel

Tool: continue_as_new

Signal a workflow to continue as new (restart with new inputs while preserving history link)

ParametersTypeDescription
signal_namestringThe signal name to send (must be handled by the workflow to trigger continue-as-new)
workflow_idstringThe workflow ID to continue as new
signal_argsobjectoptionalArguments for the signal that will trigger continue-as-new

Tool: count_activities

Count standalone activity executions matching a query

ParametersTypeDescription
querystringoptionalList filter query (e.g., 'TaskQueue = "my-task-queue"')

Tool: create_schedule

Create a new schedule for periodic workflow execution

ParametersTypeDescription
cronstringCron expression (e.g., '0 12 * * *')
schedule_idstringUnique identifier for the schedule
task_queuestringTask queue for the workflow
workflow_namestringName of the workflow to schedule
argsobjectoptionalArguments for the workflow

Tool: delete_schedule

Delete a schedule

ParametersTypeDescription
schedule_idstringThe schedule ID to delete

Tool: describe_activity

Get detailed information about a standalone activity execution

ParametersTypeDescription
activity_idstringStandalone activity execution ID
run_idstringoptionalRun ID for the standalone activity execution

Tool: describe_workflow

Get detailed information about a workflow execution

ParametersTypeDescription
workflow_idstringThe workflow execution ID to describe

Tool: execute_activity

Execute a standalone Temporal activity and wait for result

ParametersTypeDescription
activitystringActivity type name to execute
activity_idstringUnique identifier for the activity execution
task_queuestringTask queue for this activity
argsobjectoptionalArguments to pass to the activity
start_to_close_timeout_secondsnumberoptionalActivity start-to-close timeout in seconds

Tool: get_activity_result

Get the result of a standalone activity

ParametersTypeDescription
activity_idstringStandalone activity execution ID
run_idstringoptionalRun ID for the standalone activity execution
timeoutnumberoptionalOptional timeout in seconds while waiting for result

Tool: get_workflow_history

Get the complete event history of a workflow execution. Specify 'limit' to control the number of events (default: 1000).

ParametersTypeDescription
workflow_idstringThe workflow execution ID
limitnumberoptionalMaximum number of history events to return (default: 1000)

Tool: get_workflow_result

Get the result of a completed workflow

ParametersTypeDescription
workflow_idstringThe workflow execution ID

Tool: list_activities

List standalone activity executions based on a query. Specify 'limit' to control results and 'skip' for pagination.

ParametersTypeDescription
limitnumberoptionalMaximum number of results to return (default: 100)
querystringoptionalList filter query (e.g., 'TaskQueue = "my-task-queue"')
skipnumberoptionalNumber of results to skip for pagination (default: 0)

Tool: list_schedules

List all schedules. Specify 'limit' to control the number of results (default: 100). Use 'skip' to paginate through results.

ParametersTypeDescription
limitnumberoptionalMaximum number of schedules to return (default: 100)
skipnumberoptionalNumber of results to skip for pagination (default: 0)

Tool: list_workflows

List workflow executions based on a query. Specify 'limit' to control the number of results (default: 100, max recommended: 1000). Use 'skip' to paginate through results.

ParametersTypeDescription
limitnumberoptionalMaximum number of results to return (default: 100, increase for more results)
querystringoptionalList filter query (e.g., 'WorkflowType="MyWorkflow"')
skipnumberoptionalNumber of results to skip for pagination (default: 0)

Tool: pause_schedule

Pause a schedule

ParametersTypeDescription
schedule_idstringThe schedule ID to pause
notestringoptionalNote explaining why the schedule was paused

Tool: query_workflow

Query a running workflow for its current state

ParametersTypeDescription
query_namestringThe name of the query to execute
workflow_idstringThe workflow execution ID to query
argsobjectoptionalArguments for the query (as JSON object)

Tool: signal_workflow

Send a signal to a running workflow

ParametersTypeDescription
signal_namestringThe name of the signal to send
workflow_idstringThe workflow execution ID to signal
argsobjectoptionalArguments for the signal (as JSON object)

Tool: start_activity

Start a new standalone Temporal activity execution

ParametersTypeDescription
activitystringActivity type name to start
activity_idstringUnique identifier for the activity execution
task_queuestringTask queue for this activity
argsobjectoptionalArguments to pass to the activity
start_to_close_timeout_secondsnumberoptionalActivity start-to-close timeout in seconds

Tool: start_workflow

Start a new Temporal workflow execution

ParametersTypeDescription
task_queuestringThe task queue to use for this workflow
workflow_idstringUnique identifier for the workflow execution
workflow_namestringThe name of the workflow to start
argsobjectoptionalArguments to pass to the workflow (as JSON object)

Tool: terminate_activity

Forcefully terminate a standalone activity execution

ParametersTypeDescription
activity_idstringStandalone activity execution ID
reasonstringoptionalReason for termination
run_idstringoptionalRun ID for the standalone activity execution

Tool: terminate_workflow

Forcefully terminate a workflow execution

ParametersTypeDescription
workflow_idstringThe workflow execution ID to terminate
reasonstringoptionalReason for termination

Tool: trigger_schedule

Manually trigger a scheduled workflow immediately

ParametersTypeDescription
schedule_idstringThe schedule ID to trigger

Tool: unpause_schedule

Resume a paused schedule

ParametersTypeDescription
schedule_idstringThe schedule ID to unpause
notestringoptionalNote explaining why the schedule was resumed

Use this MCP Server

{
  "mcpServers": {
    "temporal": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "TEMPORAL_HOST",
        "-e",
        "TEMPORAL_NAMESPACE",
        "-e",
        "TEMPORAL_TLS_ENABLED",
        "-e",
        "TEMPORAL_TLS_CLIENT_CERT_PATH",
        "-e",
        "TEMPORAL_TLS_CLIENT_KEY_PATH",
        "-e",
        "TEMPORAL_API_KEY",
        "mcp/temporal"
      ],
      "env": {
        "TEMPORAL_HOST": "localhost:7233",
        "TEMPORAL_NAMESPACE": "default",
        "TEMPORAL_TLS_ENABLED": "false",
        "TEMPORAL_TLS_CLIENT_CERT_PATH": "/certs/client.pem",
        "TEMPORAL_TLS_CLIENT_KEY_PATH": "/certs/client.key",
        "TEMPORAL_API_KEY": ""
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?⁠

Related servers