Temporal MCP Server
Overview
This is a Model Context Protocol (MCP) server that provides tools for interacting with Temporal workflow orchestration. It enables AI assistants and other MCP clients to manage Temporal workflows, schedules, and workflow executions through a standardized interface. The server supports both local and remote Temporal instances.
Read more on the Temporal Code Exchange
Distributions
Tools
Workflow Execution
start_workflow- Start a new Temporal workflow execution with specified parameters, workflow ID, and task queueget_workflow_result- Retrieve the result of a completed workflow executiondescribe_workflow- Get detailed information about a workflow execution including status, timing, and metadatalist_workflows- List workflow executions based on a query filter with pagination support (limit/skip)get_workflow_history- Retrieve the complete event history of a workflow executionget_workflow_event- Retrieve a single workflow history event with decoded payload fields when present
Workflow Control
query_workflow- Query a running workflow for its current state without affecting executionsignal_workflow- Send a signal to a running workflow to change its behavior or provide datacancel_workflow- Request cancellation of a running workflow executionterminate_workflow- Forcefully terminate a workflow execution with a reasoncontinue_as_new- Signal a workflow to continue as new (restart with new inputs while preserving history link)
Batch Operations
batch_signal- Send a signal to multiple workflows matching a query (configurable batch size)batch_cancel- Cancel multiple workflows matching a query (configurable batch size)batch_terminate- Terminate multiple workflows matching a query with a specified reason (configurable batch size)
Schedule Management
create_schedule- Create a new schedule for periodic workflow execution using cron expressionslist_schedules- List all schedules with pagination support (limit/skip)describe_schedule- Get detailed configuration and runtime information about a schedule, including its spec, action, state, recent executions, and upcoming action timespause_schedule- Pause a schedule to temporarily stop workflow executionsunpause_schedule- Resume a paused scheduledelete_schedule- Permanently delete a scheduletrigger_schedule- Manually trigger a scheduled workflow immediately
Temporal Documentation
For more information about Temporal, refer to the official Temporal documentation:
- Temporal Documentation: https://docs.temporal.io/
- Workflows: https://docs.temporal.io/workflows
- Activities: https://docs.temporal.io/activities
- Python SDK: https://docs.temporal.io/dev-guide/python
VS Code MCP Config
Add a .vscode/mcp.json file to your workspace. Choose the approach that fits your setup.
Docker (environment variables)
Recommended when running via Docker. Configuration is passed through environment variables.
{
"servers": {
"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": "/path/to/client.pem",
"TEMPORAL_TLS_CLIENT_KEY_PATH": "/path/to/client.key",
"TEMPORAL_API_KEY": "your-api-key"
}
}
}
}
Python via uvx (CLI arguments)
Recommended when running from PyPI via uvx. No local install required — uvx fetches and runs the package automatically. Configuration is passed as CLI arguments.
{
"servers": {
"temporal": {
"command": "uvx",
"args": [
"temporal-mcp-server",
"--host", "localhost:7233",
"--namespace", "default",
"--tls-enabled", "false",
"--tls-cert", "/path/to/client.pem",
"--tls-key", "/path/to/client.key",
"--api-key", "your-api-key"
]
}
}
}
Configuration Options
| Option | CLI Argument | Environment Variable | Default |
|---|---|---|---|
| Temporal host | --host |
TEMPORAL_HOST |
localhost:7233 |
| Namespace | --namespace |
TEMPORAL_NAMESPACE |
default |
| Allowed namespaces | — | TEMPORAL_ALLOWED_NAMESPACES |
configured namespace only |
| TLS | --tls-enabled |
TEMPORAL_TLS_ENABLED |
auto-detect |
| mTLS cert path | --tls-cert |
TEMPORAL_TLS_CLIENT_CERT_PATH |
— |
| mTLS key path | --tls-key |
TEMPORAL_TLS_CLIENT_KEY_PATH |
— |
| API key | --api-key |
TEMPORAL_API_KEY |
— |
| Codec server URL | --codec-endpoint |
TEMPORAL_CODEC_ENDPOINT |
— |
Codec Authorization header |
--codec-auth |
TEMPORAL_CODEC_AUTH |
— |
CLI arguments take precedence over environment variables. When TEMPORAL_API_KEY is set, TLS is enabled automatically. When mTLS cert/key paths are provided, TLS is also enabled automatically.
Every tool accepts an optional namespace argument. If omitted, the server uses --namespace, then TEMPORAL_NAMESPACE, then default. Runtime overrides are disabled by default: set TEMPORAL_ALLOWED_NAMESPACES to a comma-separated allowlist such as default,payments, or set it to * to permit any namespace reachable through the configured Temporal host and credentials. A finite allowlist must include the configured default namespace.
Remote codec
When payloads or failure messages are encrypted by a codec server, set --codec-endpoint and the server decodes them through it: get_workflow_event shows decoded inputs, results and failure details, and get_workflow_history shows decoded failure messages and stack traces, including every cause in the chain. Without a codec nothing is decoded and no requests are made to a codec server.
Each request carries the namespace in an X-Namespace header, and requests for other allowed namespaces use their own. Only http and https endpoints are accepted, and redirects are never followed, so credentials are not forwarded to another host.
If the codec server requires authentication, pass the full header value with --codec-auth "Bearer <token>" (or TEMPORAL_CODEC_AUTH). You are responsible for renewing it.
Development
Running Tests
Install development dependencies:
pip install -r requirements-dev.txt
Run the test suite:
pytest test.py -v
Building the Docker Image
docker build -t mcp/temporal:latest .
Metadata
Release files for temporal-mcp-server 1.11.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| temporal_mcp_server-1.11.0.tar.gz | 45.8 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| temporal_mcp_server-1.11.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 80.3 kB
Release files / temporal_mcp_server-1.11.0.tar.gz
| Download URL | temporal_mcp_server-1.11.0.tar.gz |
|---|---|
| Size | 45.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
594eeb6d5e8265a8b3b2e67b6931676fb3c226499fd77c3cb05089b7ce079f30
|
|
BLAKE2b-256 checksum How to use checksums |
d26b204f1d7b6f52f60a364c262356de1477edf70a2e22b5311e47ef27da4798
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.
Transparency logRelease files / temporal_mcp_server-1.11.0-py3-none-any.whl
| Download URL | temporal_mcp_server-1.11.0-py3-none-any.whl |
|---|---|
| Size | 34.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5323397df73d8ed22cc60bfb58d18f5fcefd6a0c0f501614acd85fe61ff87886
|
|
BLAKE2b-256 checksum How to use checksums |
065697d389724daef4ef42dd6c38852f31fdb3dfcfa726da5e6856092ca39e71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.
Transparency logSecurity for temporal-mcp-server 1.11.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for temporal_mcp_server-1.11.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.