Temporal Cloud MCP服务器

一个将Temporal Cloud操作暴露为AI助手工具的模型上下文协议服务器,适用于云环境管理和资源编辑。

  • by bechols
  • Go
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 bechols/temcp

使用说明

temcp:临时云MCP服务器

MCP(模型上下文协议)服务器,将时态云操作作为AI助手的工具公开。

你能用它做什么

  • 了解您的云环境
    • “我的命名空间是如何配置的?”
    • “无名氏有什么权限?”
  • 直接编辑云资源
    • “在aws-us-west中创建命名空间foo,保留1天”
    • “授予service-account-1访问命名空间foo的权限”
    • “添加服务帐户-1的API密钥”
  • 更新应用程序代码以使用您的云资源
    • “让这个临时项目与我的云帐户一起工作”

演示

https://github.com/user-attachments/assets/fdf0b7b5-ca4d-4059-835e-77d30b1a212f

发生什么事了?

从一个简单的Temporal项目(不是为Cloud设置的)开始,temcp帮助Claude Code创建运行项目所需的TemporalCloud资源(命名空间、服务帐户访问、API密钥),并更新实际应用程序代码,以使用新创建的凭据连接到Cloud。

视频播放前的设置:

  1. 克隆https://github.com/temporalio/money-transfer-project-template-go/
  2. 将temcp添加到克劳德代码中(说明如下)

给Claude Code的提示:

我想在Temporal Cloud中使用这个仓库。创建一个名称空间,添加一个服务帐户,并生成一个API密钥。使用该工具加上连接信息工具来更新工作流和工作程序,以连接到云。

与Claude Code一起使用

claude mcp add temporal-cloud /path/to/mcp-server -e TEMPORAL_CLOUD_API_KEY="your-api-key"    

与光标一起使用

配置 .cursor/mcp.json:

{
  "mcpServers": {
    "temporal-cloud": {
      "command": "/path/to/mcp-server",
      "args": [],
      "env": {
        "TEMPORAL_CLOUD_API_KEY": "your-api-key"
      }
    }
  }
}

与MCP检查器一起使用

  1. 导出API密钥:

    export TEMPORAL_CLOUD_API_KEY="your-temporal-cloud-api-key"
    
  2. 发射检查器

    npx @modelcontextprotocol/inspector ./mcp-server
    
  3. 打开检查员提供的URL(例如。, http://localhost:6274/?MCP_PROXY_AUTH_TOKEN=tokenhash)

  4. 点击“连接”

  5. 导航到“工具”选项卡以交互方式测试所有工具

构建MCP服务器

go build -o mcp-server ./cmd/mcp-server

使用CLI进行测试

./test_mcp

可用工具

用户信息:

  • temporal_get_user -按ID获取用户详细信息
  • temporal_list_users -列出用户

帐户访问信息:

  • temporal_get_account_access -获取用户的帐户级访问角色(所有者、管理员、开发人员、finance_admin、read)

API密钥创建:

  • temporal_create_api_key -为用户或服务帐户创建新的API密钥

命名空间访问管理:

  • temporal_get_user_namespace_access -获取特定命名空间的用户访问级别
  • temporal_set_user_namespace_access -设置或更新特定命名空间的用户访问级别

命名空间管理:

  • temporal_get_namespace -按名称获取命名空间详细信息
  • temporal_list_namespaces -列出命名空间
  • temporal_create_namespace -创建一个新的命名空间(默认为启用API密钥身份验证)
  • temporal_update_namespace -更新现有命名空间
  • temporal_delete_namespace -删除命名空间

区域可用性:

  • temporal_get_region -按ID获取地区详细信息
  • temporal_list_regions -列出所有可用区域

异步操作:

  • temporal_get_async_operation -获取异步操作状态
  • temporal_wait_for_operation -等待异步操作完成

服务帐户管理:

  • temporal_list_service_accounts -列出临时云服务帐户
  • temporal_create_service_account -创建具有命名空间访问权限的新服务帐户
  • temporal_get_service_account_namespace_access -获取服务帐户的命名空间访问权限
  • temporal_set_service_account_namespace_access -为服务帐户设置命名空间访问权限

云连接信息:

  • temporal_cloud_connection_info -如何配置与Temporal Cloud的连接

出口加工: (截至7月2日未测试)

  • temporal_process_export -处理导出的工作流历史文件
  • temporal_analyze_export -分析导出的工作流并提取摘要

注意:根据MCP规范,只读工具应该是资源。一切都是作为工具实现的,因为Cursor目前只支持工具。

基于https://github.com/temporalio/cloud-samples-go

用途https://github.com/mark3labs/mcp-go