MCP server for Temporal workflow orchestration
Project description
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.
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 execution
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)pause_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
MCP Client Config Examples
OpenCode
Add to your OpenCode settings (~/.config/opencode/opencode.json):
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"temporal": {
"type": "local",
"command": [
"docker", "run", "-i", "--rm", "--network", "host",
"-e", "TEMPORAL_HOST=192.168.69.98:7233",
"-e", "TEMPORAL_NAMESPACE=default",
"-e", "TEMPORAL_TLS_ENABLED=false",
"temporal-mcp-server:latest"
],
"enabled": true
}
}
}
VS Code (Copilot MCP)
Add to your VS Code settings (.vscode/mcp.json or global settings):
{
"mcp.servers": {
"temporal": {
"command": "docker",
"args": [
"run", "-i", "--rm", "--network", "host",
"-e", "TEMPORAL_HOST=192.168.69.98:7233",
"-e", "TEMPORAL_NAMESPACE=default",
"-e", "TEMPORAL_TLS_ENABLED=false",
"temporal-mcp-server:latest"
]
}
}
}
Cursor
Add to your Cursor MCP settings (~/.cursor/mcp.json on macOS/Linux or %APPDATA%\Cursor\mcp.json on Windows):
{
"mcpServers": {
"temporal": {
"command": "docker",
"args": [
"run", "-i", "--rm", "--network", "host",
"-e", "TEMPORAL_HOST=192.168.69.98:7233",
"-e", "TEMPORAL_NAMESPACE=default",
"-e", "TEMPORAL_TLS_ENABLED=false",
"temporal-mcp-server:latest"
]
}
}
}
Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, %APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"temporal": {
"command": "docker",
"args": [
"run", "-i", "--rm", "--network", "host",
"-e", "TEMPORAL_HOST=192.168.69.98:7233",
"-e", "TEMPORAL_NAMESPACE=default",
"-e", "TEMPORAL_TLS_ENABLED=false",
"temporal-mcp-server:latest"
]
}
}
}
Configuration Notes
- TEMPORAL_HOST: Set to your Temporal server address (default:
localhost:7233) - TEMPORAL_NAMESPACE: Set to your Temporal namespace (default:
default) - TEMPORAL_TLS_ENABLED: Set to
truefor remote servers,falsefor local, or omit for auto-detection - Replace
192.168.69.98:7233with your actual Temporal server address - For local development, you can use
localhost:7233orhost.docker.internal:7233(when running in Docker)
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 .
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file temporal_mcp_server-0.1.0.tar.gz.
File metadata
- Download URL: temporal_mcp_server-0.1.0.tar.gz
- Upload date:
- Size: 18.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a85ab8fe0c89d248a7904e322074e409c19b7e62fbf03cc7263a1f53b361387c
|
|
| MD5 |
3062beb27ba8e7bc83ab3e0479f27253
|
|
| BLAKE2b-256 |
82e5cc87285d9f7816cee432745ceb8d9e497a4a87a46aa7ae0cd05b240fbf73
|
File details
Details for the file temporal_mcp_server-0.1.0-py3-none-any.whl.
File metadata
- Download URL: temporal_mcp_server-0.1.0-py3-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
624e2ba39197740d23b1ddcaa31e1879277f5c2798a65504117f55a4588d47c1
|
|
| MD5 |
43ee41b102c656a391ccc9bb0aaddcab
|
|
| BLAKE2b-256 |
d76558d69dcb12bf49045f16a07c855e8b56209b05092bae6ec8f966d0637879
|