Temporal.io MCP Server

March 20, 2026 · View on GitHub

Temporal MCP Banner

MCP server for the Temporal HTTP API. Manage workflows, namespaces, schedules, and more directly from Cursor, Claude Code, or any MCP-compatible IDE.

Disclaimer: This is an independent, community-built MCP server and is not affiliated with, endorsed by, or officially supported by Temporal Technologies, Inc.

36 tools covering the full Temporal HTTP API surface. By default, only the 11 most essential tools are exposed to keep the LLM context lean — see Tool tiers.

Tools

Cluster

ToolWhat it does
get_cluster_infoServer version, cluster ID, and enabled capabilities

Namespaces

ToolWhat it does
list_namespacesList all namespaces in the cluster
describe_namespaceConfig, retention period, replication info

Workflows

ToolWhat it does
count_workflowsCount executions matching a visibility query
list_workflowsList or search executions using visibility query syntax
describe_workflowStatus, type, task queue, start/close time
start_workflowStart a new workflow execution
signal_workflowSend a signal to a running workflow
signal_with_start_workflowStart + signal in one atomic call (or signal if already running)
query_workflowQuery workflow state via a registered query handler
cancel_workflowRequest graceful cancellation
terminate_workflowForce-terminate immediately (no cleanup)
pause_workflowPause execution (stops scheduling new tasks)
unpause_workflowResume a paused workflow
get_workflow_historyEvent history with human-readable summaries

Schedules

ToolWhat it does
list_schedulesList all schedules in a namespace
describe_scheduleSpec, state, recent actions, next run times
create_scheduleCreate a cron or interval-based schedule
delete_scheduleDelete a schedule

Activities

ToolWhat it does
list_activitiesList activity executions (filter by workflow, type, status)
describe_activityState, attempt count, heartbeat, failure details

Batch Operations

ToolWhat it does
list_batch_operationsList bulk signal/cancel/terminate jobs
describe_batch_operationProgress, state, success/failure counts
stop_batch_operationStop a running batch job

Worker Deployments

ToolWhat it does
list_worker_deploymentsList all versioned worker deployments
describe_worker_deploymentCurrent/ramping version, version history

Nexus Endpoints

ToolWhat it does
list_nexus_endpointsList all Nexus endpoints in the cluster
get_nexus_endpointEndpoint target namespace and task queue
create_nexus_endpointRegister a new Nexus endpoint
delete_nexus_endpointRemove a Nexus endpoint

Workflow Rules

ToolWhat it does
list_workflow_rulesList auto-action rules for matching workflows
describe_workflow_ruleRule query, action, and creation time
create_workflow_ruleCreate a TERMINATE or PAUSE rule with a visibility query
delete_workflow_ruleDelete a rule

Task Queues & Search Attributes

ToolWhat it does
describe_task_queueActive pollers, task ID block
list_search_attributesCustom and system search attributes

Requirements

  • Node.js >= 18
  • A running Temporal server (local or remote)

Add to Cursor

Open or create .cursor/mcp.json in your project root (or ~/.cursor/mcp.json for global):

{
  "mcpServers": {
    "temporal": {
      "command": "npx",
      "args": ["-y", "@alisaitteke/temporal-mcp"],
      "env": {
        "TEMPORAL_ADDRESS": "http://localhost:8080",
        "TEMPORAL_NAMESPACE": "default",
        "TEMPORAL_TOOLS": "essential"
      }
    }
  }
}

Restart Cursor. The Temporal tools will appear in the MCP tool list.

Add to Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "temporal": {
      "command": "npx",
      "args": ["-y", "@alisaitteke/temporal-mcp"],
      "env": {
        "TEMPORAL_ADDRESS": "http://localhost:8080",
        "TEMPORAL_NAMESPACE": "default",
        "TEMPORAL_TOOLS": "essential"
      }
    }
  }
}

Restart Claude Desktop.

Add to Claude Code

claude mcp add temporal \
  --command "npx" \
  --args "-y,@alisaitteke/temporal-mcp" \
  --env "TEMPORAL_ADDRESS=http://localhost:8080" \
  --env "TEMPORAL_NAMESPACE=default" \
  --env "TEMPORAL_TOOLS=essential"

Environment Variables

VariableRequiredDefaultDescription
TEMPORAL_ADDRESSYesTemporal server base URL
TEMPORAL_NAMESPACENodefaultDefault namespace for all tools
TEMPORAL_API_KEYNoBearer token for authenticated clusters
TEMPORAL_TOOLSNoessentialTool set: essential, standard, or all

Tool tiers

TEMPORAL_TOOLS#Role
essential11Default. Cluster + namespaces + everyday workflow run/debug (list, describe, start, signal, query, cancel, terminate, history). Smallest tool list for the LLM.
standard23essential plus counts, pause/unpause, signal-with-start, schedules, activities, task queue description, and search attributes.
all36standard plus batch operations, worker deployments, Nexus endpoints, and workflow rules.
SetTools
essential only (11)get_cluster_info, list_namespaces, describe_namespace, list_workflows, describe_workflow, start_workflow, signal_workflow, query_workflow, cancel_workflow, terminate_workflow, get_workflow_history
Also enabled with standard (+12, 23 total with essential)count_workflows, pause_workflow, unpause_workflow, signal_with_start_workflow, list_schedules, describe_schedule, create_schedule, delete_schedule, list_activities, describe_activity, describe_task_queue, list_search_attributes
Also enabled with all (+13, 36 total with standard)list_batch_operations, describe_batch_operation, stop_batch_operation, list_worker_deployments, describe_worker_deployment, list_nexus_endpoints, get_nexus_endpoint, create_nexus_endpoint, delete_nexus_endpoint, list_workflow_rules, describe_workflow_rule, create_workflow_rule, delete_workflow_rule

Structured Output

Key tools return both a human-readable text summary and a machine-readable structuredContent JSON object. Clients that support MCP structured output (e.g. Claude) can use the structured data for further processing without parsing text.

Tools with structured output: get_cluster_info, list_namespaces, list_workflows, describe_workflow, count_workflows, list_schedules, list_activities.

Local Development

git clone https://github.com/alisaitteke/temporal-mcp
cd temporal-mcp
npm install
npm run build

Use local path instead of npx:

{
  "mcpServers": {
    "temporal": {
      "command": "node",
      "args": ["/path/to/temporal-mcp/bin/temporal-mcp.js"],
      "env": {
        "TEMPORAL_ADDRESS": "http://localhost:8080"
      }
    }
  }
}

License

MIT

Contributors

Ali Sait Teke
Ali Sait Teke

Creator & Maintainer

Thanks to everyone who helps improve this project!

Contributors