Eyeball
The open tool layer for agents

One API that
unblocks agents.

Give your agent email, messaging, voice, and hundreds of SaaS actions through a single typed API — with per-end-user auth, durable execution records, and framework-native output built in.

One
catalog
One
auth boundary
One
execution record

Integration is the hard part. Until it isn’t.

Every provider is a different auth dance, a different schema, and a different failure mode. Your agent drowns in glue code before it ever acts. Eyeball collapses all of it into one typed call — the catalog, the credentials, and the record of what happened.

The shape of it
Three boundaries. No glue.
One

Catalog

One typed, versioned surface across every provider. Canonical toolkit.operation names, validated schemas, deterministic search — no per-vendor SDKs to learn.

37 toolkits · 493 certified rows
One

Auth boundary

Credentials live behind a single seam. Pin any call to an end user and Eyeball resolves the right token — env, encrypted vault, or hosted — without leaking a secret into your logs.

per-end-user · CredentialProvider
One

Execution record

Every call returns a durable, replay-safe record: status, redacted inputs, attachments, and idempotent identity. Restart the process and in-flight work resumes where it left off.

idempotent · survives restart
One call
Type it once.
Ship it anywhere.

Auth, retries, redaction, and the execution record are handled for you. The same call runs from your own code, from an MCP client, or inside a voice agent — identical contract, identical record.

agent.ts TypeScript
import { Eyeball } from "@eyeball/sdk";

const eyeball = new Eyeball({ apiKey: process.env.EYEBALL_API_KEY });

// One typed call — scoped to the end user who owns the account.
const run = await eyeball.execute({
  tool: "gmail.send_email",
  input: {
    to: "founder@acme.com",
    subject: "Your agent shipped it.",
    body: "Deployed to prod and closed the ticket.",
  },
  user: "user_8f2a",
});

run.status;       // "succeeded"
run.recordId;     // durable, replay-safe record
Capabilities
Everything an agent needs
to actually do things.
Typed catalog

Validated schemas, not vibes

Draft 2020-12 validation on every input and output — argument-level contracts, not a wall of untyped JSON.

Per-user auth

Credentials, contained

Pin any call to an end user and Eyeball resolves the right token — env, vault, or hosted. It never touches your logs.

Execution records

Replay-safe by default

Every call returns a durable, idempotent record. A retried call replays the first result — never a duplicate action.

Triggers & webhooks

Signed, both directions

Subscribe to provider events, delivered over HMAC-signed webhooks with automatic retry and replay protection.

Voice agents

Calls that take action

LiveKit sessions and Twilio numbers re-enter the same executor — voice acts with the same contract as your code.

MCP-native

Speaks your agent’s protocol

Discovery and dispatch over MCP Streamable HTTP — JSON or SSE, scoped sessions, opt-in Tasks. No adapter to maintain.

Durable by default

Nothing lost on restart

Point it at Postgres and records, jobs, files, and triggers all survive a reboot — in-flight work resumes exactly where it left off.

The catalog
Wired to the tools your users already live in.
Open core
Run it yourself.
Or let us carry the keys.

The engine is open. The hard multi-tenant parts are a managed option — never a lock-in.

Open source

Eyeball Core

The typed catalog, the executor, the local encrypted vault, the SDK, and the MCP gateway — all yours to self-host with zero external dependencies.

Local env, encrypted vault & mock credential providers
Zero-config in memory, or durable on Postgres
pnpm dev:stack boots a 30-provider sandbox
Managed

Eyeball Cloud

One project key that fans out to every provider you enable. Multi-user credential ownership, hosted OAuth, refresh, and metered billing — without running the vault yourself.

Hosted OAuth consent & automatic token refresh
Per-user credential ownership across your whole org
Usage metering, quotas & billing built in

Give your agent
sight.

One API for the tools, the auth, and the record of what your agent actually did.