Skip to main content
Glama
premhiru

AgentCloud MCP Server

by premhiru

AgentCloud

持久化AI工作进程的控制平面。 将目标转化为版本化的工作进程,无需写入即可测试,部署到持久化运行时,敏感操作需人工审批,并在单一时间线中检查所有决策。

CI Node.js 24+ pnpm 11 WorkerSpec 1.0

项目概览 · 交互式演示 · 架构 · 安全 · 部署 · 实施计划

[!TIP] 完整演示是确定性的且无需凭证。它使用模拟的模型、Gmail、HubSpot、Slack 和运行时适配器,同时遵循与生产环境相同的策略、审批、幂等性和持久性边界。

AgentCloud 能做什么

大多数代理演示在聊天关闭时就结束了。AgentCloud 将 AI 工作进程视为一个持久化、受治理的软件工件:

能力

含义

版本化工作进程

每次部署都固定一个不可变的 WorkerSpec;新的变更会创建新版本。

显式授权

未知和未授予的能力默认被拒绝。

安全测试

试运行针对确定性夹具执行读取,并将每次写入转换为“将执行”事件。

人工审批

敏感操作会暂停并显示脱敏预览,在决策后恢复精确的运行。

持久化执行

运行、检查点、审批、调度和审计事件独立于发起对话而持久化。

恰好一次意图

稳定的幂等键可防止重试和审批恢复期间出现重复的副作用。

租户隔离

每个租户拥有的操作在仓库和服务边界上都限定在一个组织内。

一个生命周期,两个界面

仪表板和经过认证的 MCP 暴露相同的创建、测试、部署、运行、审批、暂停、恢复、版本和回滚生命周期。

Related MCP server: GCP MCP Server

快速开始

要求

  • Node.js 24 或更高版本

  • pnpm 11

安装并运行

git clone https://github.com/premhiru/agentcloud.git
cd agentcloud
pnpm install
cp .env.example .env.local
pnpm dev

在 PowerShell 中,将复制命令替换为:

Copy-Item .env.example .env.local

打开 http://localhost:3000。已检入的环境模板已启用安全的演示适配器,因此无需数据库或供应商凭证。

演示状态持久化在 .agentcloud/demo-agent.json 中。演示模式是显式的,绝不会用作生产环境的回退。

运行工作进程

内置的入站销售工作进程演示了完整的治理生命周期:

  1. 打开工作进程并选择入站销售守护者

  2. 选择安全测试。AgentCloud 读取确定性的潜在客户夹具,并记录拟执行的写入而不实际执行。

  3. 部署工作进程,然后选择立即运行

  4. 运行会限定潜在客户资格、更新一次模拟 CRM、起草外联邮件,并在发送邮件前暂停。

  5. 打开审批,检查精确的脱敏操作,然后选择批准并查看运行

  6. 同一运行从其检查点恢复,恰好发送一封模拟邮件、发布一条模拟 Slack 通知,并以完整的时间线结束。

  7. 暂停或恢复部署,创建新版本,部署它,并回滚到之前的不可变版本。

同一流程可通过 AgentCloud MCP 完成,包括在发起客户端关闭后重新连接并恢复持久化的运行。

工作原理

Dashboard · MCP · Signed webhooks
                │
                ▼
      AgentCloud control plane
                │
     ┌──────────┼──────────┐
     ▼          ▼          ▼
 WorkerSpec   Policy     Budgets
 versions     engine     and usage
     │          │          │
     └──────────┼──────────┘
                ▼
        Governed worker runner
                │
      ┌─────────┴─────────┐
      ▼                   ▼
 WorkerRuntime     IntegrationAdapter
 Fake / Trigger.dev  Fake / Composio
                │
                ▼
 PostgreSQL · approvals · timelines · audit

AgentCloud 将供应商特定的代码保持在狭窄的接口之后:

边界

确定性实现

生产实现

ModelProvider

固定的编译器和工作进程输出

带 OpenAI 的 AI SDK

WorkerRuntime

