ONE PLUG FOR AI AGENTS

One plug. Every app. Any agent.

Your users connect their apps once, under your brand. Your agent, or Claude, ChatGPT and Cursor, acts through one MCP endpoint, limited to what each user approved, with every action on the record.

Claude
ChatGPT
Cursor
Your agent
Gmail
Slack
Salesforce
GitHub
Linear
Notion
WORKS WITH REMOTE-MCP CLIENTS AND AGENT FRAMEWORKS
  • Claude
  • ChatGPT
  • Cursor
  • Codex
  • VS Code
  • OpenAI Agents SDK
  • Claude Agent SDK
  • Vercel AI SDK
  • Mastra
  • LangGraph
01 · PRODUCT

Everything between your agent and your users’ apps.

app.arc0.ai
The Arc0 overview: tool calls, active users, calls blocked by policy, and what needs attention
01

Arc0 Connect

The flow your users authorize apps in, with your logo and colours. Your own domain and OAuth apps on paid plans.

connect.yourapp.com
02

Vault

Credentials encrypted per tenant and refreshed before they expire. OAuth, API keys and basic auth.

Authenticated token export
03

Arc0 MCP

One endpoint with an authenticated user binding. Connect your agent, Claude, ChatGPT or Cursor.

https://api.arc0.ai/mcp
04

REST + proxy

The same connection from your backend, with no agent in the loop. One connection, two callers.

POST /v1/execute
05

Policies

Read, write and destructive scopes per app. Approvals for risky actions. Optionally fail closed when a check can’t run.

destructive → require_approval
06

Audit log

Every call on every plan: which agent, for which user, in which app, and which policy allowed it.

Dashboard → Audit log
02 · HOW IT WORKS

Connect once. Act anywhere. Stay in control.

01
Connect

Send users to Arc0 Connect, with your logo, or on your own domain on paid plans. They authorize the apps your agent needs, with only the scopes you ask for.

02
Act

Hand any agent one MCP URL for that user, or call actions from your backend over REST. Credentials never reach the model.

03
Control

Policies check every call before it reaches the app. Everything lands in the audit log, including what was blocked.

QUICKSTART.TS
import { Arc0 } from '@arc0/sdk'

const arc0 = new Arc0({
  baseUrl: process.env.ARC0_API_URL,
  apiKey: process.env.ARC0_API_KEY,
  endUserId: user.id, // Arc0 internal ID returned by upsertUser on your backend
})

// 1 · Connect: open this user's hosted consent URL
const { url } = await arc0.connect({ app: 'github',
})

// 2 · Act: one MCP endpoint for any agent
const mcp = 'https://api.arc0.ai/mcp'
// OAuth or a user-bound runtime key authenticates the user

// After consent, discover the exact read tool schema
const { tools } = await arc0.search({ action: 'github.get_profile' })
const tool = tools[0] // inspect inputSchema; stop if missing
const receipt = await arc0.execute({
  action: tool.action, actionVersion: tool.version,
  arguments: {}, idempotencyKey: operation.id,
})
// Persist operation.id for retries; inspect receipt.status
A⇄
Acme wants to connect to your Gmail
connect.acme.com
Read and search your emailREAD
Send email on your behalfWRITE
Delete emailNOT REQUESTED
CancelAllow
SECURED BY ACME
03 · YOUR BRAND

Your brand on the consent screen. Not ours.

Many agent platforms put their own name in front of your users at the moment of trust. Arc0 stays behind your product.

→
Your logo, colours and domain

Your logo and colours on every plan, your own domain on paid plans. No “Powered by” badge unless you want one.

→
Your own OAuth apps

On paid plans, so Google, Microsoft and Slack name you on their consent screens. Use ours while you build.

→
A connected-apps page for your users

They can see what they’ve granted and revoke it in one click.

→
Tokens you can take with you

Export them any time. Tokens issued to your own OAuth apps keep working elsewhere, so leaving never means a mass reconnect.

04 · GOVERNANCE

Governed by default. On every plan.

Your customers will ask what your agent can do in their apps, and what it did. Arc0 answers both before the question comes up.

→Read, write and destructive scopes per app
→Human approval for the actions you choose
→Optionally fail closed when a check can’t run
→Audit log on every plan, including free
app.arc0.ai
The policy editor: Stripe's rules per scope, and the simulator showing why a refund is held for approval
05 · WHY ARC0

Built to be trusted with other people’s keys.

Name on your users’ consent screen
✓ARC0 Your logo on every plan; your domain and OAuth apps on paid plans
TYPICAL Often the platform’s, unless you pay extra
Your users’ tokens
✓ARC0 Exportable any time; with your OAuth apps they keep working
TYPICAL Often not exportable, so leaving means every user reconnects
Audit log
✓ARC0 Every plan, including free
TYPICAL Often an enterprise add-on
What you pay for
✓ARC0 Active connected users, with 5,000 calls per user included
TYPICAL Tool calls, sometimes failed ones too
Your backend, without an agent
✓ARC0 The same connection over REST
TYPICAL A separate product and contract
Request and response payloads
✓ARC0 Not stored by default
TYPICAL Often retained by default
Who owns the company
✓ARC0 Independent. We do one thing
TYPICAL Increasingly, a larger suite
06 · APPS

1,484 apps, behind one plug.

From Gmail and Salesforce to the long tail your customers use. Every action is graded read, write or destructive, and official MCP servers plug in behind the same auth, policies and audit log. Browse the catalog →

07 · FAQ

Questions, answered.

Why not just build OAuth myself?

You can, for one app. Then come token refresh, per-user storage, scopes, revocation, a connect UI, verification with each provider and an audit log — for every app, forever. Arc0 is that work, done once.

Does it work with Claude, ChatGPT and Cursor?

Yes. Arc0 MCP is a standard remote MCP endpoint, so any client that supports remote MCP servers can use it. Your own agent can use the same endpoint or the SDK.

Whose name do my users see when they connect?

Yours. Arc0 Connect shows your logo and colours on every plan and runs on your own domain on paid plans. With your own OAuth apps, the provider’s consent screen names you too.

Can I take my users’ tokens with me?

Yes. Tokens are exportable at any time. Tokens issued to your own OAuth apps keep working after export, so moving off Arc0 doesn’t mean asking every user to reconnect.

How is Arc0 priced?

Per active connected user per month. Your first 100 users are free, Launch is $99 a month for 1,000, and extra users cost $0.10 down to $0.03. Each user includes 5,000 calls, failed calls and development mode are free, and audit logs are on every plan.

I’m on another platform today. Can I switch?

Yes, and we move you for free. An engineer maps your apps and actions, sets up your OAuth apps and branded connect flow, and imports tokens wherever your current platform lets you export them. Teams switching from Composio also get 3 months of Launch free.

Get started

Plug your agent in.

Build free with up to 100 active connected users. An engineer sets up your connect flow, OAuth apps and first policies with you.

MCP + REST · White-label connect · Audit log on every plan