临时MCP服务器
一个模型上下文协议(MCP)服务器,允许AI助手观察和管理时态工作流。内置Kotlin/JVM,带有Node.js桥,用于快速初始化MCP。
先决条件
- JDK 17+
- Node.js(用于MCP桥)
- 访问临时服务器(本地或临时云)
构建
./gradlew shadowJarJAR创建于 build/libs/temporal-mcp-server-1.0-SNAPSHOT.jar.
配置
服务器通过以下方式启动 minimal-mcp.js,它处理MCP协议初始化并生成Java进程。
MCP客户端配置
{
"mcpServers": {
"temporal": {
"command": "node",
"args": [
"path/to/minimal-mcp.js",
"--namespace", "my-namespace",
"--address", "my-host:7233"
],
"env": {
"TEMPORAL_API_KEY": "your-api-key"
}
}
}
}命令行参数
| 参数 | 必填 | 描述 |
|---|---|---|
--namespace | 是 | 临时命名空间 |
--address | 是 | 临时服务器地址(例如。, my-ns.abc.tmprl.cloud:7233) |
环境变量
| 变量 | 描述 |
|---|---|
TEMPORAL_API_KEY | 用于Temporal Cloud身份验证的API密钥 |
TEMPORAL_CLIENT_CERT_PATH | mTLS客户端证书文件的路径 |
TEMPORAL_CLIENT_KEY_PATH | mTLS客户端密钥文件的路径 |
TEMPORAL_CLIENT_CERT | mTLS客户端证书内容(路径的替代方案) |
TEMPORAL_CLIENT_KEY | mTLS客户端密钥内容(路径的替代方案) |
认证
API密钥(Temporal Cloud)
集 TEMPORAL_API_KEY 在 env MCP配置的一部分。密钥作为 Bearer gRPC元数据中的令牌。
mTLS证书
对于mTLS身份验证,请直接提供文件路径或内容:
{
"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"
}
}
}
}工具
工作流观察
| 工具 | 说明 |
|---|---|
list_workflows | 列出命名空间中的工作流。支持 query 过滤和 pageSize (1-1000,默认值10)。 |
get_workflow_status | 通过以下方式获取特定工作流的状态 workflowId (可选 runId).退货 parentWorkflowId, parentRunId, taskQueue, closeTime, memo,以及 searchAttributes. |
get_workflow_history | 检索具有完整事件属性的工作流的完整事件历史记录。 |
query_workflow | 对正在运行的工作流执行查询(workflowId, queryType,可选 args). |
工作流操作
| 工具 | 说明 |
|---|---|
start_workflow | 启动新工作流(workflowId, workflowType, taskQueue,可选 args). |
send_signal | 向正在运行的工作流发送信号(workflowId, signalName,可选 signalArgs). |
reset_workflow | 将工作流重置到其历史记录中的特定点,创建新的运行。支持 eventId 或 resetType: "last_workflow_task" 自动检测上一个WorkflowTaskCompleted事件。 |
terminate_workflow | 终止正在运行的工作流(workflowId,可选 reason). |
公用事业
| 工具 | 说明 |
|---|---|
wait_for_activity | 轮询,直到工作流到达特定活动(workflowId, activityName,可选 timeoutSeconds 1-3600). |
send_webhook | 发送HTTP POST webhook(webhookUrl, payload,可选 headers).有助于完成异步活动。 |
发展
运行测试
./gradlew test建筑
minimal-mcp.js 充当桥梁:它立即对MCP做出响应 initialize 握手,然后在后台生成Java进程。一旦Java准备就绪,所有后续请求都会转发给它。