进程内持久化的模拟运行时

Trigger.dev v4

IntegrationAdapter

Gmail、HubSpot 和 Slack 夹具

Composio 连接账户

持久化

持久化的演示 JSON / 内存测试仓库

带 Drizzle ORM 的 PostgreSQL

身份

显式演示租户

Clerk 用户和组织

这种分离保持了核心生命周期的可移植性,并使 CI 具有确定性。

WorkerSpec 与授权

工作进程部署引用一个不可变的 WorkerSpec 版本。该规范定义身份、触发器、授权、预算、内存策略和运行时行为,而无需嵌入凭证。此摘录显示了授权和预算的形态:

schemaVersion: "1.0"
identity:
  name: Inbound Sales Guardian
capabilities:
  - capability: gmail.search_messages
  - capability: hubspot.upsert_contact
  - capability: gmail.send_email
authority:
  defaultEffect: deny
  rules:
    - capability: gmail.search_messages
      effect: allow
    - capability: hubspot.upsert_contact
      effect: allow
    - capability: gmail.send_email
      effect: require_approval
budget:
  monthlyUsd: 50
  perRunUsd: 1
  maxModelCallsPerRun: 12
  maxToolCallsPerRun: 30

策略引擎根据固定的规范检查每个工具调用。缺失的能力、无效的输入、超出的预算和未知的操作都会失败关闭。

安全模型

安全在应用程序代码和持久化中强制执行,而非委托给模型提示。

不变量

强制执行

默认拒绝

只有经过治理的注册表中的能力以及活动 WorkerSpec 中声明的能力才能执行。

试运行写入抑制

写入能力在任何适配器调用之前返回结构化预览。

审批完整性

每个审批都绑定到精确能力和输入的规范哈希。

恢复完整性

已批准的执行从其序列化检查点继续,而不重放先前的工作。

重复预防

工具执行通过运行和模型工具调用 ID 唯一标识;成功的结果被重放。

未知结果

模糊的写入失败会停止以进行人工协调,而不是盲目重试。

租户隔离

组织 ID 在仓库、控制平面操作、MCP 和路由中都是强制性的。

秘密卫生

凭证永远不会进入 WorkerSpec、浏览器捆绑包、日志、审计事件、MCP 输出或审批预览。

参见 SECURITY.md 了解完整的威胁模型和安全不变量。

MCP

AgentCloud 在以下位置暴露一个流式 HTTP MCP 端点:

https://YOUR_DOMAIN/api/mcp

生产 MCP 认证使用 Clerk OAuth 元数据和组织成员资格。每个工具在服务端重新检查其所需的作用域。

可用的生命周期工具包括:

create_worker       update_worker       test_worker
deploy_worker       trigger_worker      cancel_run
get_run             list_runs           list_approvals
approve_action      reject_action       pause_worker
resume_worker       list_worker_versions rollback_worker
get_usage           list_connections    delete_worker

OAuth 作用域:

workers:read        workers:write       workers:deploy
runs:read           approvals:read      approvals:write
connections:read

协议测试在进程内使用官方 MCP 客户端,强制执行认证和作用域,并验证第二个客户端可以恢复持久化的工作进程和运行。

Webhooks

工作进程可以在以下位置暴露签名的 webhook 触发器:

POST /api/webhooks/workers/{workerId}/{triggerKey}

请求要求:

  • X-AgentCloud-Signature: sha256=<hex> 使用 WEBHOOK_SIGNING_SECRET 从原始请求体计算

  • 一个稳定的 Idempotency-Key

  • 请求体不超过 256 KiB

Webhook 请求受到速率限制、结构验证、租户限定和去重。使用不同请求体重用幂等键会被拒绝。

配置

AgentCloud 有两种显式操作模式:

模式

必需设置

行为

演示

DEMO_MODE=trueNEXT_PUBLIC_DEMO_MODE=true

持久化的本地演示,使用确定性适配器且无外部写入。

生产

PostgreSQL、Clerk、OpenAI、Trigger.dev、Composio 和应用程序密钥

