temporal-mcp-server
Enables AI assistants to observe and manage Temporal workflows, including listing, starting, signaling, resetting, terminating, querying, and retrieving history, with support for wait_for_activity and webhook utilities.
README
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)
Build
./gradlew shadowJar
The 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 |
|---|---|---|
--namespace |
Yes | Temporal namespace |
--address |
Yes | Temporal server address (e.g., my-ns.abc.tmprl.cloud:7233) |
Environment Variables
| Variable | Description |
|---|---|
TEMPORAL_API_KEY |
API key for Temporal Cloud authentication |
TEMPORAL_CLIENT_CERT_PATH |
Path to mTLS client certificate file |
TEMPORAL_CLIENT_KEY_PATH |
Path to mTLS client key file |
TEMPORAL_CLIENT_CERT |
mTLS client certificate content (alternative to path) |
TEMPORAL_CLIENT_KEY |
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 |
|---|---|
list_workflows |
Lists workflows in the namespace. Supports query filter and pageSize (1-1000, default 10). |
get_workflow_status |
Gets status of a specific workflow by workflowId (optional runId). Returns parentWorkflowId, parentRunId, taskQueue, closeTime, memo, and searchAttributes. |
get_workflow_history |
Retrieves the complete event history of a workflow with full event attributes. |
query_workflow |
Executes a query on a running workflow (workflowId, queryType, optional args). |
Workflow Actions
| Tool | Description |
|---|---|
start_workflow |
Starts a new workflow (workflowId, workflowType, taskQueue, optional args). |
send_signal |
Sends a signal to a running workflow (workflowId, signalName, optional signalArgs). |
reset_workflow |
Resets a workflow to a specific point in its history, creating a new run. Supports eventId or resetType: "last_workflow_task" to auto-detect the last WorkflowTaskCompleted event. |
terminate_workflow |
Terminates a running workflow (workflowId, optional reason). |
Utilities
| Tool | Description |
|---|---|
wait_for_activity |
Polls until a workflow reaches a specific activity (workflowId, activityName, optional timeoutSeconds 1-3600). |
send_webhook |
Sends an HTTP POST webhook (webhookUrl, payload, optional headers). Useful for completing async activities. |
Development
Running Tests
./gradlew test
Architecture
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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.