Contribute
Sign in
Temporal

Temporal

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

10K+pulls31 ToolsPackaged byDocker, with additional security features including SBOMs, provenance, signing, and multi-arch supportRequires ConfigurationRequires Secrets

About

Temporal MCP Server

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

What is an MCP Server?⁠

MCP Info

Image Building Info

AttributeDetails
Dockerfilehttps://github.com/GethosTheWalrus/temporal-mcp/blob/1965fe11d6f3d0aefb95c145b82f724ec26003cb/Dockerfile⁠
Commit1965fe11d6f3d0aefb95c145b82f724ec26003cb
Docker Image built byDocker Inc.
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 (31)

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_scheduleGet detailed configuration and runtime information about a schedule, including its spec, action, state, recent executions, and upcoming action times
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_eventGet a single workflow history event with decoded payload fields when present
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_schedule

Get detailed configuration and runtime information about a schedule, including its spec, action, state, recent executions, and upcoming action times

ParametersTypeDescription
schedule_idstringThe schedule ID to describe

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_event

Get a single workflow history event with decoded payload fields when present

ParametersTypeDescription
event_idnumberThe history event ID to fetch
workflow_idstringThe workflow execution ID
run_idstringoptionalOptional run ID for the workflow execution

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": "host.docker.internal: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": "<TEMPORAL_API_KEY>"
      }
    }
  }
}

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