1
00:00:00,902 --> 00:00:05,905
We start with a signed-in KIFF account and
no connected tools. I will connect a

2
00:00:05,905 --> 00:00:09,261
refund tool and define what our support
agent may do.

3
00:00:11,568 --> 00:00:16,926
I enter the demo MCP server address and
its credential, which stays masked. This

4
00:00:16,926 --> 00:00:19,405
server uses Stripe in test mode only.

5
00:00:21,827 --> 00:00:26,697
KIFF discovers two tools: look up an order
and request a refund. We can now

6
00:00:26,697 --> 00:00:28,645
choose which tools to connect.

7
00:00:35,246 --> 00:00:39,844
I connect the order lookup first and mark
it as read only. Its calls will still

8
00:00:39,844 --> 00:00:41,124
be governed by a Card.

9
00:00:54,372 --> 00:00:59,444
The refund Card measures the amount in
whole euros. The server also accepts a

10
00:00:59,444 --> 00:01:02,078
unique key to prevent duplicate refunds.

11
00:01:11,782 --> 00:01:16,648
KIFF supplies that key for each operation.
I connect the refund tool, which can

12
00:01:16,648 --> 00:01:17,634
change an order.

13
00:01:22,529 --> 00:01:27,878
I give support-demo a Card for order
lookups, with ten calls per day. The agent

14
00:01:27,878 --> 00:01:30,653
name links its Cards to its MCP identity.

15
00:01:36,558 --> 00:01:41,672
For refunds, I set fifty euros per call,
two hundred euros per day, and ten

16
00:01:41,672 --> 00:01:45,832
calls. Requests above the limits wait for
me for ten minutes.

17
00:01:49,578 --> 00:01:54,031
I issue the Card. KIFF checks these limits
on every gateway call, including

18
00:01:54,031 --> 00:01:55,456
after I update the Card.

19
00:02:01,097 --> 00:02:05,858
Create the gateway key from the agent’s
Tools tab. The key for support-demo was

20
00:02:05,858 --> 00:02:07,967
created and transferred off camera.

21
00:02:11,985 --> 00:02:16,716
Add this MCP entry to your Codex
configuration. The URL points to KIFF’s

22
00:02:16,716 --> 00:02:20,527
gateway. The agent key comes from an
environment variable.

23
00:02:22,134 --> 00:02:27,514
The following real Codex calls use these
same settings. The secret key stays off

24
00:02:27,514 --> 00:02:27,985
camera.

25
00:02:28,985 --> 00:02:34,086
Codex reads its current Card through
KIFF’s MCP gateway, then looks up a new

26
00:02:34,086 --> 00:02:37,710
Stripe test order. All amounts in this
demo are euros.

27
00:02:50,069 --> 00:02:55,658
The agent requests twenty euros, within
its fifty euro limit. Stripe confirms

28
00:02:55,658 --> 00:02:57,618
one successful test refund.

29
00:02:58,618 --> 00:03:03,482
Now I request eighty euros on the same
order. This new operation exceeds the

30
00:03:03,482 --> 00:03:05,018
Card’s fifty euro limit.

31
00:03:11,246 --> 00:03:16,028
The request is held, with a review link
for the owner. Nothing is sent to the

32
00:03:16,028 --> 00:03:19,318
refund tool. Stripe remains at twenty
euros refunded.

33
00:03:21,218 --> 00:03:25,708
The eighty euro request appears in Needs
you. It exceeds the fifty euro limit

34
00:03:25,708 --> 00:03:27,749
and waits for the owner’s decision.

35
00:03:28,418 --> 00:03:33,451
I approve this operation once. The Card
stays at fifty euros. The agent must

36
00:03:33,451 --> 00:03:35,968
resume the same request to execute it.

37
00:03:37,813 --> 00:03:43,000
After approval, Codex resumes the same
operation, with the same identifier and

38
00:03:43,000 --> 00:03:43,665
arguments.

39
00:03:51,565 --> 00:03:56,674
The eighty euro test refund succeeds.
Stripe now shows exactly two refunds,

40
00:03:56,674 --> 00:03:58,513
totaling one hundred euros.

41
00:03:59,513 --> 00:04:04,618
I update the current Card from fifty to
ten euros per call. The MCP connection

42
00:04:04,618 --> 00:04:05,600
stays the same.

43
00:04:06,113 --> 00:04:10,728
I save the Card. The next request will use
this new limit. We will ask for

44
00:04:10,728 --> 00:04:11,913
twenty euros again.

45
00:04:14,722 --> 00:04:20,357
Codex reads its updated Card. The same MCP
settings now give it a ten euro limit

46
00:04:20,357 --> 00:04:20,991
per call.

47
00:04:30,130 --> 00:04:34,895
A new twenty euro request is held for the
owner. The current Card governs this

48
00:04:34,895 --> 00:04:37,888
real tool call. No additional refund is
executed.

49
00:04:38,888 --> 00:04:43,947
These are real MCP calls, with Stripe in
test mode. In your team, who would set

50
00:04:43,947 --> 00:04:46,124
the limits and approve exceptions?
