addrbookFor publishers
← The evidence ledger

Evidence row 567568

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 763584fa-fc93-4b65-967a-b43fd4e4d3a7
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
9c6aa0df789c809a54c2047b7cd5009462a53ce949e7e59ba90b980f975a1710
Leaf
0x075e92062e4997f884e51695544f6f5027f409f6220e32e622d3af06994229d6

What was observed

{
  "count": 20,
  "tools": [
    {
      "description": "Makes an editable film from a finished video ad, so its captions and end card can be changed, and returns the film and its first revision. The ad must be finished, must not already be a film, must be a video and at most 96 MiB. Free of credits.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "ad": {
            "description": "The ad id, from a finished ugcfans_make_ad job.",
            "maxLength": 128,
            "type": "string"
          }
        },
        "required": [
          "ad"
        ],
        "type": "object"
      },
      "name": "ugcfans_ad_to_film"
    },
    {
      "description": "Stops a job that has not yet reached a provider; a cancelled job is not charged. A job that is already with a provider cannot be stopped and the call says so. Free.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "job": {
            "description": "The job id a tool returned, job_...",
            "maxLength": 128,
            "type": "string"
          }
        },
        "required": [
          "job"
        ],
        "type": "object"
      },
      "name": "ugcfans_cancel_job"
    },
    {
      "description": "Opens a public web page in a sandboxed browser, records its text, pictures and layout, and returns a job whose result is a capture id. A capture is the raw material of ugcfans_make_launch_film and ugcfans_make_site_sting. Free of credits. Calling it confirms the person has the right to reuse the page's content in their own films. Only http and https pages on ports 80 and 443 can be captured.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "The address of the page, starting with https:// or http://.",
            "maxLength": 2048,
            "type": "string"
          },
          "viewport": {
            "description": "desktop captures a 1280 by 900 window (the default); phone captures 390 by 844 at twice the density.",
            "enum": [
              "desktop",
              "phone"
            ],
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "ugcfans_capture_website"
    },
    {
      "description": "Renders one revision of a film to an MP4 with a content credential, and returns a job; when it is done the result carries a link to the file. Free of credits. A film with an unresolved rendering requirement cannot be exported.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "film": {
            "description": "The film id.",
            "maxLength": 128,
            "type": "string"
          },
          "revision": {
            "description": "The revision to render.",
            "maxLength": 128,
            "type": "string"
          }
        },
        "required": [
          "film",
          "revision"
        ],
        "type": "object"
      },
      "name": "ugcfans_export_film"
    },
    {
      "description": "Finds the website of a business from its name, or reads an address. A name is searched on the web and each candidate site is read and ranked; when two sites carry the name about equally, ask is true and the person should say which is theirs. Returns each candidate's address, name, a sentence about it and the evidence for it. Free of credits.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "country": {
            "description": "The person's country as two letters, such as IN. It decides between sites that carry the same name.",
            "maxLength": 2,
            "type": "string"
          },
          "query": {
            "description": "The business's name, or its website address.",
            "maxLength": 200,
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "ugcfans_find_business"
    },
    {
      "description": "Runs up to 6 finishing operations in order on a clip of the library, each on the file the one before made: trim, reformat to another frame, burn in captions, overlay a brand logo, close with an end card, or mix in music. Returns the last job, whose result links the finished file. A call that runs past 4 minutes returns the job it is on and the operations still to run. Free of credits. The clip must already be in the library: upload footage at https://ugc.fans/library, then find its address with ugcfans_list_files. mix confirms the person may use the music file.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "operations": {
            "description": "The operations, in order.",
            "items": {
              "additionalProperties": false,
              "properties": {
                "aspect_ratio": {
                  "description": "reformat: the new frame.",
                  "enum": [
                    "9:16",
                    "1:1",
                    "16:9",
                    "4:5"
                  ],
                  "type": "string"
                },
                "brand": {
                  "description": "overlay and end_card: the id of a saved brand; overlay puts its logo in the top-right corner, and end_card uses its colours and logo.",
                  "maxLength": 128,
                  "type": "string"
                },
                "cues": {
                  "description": "captions: the lines to show, each with start and end seconds and its text.",
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "end": {
                        "description": "Seconds.",
                        "minimum": 0,
                        "type": "number"
                      },
                      "start": {
                        "description": "Seconds.",
                        "minimum": 0,
                        "type": "number"
                      },
                      "text": {
                        "description": "The line.",
                        "maxLength": 400,
                        "type": "string"
                      }
                    },
                    "required": [
                      "start",
                      "end",
                      "text"
                    ],
                    "type": "object"
                  },
                  "maxItems": 2000,
                  "type": "array"
                },
                "end": {
                  "description": "trim: where to stop, in seconds.",
                  "minimum": 0,
                  "type": "number"
                },
                "headline": {
                  "description": "end_card: the closing headline.",
                  "maxLength": 200,
                  "type": "string"
                },
                "mode": {
                  "description": "reformat: crop the picture, pad it, or follow the subject (default crop).",
                  "enum": [
                    "crop",
                    "pad",
                    "follow"
                  ],
                  "type": "string"
                },
                "music": {
                  "description": "mix: the address of the music file, out/..., which the person has the right to use.",
                  "maxLength": 512,
                  "type": "string"
                },
                "op": {
                  "description": "What to do.",
                  "enum": [
                    "trim",
                    "reformat",
                    "captions",
                    "overlay",
                    "end_card",
                    "mix"
                  ],
                  "type": "string"
                },
                "start": {
                  "description": "trim: where to start, in seconds (default 0).",
                  "minimum": 0,
                  "type": "number"
                },
                "subline": {
                  "description": "end_card: a second line.",
                  "maxLength": 200,
                  "type": "string"
                },
                "transcript": {
                  "description": "captions: the id of a transcript from ugcfans_transcribe.",
                  "maxLength": 128,
                  "type": "string"
                }
              },
              "required": [
                "op"
              ],
              "type": "object"
            },
            "maxItems": 6,
            "minItems": 1,
            "type": "array"
          },
          "source": {
            "description": "The clip's address in the library, out/...",
            "maxLength": 512,
            "type": "string"
          }
        },
        "required": [
          "source",
          "operations"
        ],
        "type": "object"
      },
      "name": "ugcfans_finish_clip"
    },
    {
      "description": "Shows the signed-in account's credits left, credits granted and spent this period, when they expire, its plan and whether the account is admitted to UGCFans. Free.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "ugcfans_get_account"
    },
    {
      "description": "Reads a business that was read: how far the reading is, its profile, and its facts with where each came from and whether it stands or waits for a yes. Optionally searches the pages for words. Free.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "business": {
            "description": "The business id from the finished ugcfans_read_business job.",
            "maxLength": 128,
            "type": "string"
          },
          "search": {
            "description": "Words to look for on the business's pages; answers the pages that hold them with a passage.",
            "maxLength": 200,
            "type": "string"
          }
        },
        "required": [
          "business"
        ],
        "type": "object"
      },
      "name": "ugcfans_get_business"
    },
    {
      "description": "Reads a finished capture: the address it ended on, the parts of the page that can go into a film (node_id, role and the first words), and whether a launch film can be made from it. Free.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "capture": {
            "description": "The capture id from the finished ugcfans_capture_website job.",
            "maxLength": 128,
            "type": "string"
          }
        },
        "required": [
          "capture"
        ],
        "type": "object"
      },
      "name": "ugcfans_get_capture"
    },
    {
      "description": "Reads where a job stands: working, done with its files as links, failed with the reason, or cancelled. Free. Works for any job the account started.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "job": {
            "description": "The job id a tool returned, job_...",
            "maxLength": 128,
            "type": "string"
          }
        },
        "required": [
          "job"
        ],
        "type": "object"
      },
      "name": "ugcfans_get_job"
    },
    {
      "description": "Lists files in the account's library, newest first: the path of each (out/...), its size and when it changed. Pictures, video, audio and fonts only. Free. Footage is added at https://ugc.fans/library; the path is what the clip and transcript tools take as source.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "limit": {
            "description": "How many files to list, newest first.",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "prefix": {
            "description": "Only paths that start with this, such as out/api/images. The default is the whole library, out.",
            "maxLength": 512,
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "ugcfans_list_files"
    },
    {
      "description": "Makes a 12-second launch film of the page's headline, button and picture from a finished capture, in the chosen frame, and returns a job. The result is an editable film; ugcfans_export_film renders it to MP4. Free of credits. A launch film has no text layers: its words are pictures of the page.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "aspect": {
            "description": "The frame: 16:9 landscape, 9:16 vertical, 1:1 square.",
            "enum": [
              "16:9",
              "9:16",
              "1:1"
            ],
            "type": "string"
          },
          "capture": {
            "description": "The capture id.",
            "maxLength": 128,
            "type": "string"
          }
        },
        "required": [
          "capture",
          "aspect"
        ],
        "type": "object"
      },
      "name": "ugcfans_make_launch_film"
    },
    {
      "description": "Makes a 12-second, 8-scene film from the page parts you choose (node_ids from ugcfans_get_capture), in the chosen frame. Unlike a launch film its page text stays as editable text, so ugcfans_set_film_words can change it. Free of credits. Returns the film and its first revision at once.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "aspect": {
            "description": "The frame: 16:9 landscape, 9:16 vertical, 1:1 square.",
            "enum": [
              "16:9",
              "9:16",
              "1:1"
            ],
            "type": "string"
          },
          "capture": {
            "description": "The capture id.",
            "maxLength": 128,
            "type": "string"
          },
          "key_phrase": {
            "description": "A phrase of the chosen text to feature. It must appear in the chosen parts.",
            "maxLength": 200,
            "type": "string"
          },
          "node_ids": {
            "description": "The node_id of each part to include, from ugcfans_get_capture.",
            "items": {
              "description": "A node_id.",
              "maxLength": 200,
              "type": "string"
            },
            "maxItems": 100,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "capture",
          "node_ids",
          "aspect"
        ],
        "type": "object"
      },
      "name": "ugcfans_make_site_sting"
    },
    {
      "description": "Reads a business's website page by page (up to 25 pages) and writes its profile (business.md, every line with the page it came from) and its canonical facts (name, logo, colours, tagline, products with prices, claims; each with its page, and held for a yes where pages disagree or a claim has no proof). Returns a job whose result is a business id; read it with ugcfans_get_business. Free of credits.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "description": "The business's website address.",
            "maxLength": 2048,
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "ugcfans_read_business"
    },
    {
      "description": "Saves the facts that stand (taken from the site, or confirmed by the person) as a brand kit and products with their pictures, and keeps business.md and facts.json in the library for later makers. Facts that wait for a yes are not saved. Free.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "business": {
            "description": "The business id from the finished ugcfans_read_business job.",
            "maxLength": 128,
            "type": "string"
          }
        },
        "required": [
          "business"
        ],
        "type": "object"
      },
      "name": "ugcfans_save_business"
    },
    {
      "description": "Lists the ad templates, ad features and creation modes UGCFans offers, each with its slug, name and a sentence on what it makes. Free, and needs no sign-in. A template slug goes into ugcfans_make_ad as template; a feature slug as feature.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "query": {
            "description": "Words to look for in names and descriptions, such as \"testimonial\" or \"product video\". Leave out to list everything.",
            "maxLength": 200,
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "ugcfans_search_templates"
    },
    {
      "description": "Changes text in a film: every text layer whose words contain find gets replace, and the result is saved as a new revision; the earlier revision stays as it was. Films made by ugcfans_make_launch_film have no text layers, so nothing changes in them. Free of credits.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "film": {
            "description": "The film id.",
            "maxLength": 128,
            "type": "string"
          },
          "replacements": {
            "description": "Pairs of words to find and what to put in their place, applied in order.",
            "items": {
              "additionalProperties": false,
              "properties": {
                "find": {
                  "description": "The words to find.",
                  "maxLength": 400,
                  "minLength": 1,
                  "type": "string"
                },
                "replace": {
                  "description": "The words to put in their place.",
                  "maxLength": 400,
                  "type": "string"
                }
              },
              "required": [
                "find",
                "replace"
              ],
              "type": "object"
            },
            "maxItems": 20,
            "minItems": 1,
            "type": "array"
          },
          "revision": {
            "description": "The revision to edit.",
            "maxLength": 128,
            "type": "string"
          }
        },
        "required": [
          "film",
          "revision",
          "replacements"
        ],
        "type": "object"
      },
      "name": "ugcfans_set_film_words"
    },
    {
      "description": "Makes a link that opens one file of the library for anyone who holds it, without signing in. A link lasts 6 hours; a showcase page, which carries the Made with UGCFans badge, lasts 30 days. Free. Anyone with the link can see the file until it expires.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "kind": {
            "description": "link opens the file itself (default); showcase is a page that shows it.",
            "enum": [
              "link",
              "showcase"
            ],
            "type": "string"
          },
          "path": {
            "description": "The file's address in the library, out/...",
            "maxLength": 512,
            "type": "string"
          }
        },
        "required": [
          "path"
        ],
        "type": "object"
      },
      "name": "ugcfans_share_file"
    },
    {
      "description": "Writes out the words of an audio or video file in the library, up to 10 minutes long, with the built-in speech model, and returns a job; when it is done the result has the transcript id, its text, the language and the length. The transcript id feeds the captions operation of ugcfans_finish_clip. Free of credits. Upload footage at https://ugc.fans/library first, then find its address with ugcfans_list_files.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "source": {
            "description": "The file's address in the library, out/...",
            "maxLength": 512,
            "type": "string"
          }
        },
        "required": [
          "source"
        ],
        "type": "object"
      },
      "name": "ugcfans_transcribe"
    },
    {
      "description": "Waits up to 45 seconds for a job to finish and reports where it stands, as ugcfans_get_job does. It returns as soon as the job ends. Free.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "job": {
            "description": "The job id a tool returned, job_...",
            "maxLength": 128,
            "type": "string"
          },
          "seconds": {
            "description": "How long to wait at most, up to 45 (default 45).",
            "maximum": 45,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "job"
        ],
        "type": "object"
      },
      "name": "ugcfans_wait_job"
    }
  ]
}

