temporal-mcp-server
Provides tools for observing and managing Temporal workflows, including listing workflows, getting workflow status and history, querying, starting, signaling, resetting, and terminating workflows, as well as utilities like waiting for activities and sending webhooks.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@temporal-mcp-serverList workflows with status running"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Temporal MCP Server
A Model Context Protocol (MCP) server that lets AI assistants observe and manage Temporal workflows. Built in Kotlin/JVM with a Node.js bridge for fast MCP initialization.
Prerequisites
JDK 17+
Node.js (for the MCP bridge)
Access to a Temporal server (local or Temporal Cloud)
Related MCP server: n8n Manager for AI Agents
Build
./gradlew shadowJarThe JAR is created at build/libs/temporal-mcp-server-1.0-SNAPSHOT.jar.
Configuration
The server is launched via minimal-mcp.js, which handles MCP protocol initialization and spawns the Java process.
MCP Client Configuration
{
"mcpServers": {
"temporal": {
"command": "node",
"args": [
"path/to/minimal-mcp.js",
"--namespace", "my-namespace",
"--address", "my-host:7233"
],
"env": {
"TEMPORAL_API_KEY": "your-api-key"
}
}
}
}Command-Line Arguments
Argument | Required | Description |
| Yes | Temporal namespace |
| Yes | Temporal server address (e.g., |
Environment Variables
Variable | Description |
| API key for Temporal Cloud authentication |
| Path to mTLS client certificate file |
| Path to mTLS client key file |
| mTLS client certificate content (alternative to path) |
| mTLS client key content (alternative to path) |
Authentication
API Key (Temporal Cloud)
Set TEMPORAL_API_KEY in the env section of your MCP config. The key is sent as a Bearer token in gRPC metadata.
mTLS Certificates
For mTLS authentication, provide either file paths or content directly:
{
"mcpServers": {
"temporal": {
"command": "node",
"args": ["path/to/minimal-mcp.js", "--namespace", "my-ns", "--address", "my-host:7233"],
"env": {
"TEMPORAL_CLIENT_CERT_PATH": "/path/to/client.pem",
"TEMPORAL_CLIENT_KEY_PATH": "/path/to/client.key"
}
}
}
}Tools
Workflow Observation
Tool | Description |
| Lists workflows in the namespace. Supports |
| Gets status of a specific workflow by |
| Retrieves the complete event history of a workflow with full event attributes. |
| Executes a query on a running workflow ( |
Workflow Actions
Tool | Description |
| Starts a new workflow ( |
| Sends a signal to a running workflow ( |
| Resets a workflow to a specific point in its history, creating a new run. Supports |
| Terminates a running workflow ( |
Utilities
Tool | Description |
| Polls until a workflow reaches a specific activity ( |
| Sends an HTTP POST webhook ( |
Development
Running Tests
./gradlew testArchitecture
minimal-mcp.js acts as a bridge: it responds immediately to the MCP initialize handshake, then spawns the Java process in the background. Once Java is ready, all subsequent requests are forwarded to it.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/enzomotta/temporal-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server