显式选择真实适配器;缺少配置则失败关闭。

.env.example 开始,它记录了每个变量及其安全默认值。切勿通过 NEXT_PUBLIC_* 变量暴露服务器密钥。

开发

pnpm dev               # Next.js development server
pnpm lint              # ESLint with zero warnings
pnpm typecheck         # strict TypeScript
pnpm test              # full Vitest suite
pnpm test:unit         # domain and adapter tests
pnpm test:integration  # persistence and lifecycle tests
pnpm test:security     # product safety invariants
pnpm test:mcp          # authenticated MCP lifecycle
pnpm test:e2e          # critical Playwright journeys
pnpm build             # optimized production build
pnpm db:migrate        # apply committed migrations
pnpm db:seed           # seed a local tenant
pnpm trigger:dev       # Trigger.dev local task runner
pnpm trigger:deploy    # deploy Trigger.dev tasks

验证契约

CI 针对 Node.js 24、pnpm 11 和 PostgreSQL 16 运行以下内容:

pnpm install --frozen-lockfile
pnpm db:migrate
pnpm lint
pnpm typecheck
pnpm test
pnpm build
pnpm test:e2e

测试矩阵涵盖单元、集成、租户隔离、试运行安全、审批暂停/恢复、重复副作用、MCP 生命周期、签名 webhook、生产持久化和关键浏览器流程。

仓库指南

src/
  application/       control plane and durable demo store
  domain/            WorkerSpec, versions, policy, budgets
  runtime/           governed runner and runtime adapters
  integrations/      tool registry and integration adapters
  approvals/         approval hashing, decisions, and waitpoints
  persistence/       PostgreSQL repositories and audit records
  mcp/               authenticated MCP server and tool service
  app/               dashboard, API, MCP, and webhook routes
tests/
  unit/              domain contracts
  integration/       persistence and lifecycle boundaries
  security/          non-negotiable product invariants
  mcp/               protocol-level lifecycle tests
  e2e/               Playwright user journeys
trigger/              Trigger.dev durable task entrypoint
agentcloud-site/      companion product site

生产部署

从相同的 Git 修订版部署 Web 应用程序和运行时:

  1. 配置 PostgreSQL 或 Neon 并运行已提交的迁移。

  2. 配置 Clerk Organizations 和 MCP OAuth 作用域。

  3. 配置 Trigger.dev 并部署工作进程任务。

  4. 创建 Composio Gmail、HubSpot 和 Slack 认证配置。

  5. 配置 OpenAI、应用程序 URL 和 webhook 签名密钥。

  6. 将 Next.js 应用程序部署到 Vercel,然后运行操作检查。

确切的发布顺序、冒烟测试、回滚程序和依赖凭证的检查位于 DEPLOYMENT.md 中。

[!IMPORTANT] 此仓库使用确定性适配器验证生产代码路径。它不声称在未使用操作者拥有的凭证的情况下,成功完成供应商 OAuth 同意、Trigger.dev Cloud 执行、Vercel 部署或真实的第三方写入。

项目状态

PLAN.md 中定义的凭证无关 MVP 和所有里程碑均已完成。PROGRESS.md 记录了每个里程碑已实现的行为和验证证据。

真实的 Gmail、HubSpot、Slack、Clerk OAuth、Trigger.dev Cloud、OpenAI 和 Vercel 检查仍然是需要操作者凭证的部署步骤。该产品有意不暴露财务、破坏性、批量、任意 MCP、浏览器、shell 或用户代码工具。

文档

安全

请勿在公开 issue 中包含漏洞、凭据、客户数据或未经脱敏的操作负载。请遵循 SECURITY.md 中的私下报告指南。

许可证

AgentCloud 采用 Apache License 2.0 许可。

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Create, browse, remix, collaborate on, and run durable AI workflow nodes from MCP hosts.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.

View all MCP Connectors

Latest Blog Posts

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/premhiru/agentcloud'

If you have feedback or need assistance with the MCP directory API, please join our Discord server