Tempio

Connect

Your agent, your ad accounts, your scopes

Point your MCP client at your workspace for 68 scoped tools, with separate keys to read, draft and approve. Every call your agent makes is bounded by the key you minted for it.

One workspace per key, 68 tools behind it, and every change on the record. A key without the approve scope is never offered the tools that clear anything.

Screenshots into a chat, or tools into your agent

Pasting your accounts into a conversation
  • You export a report, paste it in, and the answer is exactly as current as the file you pasted.
  • The model cannot see the account, so every follow-up question costs another export.
  • Whatever it suggests, somebody retypes into an ad manager, where a mistyped budget reaches the account with nobody’s name on it.
  • Nothing connects what was asked to what was suggested to what was changed, so the trail ends at the chat log.
  • Hand it real credentials instead and you have given one secret everything, with no way to say read but not write.

An assistant working from screenshots.

Tools your agent can call
  • Your agent calls the same org-scoped tools the app calls, so what it reads is what the workspace holds at that moment.
  • Every call is bounded by the key: one workspace, and the scopes you chose when you minted it.
  • A change it drafts is a change request at the gate, carrying the current state, the proposed state and the account’s own currency.
  • Read, draft and approve are separate, and a key holding two of the three cannot be talked into the third.
  • A key dies with the membership that minted it, so removing somebody from the workspace revokes their keys and nobody else’s.

An agent working through tools, on a key whose limits you wrote.

Three moves to a connected agent

  1. 01

    Mint a key

    A key belongs to one workspace and to the membership that created it. You choose its scopes at that moment: read on its own, read and draft, or all three. Approve is opt-in and never the default, and a build server or a scheduled job can hold a key that is structurally unable to clear anything.

  2. 02

    Point your client at it

    Setup is a URL and a bearer key, which is what your MCP client already asks for, and the handshake is the ordinary one. Tempio names a client in its own copy only once an end-to-end handshake is on record, which is why this page names none and shows no logos. Whether yours works depends on the protocol.

  3. 03

    Ask it something

    The server answers with the tools the key’s scopes allow: the connections and accounts, the campaigns and the structure underneath them, the metrics and the ninety-day account brief, the draft queue, and the media plans. A tool the key may not use is never listed, so nothing has to be refused after the fact.

What a key is allowed to be

One workspace, always

Every tool the server exposes is scoped by organisation before it reaches the database. A key cannot be widened by argument. An identifier handed into a call is never treated as proof of access to the thing it names.

Three scopes, chosen at mint

Read, draft and approve. A read-only key never sees the approve tools in its own tool list, which is a stronger statement than refusing the call once it has already been made.

Keys die with the membership

Remove a person from the workspace and the keys they minted stop working that moment. Nobody else’s key is touched, and there is no rotation to remember afterwards.

Every change on the record

What was changed, under which key, against which organisation, and what came back from the platform. The ledger does not care whether the change came from a person in the app, from the built-in chat or from your own agent at three in the morning.

A kill switch per connection

Turn a connection off and nothing waiting against it can be applied, whatever key was holding it. The switch is the workspace’s, so it does not depend on reaching whoever wired the agent up.

Writes become drafts

A tool that would change an ad entity writes a change request instead. Your agent can fill the queue; clearing it is a separate scope, and the row names whatever authority cleared it.

How the gate works

How Tempio works, as documents

The draft lifecycle, the guardrails, the money rules and what each warning means are published as documents your agent reads over the same connection, attached to a conversation like a file or composed into a ready task. Each one carries the day a person last confirmed it, so a model can quote the age of what it leant on.

What a resource is

The planning tools as well

Opening a flight, editing its line items and turning the whole document into drafts are tools like any other, so the entire loop runs from your own agent without anybody opening the app.

Build a flight from your agent

The same surface from a terminal

Every route the server exposes is a command with typed flags, JSON on a pipe and an exit code that means something, on the same scoped key. A scheduler at four in the morning gets the tool layer with the ambiguity taken out.

See the command line

Illustrative exchange

You’re connected to my workspace now. What is in there, and what did last week look like?
list_connections
Listing the connections and what each platform can express.
3 connections · status connected · last sync 06:12 UTC · capabilities resolved on all three · supportsValidate 1/3
get_metrics
Reading the blended figures for the last seven days.
range 7d · spend 612 400 minor units AUD · ctr 0.0108 · cpa 5 980 · roas 3.04 · fx null (single currency)
Three accounts, all connected, last synchronised this morning. I can see the week: return on ad spend at 3.04, cost per acquisition a little under last month’s. Two of the three cannot dry-run a change before it is applied, so I will tell you when that matters rather than after.
Move fifteen percent of the weakest campaign’s daily budget onto the strongest one.
draft_changes
Drafting the decrease and the increase as one batch.
2 operations · correlationId 8c2a5b17-4e09-4d6a-b3f1-25d70ae9c684 · approvedBy pending · reviewUrl /drafts?batch=8c2a5b17-4e09-4d6a-b3f1-25d70ae9c684
I’ve drafted both sides as a single batch, so they move together or not at all. The key I am holding has the read and draft scopes and not the approve one, which means this awaits approval from you or from a rule your workspace wrote. The review link is on the batch whenever you want to look at the two payloads.

Questions

Put frontier AI to work on every ad account you run.

Connect your accounts, point your own AI at them over MCP, and read the numbers and draft the work in one place. Every change is a draft until you approve it, or until a rule you wrote does.

Request early access
  • Read and draft by default. Approve is a separate permission you grant.