← The evidence ledger
Evidence row 578880
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 767555ae-f66f-43d6-989f-2199276b1eb9
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 629540f1797474a96ed8ba88bf7ff64ea2fb1e5c2d2f57afed9c2a7d09b9dd4e
- Leaf
- 0x56d45af9c92c481b99c75f992f3c54174d3ff9e708d2011229b405926c9d2dd4
What was observed
{
"count": 10,
"tools": [
{
"description": "Create and launch a new campaign for the calling business. Returns the campaign id, name, and dashboard URL. The campaign goes live immediately — no separate publish step.",
"inputSchema": {
"properties": {
"actions": {
"description": "Action IDs the campaign accepts (e.g. ['ig_st'] for an Instagram Story Tag).",
"items": {
"type": "string"
},
"minItems": 1,
"type": "array"
},
"businessId": {
"description": "The business owning this campaign. Must match the API key's business.",
"type": "string"
},
"description": {
"description": "Optional internal description",
"type": "string"
},
"discountType": {
"description": "Discount denomination: 'pct' for percentage, 'dol' for dollars off.",
"enum": [
"pct",
"dol"
],
"type": "string"
},
"discountValue": {
"description": "Discount amount. Capped at 100 for pct, 10000 for dol.",
"minimum": 0.01,
"type": "number"
},
"expiresInDays": {
"description": "Days until the campaign auto-expires. Default 60.",
"maximum": 365,
"minimum": 1,
"type": "integer"
},
"maxCompletions": {
"description": "Optional cap on total completions. Null = no cap.",
"type": [
"integer",
"null"
]
},
"name": {
"description": "Customer-facing campaign name",
"maxLength": 200,
"type": "string"
}
},
"required": [
"businessId",
"name",
"actions",
"discountValue",
"discountType"
],
"type": "object"
},
"name": "createCampaign"
},
{
"description": "Get industry benchmarks (engagement rate, conversion rate, etc.) for a business type.",
"inputSchema": {
"properties": {
"businessType": {
"description": "Industry name or slug (e.g. 'restaurants', 'coffee-shops'). Omit for the full catalog.",
"type": "string"
}
},
"type": "object"
},
"name": "getBenchmarks"
},
{
"description": "Get summary stats for a single campaign — total submissions, approved count, conversion rate, perks issued, and time-to-first-submission. Useful for an agent reporting back to its user.",
"inputSchema": {
"properties": {
"campaignId": {
"description": "Campaign to fetch stats for.",
"type": "string"
}
},
"required": [
"campaignId"
],
"type": "object"
},
"name": "getCampaignStats"
},
{
"description": "Get the market-rate pricing for a marketing action. Returns USD value and recommended perk type/value.",
"inputSchema": {
"properties": {
"actionId": {
"description": "Action ID (e.g. ig_post, google_review)",
"type": "string"
},
"businessType": {
"description": "Business type modifier (default: general)",
"type": "string"
},
"platformId": {
"description": "Platform ID (e.g. instagram, google)",
"type": "string"
}
},
"type": "object"
},
"name": "getPricing"
},
{
"description": "List the 125 marketing actions available on Social Perks. Filterable by platform, type, and effort.",
"inputSchema": {
"properties": {
"maxEffort": {
"maximum": 5,
"minimum": 0,
"type": "integer"
},
"page": {
"default": 1,
"type": "integer"
},
"perPage": {
"default": 50,
"type": "integer"
},
"platformId": {
"type": "string"
},
"type": {
"enum": [
"content",
"review",
"engage",
"share",
"referral"
],
"type": "string"
}
},
"type": "object"
},
"name": "listActions"
},
{
"description": "List campaigns. Requires auth — returns the caller's campaigns.",
"inputSchema": {
"properties": {
"status": {
"enum": [
"draft",
"active",
"paused",
"completed"
],
"type": "string"
}
},
"type": "object"
},
"name": "listCampaigns"
},
{
"description": "List submissions for a business or campaign, filterable by state (pending/approved/rejected). Returns paginated results.",
"inputSchema": {
"properties": {
"businessId": {
"type": "string"
},
"campaignId": {
"type": "string"
},
"page": {
"default": 1,
"minimum": 1,
"type": "integer"
},
"perPage": {
"default": 25,
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"state": {
"enum": [
"pending",
"approved",
"rejected"
],
"type": "string"
}
},
"type": "object"
},
"name": "listSubmissions"
},
{
"description": "Approve or reject a submission. Approving releases the perk; rejecting requires a reason. Use this when the business chooses manual review over auto-verification.",
"inputSchema": {
"properties": {
"decision": {
"description": "Approve releases the perk. Reject explains why the proof was insufficient.",
"enum": [
"approve",
"reject"
],
"type": "string"
},
"reason": {
"description": "Required when decision='reject'. 1-500 chars.",
"maxLength": 500,
"type": "string"
},
"submissionId": {
"description": "Submission id from a prior submitProof call.",
"type": "string"
}
},
"required": [
"submissionId",
"decision"
],
"type": "object"
},
"name": "reviewSubmission"
},
{
"description": "Search influencers by platform and follower count.",
"inputSchema": {
"properties": {
"minFollowers": {
"type": "integer"
},
"platform": {
"type": "string"
}
},
"type": "object"
},
"name": "searchInfluencers"
},
{
"description": "Submit proof of completion for a campaign action — a public URL to a post, a screenshot, a video, or platform-verified data. The submission enters a review queue (or auto-approves depending on the campaign's verification mode).",
"inputSchema": {
"properties": {
"actionId": {
"description": "Specific action being completed (must be allowed by the campaign).",
"type": "string"
},
"campaignId": {
"description": "Campaign the submission applies to.",
"type": "string"
},
"metadata": {
"additionalProperties": true,
"description": "Optional bag of context (poster handle, post timestamp, etc.).",
"type": "object"
},
"proofType": {
"description": "How the proof was captured. 'url' triggers automated verification.",
"enum": [
"screenshot",
"url",
"video",
"api_verified"
],
"type": "string"
},
"proofUrl": {
"description": "Public URL of the proof. For url-type submissions, the platform verifier will fetch this.",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"campaignId",
"actionId",
"proofUrl",
"proofType"
],
"type": "object"
},
"name": "submitProof"
}
]
}What the leaf hashes
{"body":"629540f1797474a96ed8ba88bf7ff64ea2fb1e5c2d2f57afed9c2a7d09b9dd4e","id":578880,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793143192004587,"prev":null,"subject":"767555ae-f66f-43d6-989f-2199276b1eb9","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).
- 0x56d45c46b75e3f97b40e5358da5f263938df8b66000670966a6e1fe651dcc896
- 0xb5505ffee67d925f0c59142d557db2b4239dbe3111d4aac3f5415e4c0b5c00cc
- 0xd1f0b8ca537b590e36203ce7b16f3d49732c6ff48cc831557cee10e5f54a8698
- 0x5e5b97afaea7f0e0a509cbd47ec3a13764b6cd13aaeb0e582fa9dd8495f3aae5
- 0x093daefcb0b7c3ff04a520377b3d9d3c407ac81a23c0e621485211b001cf4719
- 0x88b033656af0c13c624d80b9346423f7c99fd3c0a8e8ffea7c9c0c39071457ab
- 0xb1579022cc3199239f992cac9d1b7110e33ef3ece8e3b4a02c71eaf19aca9f59
- 0x1e585b04f28a270eeee817bdefe92539413b87776a2e8dd958914eb739337131
- 0xd1430af3e32f3433a8e8200284f7c09ebc392e1cb7e4aa4a2c16838fd51086fa
- 0xc69bdb44e5c6b8cf371784b0313363ac72c0c8b7cf2a10203966cbe3857fc7a6
- 0xaec8530a2e156f659d0929b3462a514a0cf7d2e6669110bb34b6ef56abdae9fd
- 0xe06cb1b692af263d62f5739bc4ad709ffe5a2576ef5a59a1610d50c03c7b9584
- 0x906b5f0e8ef1fe7894886d84f460bb3239d5f14b14ad4adff27c7dcea6265169
- 0x674bc1173d39130be4d15bbfc7327f8a8af87eb251e54c8d4409c7e840b9e538
- 0xb78ea6a255dd06e2f402a1a733bca392fa6243920bcba95e8b80bdfc6ce5f553
- 0x3ed50f053eca72dfd3a9d45a11935240bfe691e57835c367ddebe2cbc49efe9d
- 0x0e01aa9525097570a6edaf32bfc959de57bf5c24317cf10c0716affea85ca60d
- 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
- 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
- Day root
- 0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
- Chained
- 0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
- Published
- On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4