addrbookFor publishers
← The evidence ledger

Evidence row 520434

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint ff42a6ce-bed6-4245-b710-87c778c04df0
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
20ee412e86fc49abba46556117b5e2d45fe66fd6450fe0e74f4ee46ac616fc8f
Leaf
0x92a3b965cf59a3da7c227cf591efe69acd3065b036654d5aa1bfc121aa8d1a1d

What was observed

{
  "count": 25,
  "tools": [
    {
      "description": "Whether an editor tab is listening for this project. If not, returns the link the user must open. Editing, frames and export need it.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project id from list_projects or create_project",
            "type": "string"
          }
        },
        "required": [
          "project"
        ],
        "type": "object"
      },
      "name": "connect_editor"
    },
    {
      "description": "Start an empty project. format: 16:9 (YouTube), 9:16 (TikTok, Reels, Shorts), 1:1, 4:5 or 21:9; or give width and height. Returns the id and the link the user opens so you can edit it.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "format": {
            "enum": [
              "16:9",
              "9:16",
              "1:1",
              "4:5",
              "21:9"
            ],
            "type": "string"
          },
          "height": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "width": {
            "type": "integer"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "create_project"
    },
    {
      "description": "Run one or more ops from list_edit_ops in order, as one undo step. Returns what changed (or why an op failed) and the new timeline. Times are seconds; clip ids come from get_project. Ops that only measure (loudness, scopes) return their data here too.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "actions": {
            "items": {
              "properties": {
                "args": {
                  "type": "object"
                },
                "op": {
                  "type": "string"
                }
              },
              "required": [
                "op"
              ],
              "type": "object"
            },
            "maxItems": 40,
            "minItems": 1,
            "type": "array"
          },
          "confirm": {
            "description": "Set true to run ops that normally wait for a person’s click (delete everything, share).",
            "type": "boolean"
          },
          "project": {
            "description": "Project id from list_projects or create_project",
            "type": "string"
          }
        },
        "required": [
          "project",
          "actions"
        ],
        "type": "object"
      },
      "name": "edit_project"
    },
    {
      "description": "Render the project to MP4 in the user’s editor, save it to their library and return a share link. Takes about as long as the video, so this returns a job id at once: poll get_job. The plan’s limits apply (Free: 1080p with a watermark).",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "fps": {
            "enum": [
              24,
              25,
              30,
              50,
              60
            ],
            "type": "integer"
          },
          "project": {
            "description": "Project id from list_projects or create_project",
            "type": "string"
          },
          "quality": {
            "enum": [
              "standard",
              "high"
            ],
            "type": "string"
          },
          "resolution": {
            "enum": [
              720,
              1080,
              1440,
              2160
            ],
            "type": "integer"
          },
          "share": {
            "description": "Also make a public watch link (default true)",
            "type": "boolean"
          }
        },
        "required": [
          "project"
        ],
        "type": "object"
      },
      "name": "export_video"
    },
    {
      "description": "Find animated video templates by keyword, format (9:16 for TikTok/Reels/Shorts, 1:1, 4:5, 16:9 for YouTube), category (Trending formats, Social posts, Hooks & intros, Lists & tips, Tutorials & courses, Stats & data, Quotes & stories, Sales & business, Real estate, Construction, Medical & health, Product & launch, Creators, Food & drink, Fitness & wellness, Fashion & beauty, Travel, Music & nightlife, Events, Holidays, Education & school, Kids & family, Gaming & esports, Tech & SaaS, Finance & money, Cars & automotive, Sports, Pets & animals, Home & interior, Hotels & hospitality, Nonprofit & causes, Local services, News & media, Weddings & love, Corporate & HR, Memes & humor, Faith & spirituality, Science & nature, Art & photography, Books & writing, Film & entertainment, Government & public info, 中文 · Chinese, हिन्दी · Hindi, Español · Spanish, عربي · Arabic, Français · French, বাংলা · Bengali, Português · Portuguese, Русский · Russian, Bahasa Indonesia · Indonesian, اردو · Urdu, Deutsch · German, 日本語 · Japanese, Türkçe · Turkish, 한국어 · Korean) or language (en, zh, hi, es, ar, fr, bn, pt, ru, id, ur, de, ja, tr, ko). Each result has an \"open\" link that loads it in the editor.",
      "inputSchema": {
        "properties": {
          "arabic": {
            "description": "true: Arabic right-to-left templates only",
            "type": "boolean"
          },
          "category": {
            "type": "string"
          },
          "format": {
            "enum": [
              "9:16",
              "1:1",
              "4:5",
              "16:9"
            ],
            "type": "string"
          },
          "language": {
            "description": "only templates written in this language",
            "enum": [
              "en",
              "zh",
              "hi",
              "es",
              "ar",
              "fr",
              "bn",
              "pt",
              "ru",
              "id",
              "ur",
              "de",
              "ja",
              "tr",
              "ko"
            ],
            "type": "string"
          },
          "limit": {
            "default": 20,
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "query": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "find_templates"
    },
    {
      "description": "Status (queued, running, done, failed) and result of an export or any call that answered \"running\".",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "job": {
            "type": "string"
          }
        },
        "required": [
          "job"
        ],
        "type": "object"
      },
      "name": "get_job"
    },
    {
      "description": "Loudness over time of a library video or sound file: RMS in dBFS per step (−100 = silence), the quiet stretches (pauses, dead air) and the loudest moments (a clap, laughter, applause), all in seconds of the file. Finds where the talking is without transcribing. Free. A long file takes a while the first time: it may answer with a job id (poll get_job).",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "from": {
            "type": "number"
          },
          "media": {
            "description": "Media id from list_media, or the file name",
            "type": "string"
          },
          "project": {
            "description": "Project id from list_projects or create_project",
            "type": "string"
          },
          "step": {
            "description": "Seconds per reading (default: about 300 readings)",
            "type": "number"
          },
          "to": {
            "type": "number"
          }
        },
        "required": [
          "project",
          "media"
        ],
        "type": "object"
      },
      "name": "get_media_levels"
    },
    {
      "description": "The words said in a library video or sound file, in lines with their times in the file (seconds), whether or not it is on the timeline. COST: a stretch that was not heard before is transcribed now with the user’s AI time (paid plans): one AI minute per minute of sound, silence is free. What was heard is kept, so asking again, or captioning the file once it is on the timeline, costs nothing more — the result says how many AI seconds this call used and which stretches are known. Give from / to to listen to part of a long file (get_media_levels shows where there is sound, for free). A long stretch answers with a job id: poll get_job.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "from": {
            "description": "Seconds into the file (default: its start)",
            "type": "number"
          },
          "language": {
            "description": "Spoken language code such as en, ar, es (default: detect)",
            "type": "string"
          },
          "media": {
            "description": "Media id from list_media, or the file name",
            "type": "string"
          },
          "project": {
            "description": "Project id from list_projects or create_project",
            "type": "string"
          },
          "to": {
            "description": "Seconds into the file (default: its end)",
            "type": "number"
          }
        },
        "required": [
          "project",
          "media"
        ],
        "type": "object"
      },
      "name": "get_media_transcript"
    },
    {
      "description": "Read any CutLuma content page as Markdown: \"/\" (overview, plans, features), \"/tools\", \"/tools/<slug>\", \"/video-editor\", \"/video-editor/<slug>\", \"/guides\", \"/guides/<slug>\", \"/templates\", \"/templates/<id>\".",
      "inputSchema": {
        "properties": {
          "path": {
            "description": "Path such as /guides/social-media-video-sizes",
            "type": "string"
          }
        },
        "required": [
          "path"
        ],
        "type": "object"
      },
      "name": "get_page"
    },
    {
      "description": "Current CutLuma plans with price, billing interval, limits and what each includes. The editor is free; AI features are part of the paid plans.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "get_pricing"
    },
    {
      "description": "Tracks (top to bottom) and every clip with id, kind, start and duration in seconds, as last saved. Use before editing. full=true also lists caption clips.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "full": {
            "type": "boolean"
          },
          "project": {
            "description": "Project id from list_projects or create_project",
            "type": "string"
          }
        },
        "required": [
          "project"
        ],
        "type": "object"
      },
      "name": "get_project"
    },
    {
      "description": "Details of a video shared with a CutLuma link (cutluma.com/watch?v=…): title, kind, size, length, direct file, embed and thumbnail URLs.",
      "inputSchema": {
        "properties": {
          "url": {
            "description": "The share link",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "get_shared_video"
    },
    {
      "description": "The spoken words of the project’s clips placed on the timeline (start/end in seconds), when the clips have been transcribed. If this is empty, get_media_transcript transcribes a file (also one that is not on the timeline yet), or run the addCaptions op.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project id from list_projects or create_project",
            "type": "string"
          }
        },
        "required": [
          "project"
        ],
        "type": "object"
      },
      "name": "get_transcript"
    },
    {
      "description": "The full catalogue of ops the open editor can run (name, arguments, meaning): text, captions, trims, colour grading, sound, effects, AI tools… Call once per session before edit_project.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "project": {
            "description": "Project id from list_projects or create_project",
            "type": "string"
          }
        },
        "required": [
          "project"
        ],
        "type": "object"
      },
      "name": "list_edit_ops"
    },
    {
      "description": "All 68 single-purpose tools (captions, screen recorder, resize, trim, remove silence, add music, green screen, GIF maker…) with what each does, whether it is free or part of the paid plans, and the link that opens it.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "list_free_tools"
    },
    {
      "description": "Videos, images and sounds the user has uploaded or recorded: id, name, kind, duration. Put one on the timeline with the addMedia op.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "kind": {
            "enum": [
              "video",
              "image",
              "audio"
            ],
            "type": "string"
          },
          "limit": {
            "maximum": 200,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "list_media"
    },
    {
      "description": "The signed-in user's CutLuma projects, newest first, with ids, sizes and durations. Needs the user's sign-in or an agent key.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "limit": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "list_projects"
    },
    {
      "description": "A link the user can open to start right away in the CutLuma editor with a tool or template ready. tool is one of: captions, record, resize, silence, shorts, product, testimonials, trim, text, music, montage, camera, voice, speed, tts, translate, greenscreen, cutout, prompter, stock, textvideo, magicdesign, aiimage, bgremove, magicedit, visualizer, charts, industry, effects, translatedesign, localize, transcript, dub, publish, present, open, subtitles, textbehind, tracking, subjectfx, colorchange, freezeintro, guide, hub, narration, agent, grade, mixer, multicam. language is a two-letter code for captions (e.g. \"ar\", \"es\"). With neither, a blank project opens.",
      "inputSchema": {
        "properties": {
          "language": {
            "pattern": "^[a-z]{2}$",
            "type": "string"
          },
          "template": {
            "description": "Template id from find_templates",
            "type": "string"
          },
          "tool": {
            "enum": [
              "captions",
              "record",
              "resize",
              "silence",
              "shorts",
              "product",
              "testimonials",
              "trim",
              "text",
              "music",
              "montage",
              "camera",
              "voice",
              "speed",
              "tts",
              "translate",
              "greenscreen",
              "cutout",
              "prompter",
              "stock",
              "textvideo",
              "magicdesign",
              "aiimage",
              "bgremove",
              "magicedit",
              "visualizer",
              "charts",
              "industry",
              "effects",
              "translatedesign",
              "localize",
              "transcript",
              "dub",
              "publish",
              "present",
              "open",
              "subtitles",
              "textbehind",
              "tracking",
              "subjectfx",
              "colorchange",
              "freezeintro",
              "guide",
              "hub",
              "narration",
              "agent",
              "grade",
              "mixer",
              "multicam"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "make_editor_link"
    },
    {
      "description": "Search CutLuma's free online video tools, \"video editor for <platform>\" pages, how-to guides (video sizes, subtitles, screen recording, shorts…), the video business playbooks (how to earn from video: clipping, YouTube, UGC, courses, podcasts…) and 5030 animated video templates. Returns matching pages with links, a Markdown URL for the full text and, where it applies, a link that opens the editor with that tool or template ready.",
      "inputSchema": {
        "properties": {
          "kind": {
            "default": "all",
            "description": "\"guide\" covers the how-to guides and the video business playbooks",
            "enum": [
              "all",
              "tool",
              "use",
              "guide",
              "template"
            ],
            "type": "string"
          },
          "limit": {
            "default": 10,
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "query": {
            "description": "What the user wants to do or find, e.g. \"add Arabic subtitles\", \"TikTok size\", \"sale template\"",
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "search_cutluma"
    },
    {
      "description": "CutLuma's series of researched guides on earning money with video (start here, service business, channel business, platform income, platform payouts, retainer service, local service, digital product, commission income, audience business, localization service, ad creative, operating system, lead generation). Without arguments: every part with its business model, key facts and takeaways. With \"topic\": the parts that match (e.g. \"clipping\", \"YouTube pay\", \"UGC\", \"real estate\", \"course\", \"affiliate\", \"podcast\", \"translate\"). Each part cites its sources; read the full text with get_page. Figures are published ranges and worked examples, not promises of income.",
      "inputSchema": {
        "properties": {
          "topic": {
            "description": "Optional: what the user wants to earn from or which model they ask about",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "video_business_playbooks"
    },
    {
      "description": "Recommended aspect ratio and pixel size for YouTube, Shorts, TikTok, Instagram Reels/Stories/feed, Facebook, LinkedIn and X, with safe-zone advice for vertical video.",
      "inputSchema": {
        "properties": {
          "platform": {
            "description": "Optional filter, e.g. \"tiktok\", \"instagram reels\", \"youtube\"",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "video_size_guide"
    },
    {
      "description": "A grid of frames across the project (or between from and to), each stamped with its time. The quickest way to review an edit. Give times to see exact moments instead (both sides of every cut, say); give clip to see one clip alone across its length.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "clip": {
            "description": "A clip id from get_project (or part of its name): show that clip alone",
            "type": "string"
          },
          "count": {
            "maximum": 16,
            "minimum": 2,
            "type": "integer"
          },
          "from": {
            "type": "number"
          },
          "project": {
            "description": "Project id from list_projects or create_project",
            "type": "string"
          },
          "times": {
            "description": "Exact times in seconds to show, instead of from / to / count",
            "items": {
              "type": "number"
            },
            "maxItems": 16,
            "type": "array"
          },
          "to": {
            "type": "number"
          }
        },
        "required": [
          "project"
        ],
        "type": "object"
      },
      "name": "view_contact_sheet"
    },
    {
      "description": "The composited picture at a time, as a JPEG, so you can check framing, text, colour and layout. Moves the playhead there. With clip, that one clip alone (its crop, grade and effects, nothing in front of it or behind it) — also the way to see a multicam angle that is not on air.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "clip": {
            "description": "A clip id from get_project (or part of its name): show that clip alone",
            "type": "string"
          },
          "project": {
            "description": "Project id from list_projects or create_project",
            "type": "string"
          },
          "time": {
            "description": "Seconds from the start",
            "type": "number"
          },
          "width": {
            "description": "Picture width in pixels (default 640)",
            "maximum": 1280,
            "minimum": 160,
            "type": "integer"
          }
        },
        "required": [
          "project",
          "time"
        ],
        "type": "object"
      },
      "name": "view_frame"
    },
    {
      "description": "A contact sheet of a video in the media library (or the picture itself, for an image): frames across the file, each stamped with its time in the file, without putting it on the timeline. Use it to find the part worth using in a long recording: look at the whole file, then closer with from / to, then view_media_frame for one moment. Runs in the open editor.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "count": {
            "maximum": 16,
            "minimum": 2,
            "type": "integer"
          },
          "from": {
            "description": "Seconds into the file",
            "type": "number"
          },
          "media": {
            "description": "Media id from list_media, or the file name",
            "type": "string"
          },
          "project": {
            "description": "Project id from list_projects or create_project",
            "type": "string"
          },
          "times": {
            "description": "Exact times in the file to show",
            "items": {
              "type": "number"
            },
            "maxItems": 16,
            "type": "array"
          },
          "to": {
            "type": "number"
          }
        },
        "required": [
          "project",
          "media"
        ],
        "type": "object"
      },
      "name": "view_media"
    },
    {
      "description": "One frame of a library video at a time in the file (or a library image), as a JPEG: the file itself, with no crop, grade or titles.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "media": {
            "description": "Media id from list_media, or the file name",
            "type": "string"
          },
          "project": {
            "description": "Project id from list_projects or create_project",
            "type": "string"
          },
          "time": {
            "description": "Seconds into the file",
            "type": "number"
          },
          "width": {
            "description": "Picture width in pixels (default 640)",
            "maximum": 1280,
            "minimum": 160,
            "type": "integer"
          }
        },
        "required": [
          "project",
          "media"
        ],
        "type": "object"
      },
      "name": "view_media_frame"
    }
  ]
}