What the leaf hashes

{"body":"9c6aa0df789c809a54c2047b7cd5009462a53ce949e7e59ba90b980f975a1710","id":567568,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793138774273511,"prev":null,"subject":"763584fa-fc93-4b65-967a-b43fd4e4d3a7","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).

  1. 0x075e6e24e0399b8e4de9ba0d02a3d56154dedcbe8af3eecf61918e819bd86dc6
  2. 0xf2d405cceae2bd4e3d1baef29317cc4700443c54a6ac5952b410e8740b6e161d
  3. 0xe18dcb56660f2fd53357326aeac84230eae1b870c9b3b801ca63c0863a313702
  4. 0x6dc728d236eb02ac0d754785dbd094c22f82c201cbce6a894d290e77b31ecb89
  5. 0x63bc7f8c428d53405a510eddd5a6c1e733af0183764ba8426a71f38574eac19f
  6. 0x012e79fcd8d3383a680ea4ca4c570a22886cae28212de45bb8421daaeb4608af
  7. 0xa27def572b19a34b81a0ec8e995d8cef09a541987ec685bf75a38c7c2bb920a1
  8. 0x32d572b7fdf2b27e5e7f09d29c31715a7f4578e29aba155c5efaa08c8c5133ae
  9. 0x975bd2d60d763c2a3813b33ba4ca96ad373abb710769e6a2d34a5f24cdf5340c
  10. 0xab20ea65b3d1d1695f3ec1ed472b124c0c34eec77e67077c24d8608443e280fc
  11. 0x14706fe5aa0e5f3898d45e678cf7ad8e049f525b3abf19494b1e25108e6f0c2d
  12. 0x83ecdc3f438927cf48db4a55310f9dfd15d99a4a97bbb753d7d44af98599978f
  13. 0x7e8c79bd0dee073006d03de64eaf1047d3bfd30041ac4fc765479ffd5a092e62
  14. 0x29e12cb67839430fa64ab8bd05d52bab606f2978d9e6d2fb094fece9438fd4de
  15. 0x2cf27e8a181d60d0dd27c186c2eddfcbb4e8fa71cf66feeb55a4d730e15ee8c4
  16. 0x518b93854db03dc9fc938883abf30da6eaae5ae0d4336903968fd32a7df8c71b
  17. 0x22c1fb9487ee0b9732fa017a0cc321eb27a60c08450d112f755089796e12cb1c
  18. 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON