Ecosystem & compatibility
Ingram Cloud integrates over industry standards. Wherever a standard exists, the API speaks it — OpenAI Chat Completions and Responses, the Model Context Protocol for tools, the Vercel AI SDK, and the major model providers. So the SDK, tools and channels you already use keep working against Ingram Cloud.
The one place that isn't a standard is the native run envelope, and it exists only for what no standard expresses yet (live tool-progress frames) — see the native surface.
Each surface below has its own page; this one shows how they fit together.
Drive a smith from your code
You call Ingram Cloud; the smith runs the agent loop server-side — its agent's instructions, tools, memory, and approvals — and streams the result back. Every surface below drives the same run loop, so the smith, its memory, and its tools behave identically; only the wire framing differs. Pick the one that matches the stack you already have.
| Surface | Reach for it when | Package | Read |
|---|---|---|---|
| OpenAI Chat Completions | you have an OpenAI integration, or use any OpenAI SDK | openai | OpenAI-compatible API |
| OpenAI Responses API | you want the Responses wire, or server-held conversations | openai | Conversations |
| Vercel AI SDK | you build with ai / useChat and want a drop-in provider | @ingram-cloud/ai-sdk | Vercel AI SDK |
| Flue | you build durable agents with the Flue harness | @ingram-cloud/flue | Flue |
| eve | you build agents with Vercel's eve framework | @ingram-cloud/eve | eve |
| Native runs + SSE | you need the in-flight tool.executing frame the moment a tool starts | @ingram-cloud/ai-sdk/native | Runs & streaming |
| TypeScript SDK | you manage resources (smiths, agents, deployments) or want typed wire schemas | @ingram-cloud/sdk | TypeScript SDK |
A smith token is browser-safe and names exactly one smith; a tenant-admin token is server-side only and names the smith per request. See Auth & tokens and Browser calls.
The native surface
The OpenAI-compatible surface is the primary path and carries almost everything.
The native run envelope (POST /v1/smiths/{id}/runs, a { "v": 1 } SSE stream)
adds the one thing the standard wire doesn't yet: live tool-progress frames
while a run works. Reach for it only when you need those; otherwise prefer a
standard surface above. Details in Runs & streaming.
Reach your users where they are
Deploy a smith or agent to a messaging channel and Ingram Cloud runs it on every inbound message — the reply returns to the same conversation, on the same thread. You configure the channel once; there is no run loop to host and no webhook to write.
| Channel | What an inbound message does |
|---|---|
| Slack · Telegram · WhatsApp · Email | wakes the bound smith (or mints one per sender from an agent) and replies in-channel |
| Hosted page | a private, shareable web page that runs an agent — each visitor chats in the browser and gets their own smith |
A deployment targets either a fixed smith or an agent that mints a fresh smith per sender — the pattern that gives each end-user their own isolated instance automatically. All of it, plus cron schedules, is in Deployments & schedules.
Give a smith tools and models
A smith reaches outward for the model it thinks with and the tools it calls.
- Models — bring your own key. Pick the provider and model per agent: OpenAI, Anthropic, or Gemini. Move between them without touching your code; hosted models work out of the box if you'd rather not manage keys.
- Tools over MCP. Register any MCP server and its tools become available to the smith — Ingram Cloud is the MCP client, calling your server and running the tools for you, with optional human approval gating. A curated catalog of common integrations ships ready to enable.
- Hosted tools. In-process tool bundles (calculation, reasoning, channel actions) a smith can use with no server to run.
See Tools & approvals.
Plug Ingram into other systems
The mirror image of the above: Ingram Cloud as a building block inside someone else's stack.
| Connector | What it does | Read |
|---|---|---|
| MCP server | expose a smith as a tool to Claude Desktop, an IDE agent, or another framework — Ingram Cloud is the MCP server here | Deployments |
| Hosted page | a private, shareable web page that runs an agent — hand the link to teammates or testers, no code | Deployments |
| Claude / ChatGPT connector | add a deployed agent to Claude or ChatGPT as a connector — OAuth discovery on the MCP endpoint, each person authorizes their own smith | Connectors |
| Webhooks | every lifecycle action (run.completed, approval.required, budget alerts) delivered as a signed event to your endpoint | Events & webhooks |
| Pulumi / IaC | declare agents, MCP servers, integrations, webhooks, and model keys as code — a change is a pulumi up | Pulumi provider |
Where to start
| You want to… | Start with |
|---|---|
| Add Ingram to an existing OpenAI app | OpenAI-compatible API |
| Embed a chat widget on your site | Vercel AI SDK |
| Build a durable, multi-step agent | Flue |
| Build on Vercel's eve framework | eve |
| Answer in Slack / WhatsApp / email | Deployments |
| Let a smith call your internal tools | Tools & approvals |
| Let another agent call your smith | MCP server |
| Put your agent in your users' Claude or ChatGPT | Connectors |
| Manage everything as code | Pulumi provider |