The European cloud for
AI agents you can put on the record
Give every user a private AI agent — its own memory, tools, and approvals — and a replayable, costed trace of everything it does. Drive it over an OpenAI-compatible API, hosted in the EU.
Design once. Run one per user.
Two primitives, and the whole platform falls out of them.
The design
A reusable, versioned assistant: its instructions, model, tools and guardrails. Publish a new version and every smith that runs it moves in lockstep — or pin them.
The running clone
One per end-user, per agent. The unit of data isolation — its own memory, threads, and connections. Provisioning is idempotent: ensure a smith on every login.
Everything a production agent needs
The runtime, the memory, the guardrails and the observability — so you build behaviour, not infrastructure.
Memory that persists
Each smith carries its own memory, threads, and connections across sessions — not a context window you refill on every request.
Tools over MCP
Connect any MCP server and the smith can call it. Standard protocol, no bespoke tool format to learn or maintain.
Human-in-the-loop
Gate sensitive tool calls behind approvals. A run pauses, your app approves or rejects, and the smith resumes — over the standard tool-call channel.
Full observability
Watch every run token-by-token in the Playground, replay event streams, and trace each decision a smith made. Nothing is a black box.
Budgets & metering
Per-agent and per-smith spend limits, enforced server-side, with usage metered on every run. Give a smith money to spend without handing it a balance.
Deploy anywhere
Run a smith over the REST API, the OpenAI-compatible endpoint, or wherever your users already are — across the messaging apps they use every day.
If you already speak OpenAI, you already speak Ingram Cloud
Point the OpenAI SDK or the Vercel AI SDK at our base URL and stream straight from a smith — no custom transport, no bespoke SSE parser. Memory, tools, and approvals come along for the ride; only the bytes on the wire are the standard ones.
OpenAI-compatible API referenceimport { createOpenAICompatible } from "@ai-sdk/openai-compatible";
import { streamText } from "ai";
const ingram = createOpenAICompatible({
name: "ingram",
baseURL: "https://api.cloud.ingram.tech/v1",
apiKey: SMITH_TOKEN,
});
// Memory, tools and approvals all come from the smith —
// only the bytes on the wire are the standard ones.
const result = streamText({ model: ingram("gpt-5.5"), prompt });
for await (const delta of result.textStream) {
process.stdout.write(delta);
}TypeScript SDK
@ingram-cloud/sdkThe typed client for the API — agents, smiths, runs, streaming.
Vercel AI SDK
@ingram-cloud/ai-sdkAn OpenAI-compatible provider with smith identity, memory, and approvals wired in.
Pulumi
@ingram-cloud/pulumiInfrastructure as code — agents, MCP, integrations, webhooks and model keys.
Flue & eve
@ingram-tech/flue · eve-ingram-cloudRegister a smith as a model provider in the Flue and eve agent frameworks.
The layer Europe can keep
Your data stays in the EU, with data residency, and we never train models on it. Pair that with the audit trail and you can prove, action by action, exactly what touched your data — so the agents your business depends on don't depend on someone else's jurisdiction.
Questions, answered
Ship your first smith today
Create a project, mint a token, and stream a reply in three calls. The console is open and the API is live.
Hosted in the EU · OpenAI-compatible · Model-agnostic
