| Workspace tenancyHarbor: apps/api schema. Arcade: docs.arcade.dev | Harbor's pick: Harbor.Workspace is the top-level isolation primitiveevery plugin connection, OAuth grant, run, and trace is bound to a workspace_id | Not publicly disclosedArcade is framed around user-delegated tool calls; verify the workspace / project / tenant primitive on docs.arcade.dev |
|---|
| MCP server hosting modelHarbor: CLAUDE.md "MCP Mental Model". Arcade: docs.arcade.dev | Harbor's pick: Harbor.Consumes third-party MCP servers; exposes a protected Harbor MCP endpointHarbor installs third-party MCP servers as plugins; mcp.tryharbor.ai/mcp advertises protected-resource metadata for first-party Harbor access | Exposes MCP-compatible surfaces for its tool catalogueArcade ships an MCP-compatible surface for its tools; verify the exact set of supported modes on docs.arcade.dev |
|---|
| Integration / plugin countHarbor: registry catalog (build-time). Arcade: arcade.dev | 149 registry entries / 135 unique provider familiesderived at build time from packages/sdk/registry-catalog/data/v1/catalog.json | Harbor's pick: competitor.Cite live count at arcade.devArcade publishes a public tool catalogue on arcade.dev; record the live count at edit time rather than asserting a stale number |
|---|
| Deployment modelHarbor: apps/api Cloudflare Workers deploy. Arcade: arcade.dev/pricing | Harbor's pick: tie.Hosted onlymanaged tryharbor.ai; first-party self-host is on the Enterprise roadmap | Harbor's pick: tie.Hosted SaaSarcade.dev is a managed cloud product; confirm any self-host offering on docs.arcade.dev |
|---|
| Runtime substrateHarbor: apps/api/wrangler.jsonc. Arcade: arcade.dev | Cloudflare Workers + D1 + KV + R2 + Vectorize + Workflows + Durable Objectsapps/api on Workers; runs persisted to D1; credential state is KV-backed | Not publicly disclosedArcade runs a managed cloud product; the underlying substrate is not stated on arcade.dev |
|---|
| OAuth modelHarbor: apps/api/src/plugins/oauth/. Arcade: docs.arcade.dev | Workspace-scoped authorization above provider consentprovider OAuth state is scoped to the workspace; route and policy checks constrain which actions execution can take | User-delegated OAuth (per public framing)Arcade is positioned as OAuth-first with user-delegated auth; confirm per-tool revocation semantics on docs.arcade.dev |
|---|
| OSS licenseHarbor: github.com/zonko-ai. Arcade: github.com/ArcadeAI | SDK public on github.com/zonko-ai/harbor-sdkcontrol plane closed source | Public GitHub org at github.com/ArcadeAIverify the current SPDX identifier on the active Arcade repos before relying on a specific OSS classification |
|---|
| Pricing modelHarbor: tryharbor.ai/. Arcade: arcade.dev/pricing | Harbor's pick: tie.Free + Workspace + Enterprise tiersWorkspace tier usage-based units not yet priced publicly | Harbor's pick: tie.Public pricing page at arcade.dev/pricingrecord the live plan names and units at edit time |
|---|
| Observability surfaceHarbor: apps/api/src/plugins/worker/. Arcade: docs.arcade.dev | Harbor's pick: Harbor.Runs + spans + workspace-scoped execution history, persisted to D1exec requests create run and span records for tool calls, sandbox output, plugin dispatch, and orbit access where applicable | Not publicly disclosed as a first-class product objectverify whether Arcade surfaces runs / traces as a product object on docs.arcade.dev |
|---|
| Identity & inbound authHarbor: WorkOS dashboard + apps/api auth routes. Arcade: docs.arcade.dev | WorkOS / AuthKit for web sign-in; protected-resource metadata for Harbor MCPSAML / OIDC / SCIM available via WorkOS on Enterprise | Not publicly disclosed in fullverify IdP options for the Arcade dashboard (SAML / OIDC / SCIM tier availability) on arcade.dev / docs.arcade.dev |
|---|
| Sandbox / execution isolationHarbor: apps/api/src/plugins/worker/. Arcade: docs.arcade.dev | Harbor's pick: Harbor.Cloudflare codemode Worker isolate, separate from the Harbor API Workerprovider tokens are never exposed to executing code; credentials are dispatched host-side | Not publicly disclosedArcade executes tool calls server-side under user-delegated OAuth; the exact isolation boundary and credential-exposure model are not stated on arcade.dev |
|---|
| Durable workflow supportHarbor: harbor-workflows skill. Arcade: docs.arcade.dev | Harbor's pick: Harbor.step.* references can route hrbr exec through Cloudflare Workflowsthe API has workflow-mode routing for step.do / step.sleep / step.waitForEvent; treat exact product limits as implementation-specific | Not publicly disclosedverify durable-execution primitives (retries with backoff, sleep, external-event resume) on docs.arcade.dev |
|---|
| Public docsHarbor: docs.tryharbor.ai. Arcade: docs.arcade.dev | Harbor's pick: tie.docs.tryharbor.ai with concept docs, guides, recipes; llms.txt publishedllms.txt is live; additional LLM-oriented docs should be verified when shipped | Harbor's pick: tie.docs.arcade.dev with SDK + tool referencerecord llms.txt presence at edit time |
|---|