← The evidence ledger
Evidence row 1740292
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 82309451-111f-4157-8455-619786ee509d
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- da70b4d946893f9ebf247dc4866261669bedb8ce0ebde61e7c85af1985d19dc1
- Leaf
- 0x82e3e8cd5b659d79760cef90b4fba2ebdf8440c4e0ca1c414bea9b2132d385c9
What was observed
{
"count": 18,
"tools": [
{
"description": "Go back one screen.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"session": {
"description": "Session from open_app",
"type": "string"
}
},
"required": [
"session"
],
"type": "object"
},
"name": "back"
},
{
"description": "What the app did with the device in this session: permission prompts and answers, location reads, scans, fingerprint checks, payments, notifications, shares.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"session": {
"description": "Session from open_app",
"type": "string"
}
},
"required": [
"session"
],
"type": "object"
},
"name": "device_log"
},
{
"description": "Put the simulated phone back to a known state (permissions undetermined, default location, nothing in front of the camera, log cleared), optionally with a new profile.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"api": {
"type": "number"
},
"platform": {
"enum": [
"android",
"ios"
],
"type": "string"
},
"session": {
"description": "Session from open_app",
"type": "string"
}
},
"required": [
"session"
],
"type": "object"
},
"name": "device_reset"
},
{
"description": "Close the session and get a report: steps taken, and the orders the app sent to its backend during the session.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"session": {
"description": "Session from open_app",
"type": "string"
}
},
"required": [
"session"
],
"type": "object"
},
"name": "end_session"
},
{
"description": "Apps this server can open, with what each one does. Optional query filters by name, description or category (e.g. 'shop', 'douala').",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"query": {
"type": "string"
}
},
"type": "object"
},
"name": "list_apps"
},
{
"description": "Open simulator sessions (phones) on this server: id, app, release and when each started. Use to resume after a reconnect.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_sessions"
},
{
"description": "The notification shade: notifications delivered to the simulated phone in this session (their banners vanish after 5 s, like a heads-up on a real phone).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"session": {
"description": "Session from open_app",
"type": "string"
}
},
"required": [
"session"
],
"type": "object"
},
"name": "notifications"
},
{
"description": "Open an app in a fresh phone-sized session and return its first screen.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"app": {
"description": "App id from list_apps, optionally with a release: 'tide' (local build), 'tide@latest' or 'tide@r13' (the published release phones run)",
"type": "string"
},
"dark": {
"description": "Dark mode",
"type": "boolean"
},
"seed_cart": {
"description": "Start with these items already in the cart (test shortcut). Each line: { product_id, quantity }; { id, qty } also works.",
"items": {
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"product_id": {
"type": "string"
},
"qty": {
"exclusiveMinimum": 0,
"type": "integer"
},
"quantity": {
"exclusiveMinimum": 0,
"type": "integer"
}
},
"type": "object"
},
"type": "array"
},
"session": {
"description": "Session name (default: generated). One session is one phone.",
"type": "string"
}
},
"required": [
"app"
],
"type": "object"
},
"name": "open_app"
},
{
"description": "Tap a notification from the shade (newest if no id is given): the app handles it exactly as if its banner was tapped.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"id": {
"type": "string"
},
"session": {
"description": "Session from open_app",
"type": "string"
}
},
"required": [
"session"
],
"type": "object"
},
"name": "open_notification"
},
{
"description": "Run an owner command against the live app (changes are audited; `publish` makes them live on every phone within seconds).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"app": {
"type": "string"
},
"args": {
"additionalProperties": {},
"type": "object"
},
"command": {
"type": "string"
}
},
"required": [
"app",
"command"
],
"type": "object"
},
"name": "owner_command"
},
{
"description": "List the owner commands of an app (content, prices, offers, orders, publish). Needs PN_OWNER_TOKEN.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"app": {
"type": "string"
}
},
"required": [
"app"
],
"type": "object"
},
"name": "owner_describe"
},
{
"description": "Deliver a push notification to the simulated phone; it appears as a banner the agent can tap.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"body": {
"type": "string"
},
"data": {
"additionalProperties": {},
"type": "object"
},
"session": {
"description": "Session from open_app",
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"session",
"title",
"body"
],
"type": "object"
},
"name": "push_notification"
},
{
"description": "The current screen as an accessibility tree with refs.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"session": {
"description": "Session from open_app",
"type": "string"
}
},
"required": [
"session"
],
"type": "object"
},
"name": "screen"
},
{
"description": "A PNG of the phone screen (for checking layout, colours, images). The tree from `screen` is usually enough to act.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"session": {
"description": "Session from open_app",
"type": "string"
}
},
"required": [
"session"
],
"type": "object"
},
"name": "screenshot"
},
{
"description": "Scroll the page (down/up) or a horizontal rail (right/left, give the rail's ref). Returns the new screen.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"direction": {
"enum": [
"down",
"up",
"left",
"right"
],
"type": "string"
},
"ref": {
"description": "Scroll inside this element (a rail or list); omit for the page",
"pattern": "^e\\d+$",
"type": "string"
},
"session": {
"description": "Session from open_app",
"type": "string"
}
},
"required": [
"session",
"direction"
],
"type": "object"
},
"name": "scroll"
},
{
"description": "Change what the simulated phone has: location, a barcode in front of the camera, permission states, whether the fingerprint will match, whether a payment will be approved, network on/off. Takes effect for the next action.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"biometrics": {
"additionalProperties": false,
"properties": {
"enrolled": {
"type": "boolean"
},
"nextResult": {
"enum": [
"success",
"fail",
"cancel"
],
"type": "string"
}
},
"type": "object"
},
"camera": {
"additionalProperties": false,
"properties": {
"barcode": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"data": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"type",
"data"
],
"type": "object"
},
{
"type": "null"
}
]
},
"delayMs": {
"type": "number"
}
},
"type": "object"
},
"location": {
"additionalProperties": false,
"properties": {
"accuracy": {
"type": "number"
},
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
}
},
"required": [
"latitude",
"longitude"
],
"type": "object"
},
"online": {
"type": "boolean"
},
"payment": {
"additionalProperties": false,
"properties": {
"nextResult": {
"enum": [
"approve",
"decline",
"timeout",
"insufficient_funds"
],
"type": "string"
},
"pin": {
"type": "string"
}
},
"type": "object"
},
"permissions": {
"additionalProperties": false,
"properties": {
"camera": {
"enum": [
"granted",
"denied",
"undetermined"
],
"type": "string"
},
"location": {
"enum": [
"granted",
"denied",
"undetermined"
],
"type": "string"
},
"notifications": {
"enum": [
"granted",
"denied",
"undetermined"
],
"type": "string"
}
},
"type": "object"
},
"session": {
"description": "Session from open_app",
"type": "string"
}
},
"required": [
"session"
],
"type": "object"
},
"name": "set_device"
},
{
"description": "Tap a button, link or choice by ref. Returns the new screen.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"ref": {
"description": "Element ref from the screen, e.g. e42",
"pattern": "^e\\d+$",
"type": "string"
},
"session": {
"description": "Session from open_app",
"type": "string"
}
},
"required": [
"session",
"ref"
],
"type": "object"
},
"name": "tap"
},
{
"description": "Type into a text field by ref (replaces its content). Returns the new screen.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"enter": {
"description": "Press Enter afterwards",
"type": "boolean"
},
"ref": {
"description": "Element ref from the screen, e.g. e42",
"pattern": "^e\\d+$",
"type": "string"
},
"session": {
"description": "Session from open_app",
"type": "string"
},
"text": {
"type": "string"
}
},
"required": [
"session",
"ref",
"text"
],
"type": "object"
},
"name": "type"
}
]
}What the leaf hashes
{"body":"da70b4d946893f9ebf247dc4866261669bedb8ce0ebde61e7c85af1985d19dc1","id":1740292,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793510483906838,"prev":null,"subject":"82309451-111f-4157-8455-619786ee509d","subject_kind":"endpoint"}Proof
Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.