services for AI agentsEU-hosted
Your agent deserves better than a markdown file.
One MCP call gives it a real Postgres, a browser or any Docker image — as a URL and a credential, with a TTL and a spend cap it can see.
One MCP call, a real service
briq is what your agent calls when it needs a database.
It asks, gets a URL and credentials, does its work, and tears it down. Watch a coding agent do it.
> run the migrations against a fresh postgres Starting a Postgres 16 briq, then applying the migrations inside it.briq_run({ recipe: "postgres", params: { version: "16" }, wait: true }) → running bq_7kq2m9x1p4ab · postgres:16 · small DATABASE_URL=postgres://postgres:••••••••@db.s1.internal:5432/appbriq_files_put({ briq: "bq_7kq2m9x1p4ab", path: "/migrations.sql", contentBase64: "Q1JFQVRF…" }) → wrote 4.2 kB to /migrations.sqlbriq_exec({ briq: "bq_7kq2m9x1p4ab", cmd: ["psql", "-U", "postgres", "-d", "app", "-f", "/migrations.sql"] }) CREATE TABLE CREATE TABLE CREATE INDEX → exit 0 ✓ 3 migrations applied on a fresh database. Migrations apply cleanly. Destroying the briq.briq_destroy({ briq: "bq_7kq2m9x1p4ab" }) → destroyed bq_7kq2m9x1p4ab · ran 41s> A spend cap the agent can see
Under the cap
The default. A fresh briq, an hour of TTL, a fraction of the daily cap.
Stopping soon
The agent can extend the TTL or finish up. Either way it knows.
Cap reached
The reconciler stopped it. No new machine is created until the cap resets.
It follows the agent, not the clock
Three ways to use it
https://api.briq.cloud/mcp. Add it to your client, or call the same API from code.claude mcp add briq --transport http https://api.briq.cloud/mcp \
--header "Authorization: Bearer $BRIQ_API_KEY"{
"mcpServers": {
"briq": {
"url": "https://api.briq.cloud/mcp",
"headers": { "Authorization": "Bearer ${env:BRIQ_API_KEY}" }
}
}
}import { Briq } from '@briq/sdk';
const briq = new Briq(process.env.BRIQ_API_KEY);
const db = await briq.run({ recipe: 'postgres' });
console.log(db.outputs.DATABASE_URL);A markdown file is not enough
CLAUDE.md
Tells the agent how the project is laid out and which commands to run.
briq gives it the machine those commands need.
MEMORY.md
Remembers, in prose, which customers hit the pricing bug and which did not.
briq gives it a Postgres, or a graph database, to store that as data it can query.
SKILL.md
Teaches the agent the steps to turn a design export into a PDF with Pandoc.
briq gives it a Pandoc container to actually run those steps in.
PLAN.md
Lists the migration as step four, in a file only the agent reads.
briq gives it a Plane board it can update as it works, and a link for you to watch.
Cookbook
postgres and gets a database with credentials, not a Dockerfile.Guardrails
Isolated per team, EU-hosted
Firecracker microVMs in the EU, reachable from anywhere. One private network per team, never shared. Secrets are write-only and masked everywhere.
Spend caps per key
Every key carries a daily cap, a concurrency limit and allowed sizes. Checks run before any machine is created, and the reconciler stops briqs when a key crosses its cap.
Every response carries the meter
Each tool result ends with cost so far and the time the briq stops. The model sees the meter; so do you, in the audit log.
Egress control and audit log
Per-key egress policy (allow, deny, allowlist), SMTP blocked, and one audit row per call with key, action, target and cost delta.
Pricing
| Size | CPU | RAM | Disk | Per hour |
|---|---|---|---|---|
| nano | shared 1 vCPU | 512 MB | 2 GB | €0.006 |
| small | shared 1 vCPU | 2 GB | 10 GB | €0.03 |
| medium | shared 2 vCPU | 4 GB | 20 GB | €0.06 |
| large | performance 2 vCPU | 8 GB | 40 GB | €0.12 |
Free tier: enough for a developer's evening.