What the leaf hashes

{"body":"20ee412e86fc49abba46556117b5e2d45fe66fd6450fe0e74f4ee46ac616fc8f","id":520434,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793122876415679,"prev":null,"subject":"ff42a6ce-bed6-4245-b710-87c778c04df0","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. 0x92a3e228d0abf4d16bf8b0270e54fa590eca00a5a5b0ed4517782a7c93e84d38
  2. 0x114c8b872946c4b77ce1bd8b1a7cd53485a3d9409acde4cbee4c611f2d0e5c88
  3. 0x8abfc45782c3a3343eaa2ef39616746ae3c4a5dd7105a6ff448d841f17fe8341
  4. 0xb35ddcd43ba387787ed390ee7c4d0e23dfbf3863ba2e96eb7b0502c7655834f3
  5. 0x7a311d1a2c571cd336e24a69f084743bb11558c22d41042ab5798fe87174710f
  6. 0x102c749e870a15f549c6859767edfbbd4c1dd85866bc937eaf5073726cb40ea2
  7. 0xbf1ff6fb8b85b8a694e1d9baa6cd8408d662c75a615b901f37cd7016bc021b35
  8. 0x01b3fe831985b55a847ce5b1461e2e8308578f72990177e24179b5e22dc0064c
  9. 0x293f01611b23cbc195c698e1b6da859b9a7eb5087d5fdd1826f5ae00b36de639
  10. 0x7e5a8f23540a226d2fbd04d99653f676d7160a31ab1e9a64b8fa12fd0ed9e2ec
  11. 0x223b6ff70aa897a0d2181f63f8038457f6caafaff29251cc49e8dd36940a8514
  12. 0x21b50531db6db8c65523fd5559cda8006afb66474d66107f3c29e6cd41ec3fbe
  13. 0x59c5c792b40d9054ce2b84a60af97fa54f2e1a2a369a6a52dc3f45de41128e97
  14. 0xa3c9c760ee424c178bab782711c2b9d3e15a80a6fde99165972cb75b306bb8b4
  15. 0xb4f7223140c8a36cb87a63d77cf617086d9968dc4658f03e102571ebe06e9ed6
  16. 0xfecf3d4646dd4984a13dd715499e842c3fde63692336d97394c2bfd8e877ca5d
  17. 0xf30fddbf4811226c58e8f0daf36fddd79fc5f1356b592bb1d99a8061ddbabe66
  18. 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON