Temporal MCP server
An MCP server for Temporal: manage workflows, signals, queries, batch operations, and schedules in your durable-execution cluster via natural language.
This Temporal MCP server is a bridge between an AI assistant and a Temporal cluster, the durable-execution engine that runs long-lived, reliable workflows. Listed on Temporal's Code Exchange, it lets an agent operate Temporal entirely through natural language across nineteen tools that cover the full surface area. For individual workflows it can start executions, fetch results and full event history, describe status and metadata, and list executions with query filters and pagination. For live control it can query a running workflow's state without side effects, send signals, request cancellation, terminate with a reason, and continue-as-new.
Where it stands out for operators is bulk control and scheduling. Batch tools signal, cancel, or terminate many workflows matching a visibility query at once, which is invaluable during incident response. A complete schedule-management group creates cron-based schedules, lists them, pauses and unpauses them, deletes them, and triggers a scheduled workflow immediately. It is a Python server published to PyPI as temporal-mcp-server and run with uvx (or as a Docker image), connecting with TEMPORAL_HOST and TEMPORAL_NAMESPACE and supporting Temporal Cloud via an API key or mTLS client certificates, with TLS enabled automatically when a key or certs are provided.
Quick install
Copy-paste configs are provided for all 8 supported clients. Pick your client below.
Available tools
| Tool | Description |
|---|---|
| start_workflow | Starts a new Temporal workflow execution with specified parameters, workflow ID, and task queue. |
| get_workflow_result | Retrieves the result of a completed workflow execution. |
| describe_workflow | Gets detailed information about a workflow execution, including status, timing, and metadata. |
| list_workflows | Lists workflow executions based on a query filter with pagination support. |
| get_workflow_history | Retrieves the complete event history of a workflow execution. |
| query_workflow | Queries a running workflow for its current state without affecting execution. |
| signal_workflow | Sends a signal to a running workflow to change its behavior or provide data. |
| cancel_workflow | Requests cancellation of a running workflow execution. |
| terminate_workflow | Forcefully terminates a workflow execution with a reason. |
| continue_as_new | Signals a workflow to continue as new. |
| batch_signal | Sends a signal to multiple workflows matching a query, with a configurable batch size. |
| batch_cancel | Cancels multiple workflows matching a query, with a configurable batch size. |
| batch_terminate | Terminates multiple workflows matching a query with a reason and configurable batch size. |
| create_schedule | Creates a new schedule for periodic workflow execution using cron expressions. |
| list_schedules | Lists all schedules with pagination support. |
| pause_schedule | Pauses a schedule to temporarily stop workflow executions. |
| unpause_schedule | Resumes a paused schedule. |
| delete_schedule | Permanently deletes a schedule. |
| trigger_schedule | Manually triggers a scheduled workflow immediately. |
Required configuration
- TEMPORAL_HOSTOptional
Temporal frontend host:port. Defaults to localhost:7233.
- TEMPORAL_NAMESPACEOptional
Temporal namespace to operate in. Defaults to default.
- TEMPORAL_TLS_ENABLEDOptional
Enable TLS for the connection. Auto-detected when an API key or mTLS certs are provided.
- TEMPORAL_API_KEYOptional
Temporal Cloud API key. When set, TLS is enabled automatically.
- TEMPORAL_TLS_CLIENT_CERT_PATHOptional
Path to the mTLS client certificate for Temporal Cloud or secured clusters.
- TEMPORAL_TLS_CLIENT_KEY_PATHOptional
Path to the mTLS client private key.
What you can do with it
Operate workflows during an incident
Let an agent list_workflows by query to find stuck executions, describe_workflow and get_workflow_history to understand them, then signal, terminate, or batch_terminate the affected set in one step.
Manage scheduled jobs conversationally
Have the agent create_schedule with a cron expression, pause_schedule during a maintenance window, trigger_schedule for an immediate run, and unpause_schedule afterward, without touching the Temporal CLI.
FAQ
- Is it free?
- Yes. It is open source under Apache-2.0 and free to run. You only need a Temporal cluster, which can be a local dev server, self-hosted, or Temporal Cloud.
- Is this an official Temporal server?
- No. It is a community project (by GethosTheWalrus) listed on Temporal's Code Exchange, not an official Temporal product. It uses the standard Temporal SDK to talk to your cluster.
- Does it work with Temporal Cloud?
- Yes. Set TEMPORAL_API_KEY or provide mTLS client cert and key paths; TLS is enabled automatically when either is present, so it connects to Temporal Cloud as well as self-hosted clusters.