Show It Works

app.showitworks由 showitworks.app 發布官方發布者v1.0.0更新於 Oct 24, 2026

Verification videos for AI coding agents: record the run, upload over MCP, share a viewer link.

已驗證Streamable HTTP可網頁執行檔案與儲存知識與記憶開發者工具

概覽

AI 產生的概覽

讓助理上傳驗證用的螢幕錄影、取得可分享的觀看連結,並列出、搜尋或刪除專案內的錄影。

可以做什麼
此伺服器讓助理把驗證用的螢幕錄影上傳到 Show It Works 專案,並取得可分享的觀看連結。工具涵蓋建立與完成上傳、列出錄影(含審查者留言與觀看狀態)、依語意搜尋錄影、列出既有任務名稱,以及取得公開連結或永久刪除錄影。
適用情境
適合在需要向他人(例如審查者或儀表板檢視者)證明 AI 編碼代理確實完成某項工作時使用,讓代理錄下執行過程並產生可分享的觀看連結。若只是要記錄或整理既有錄影,也可用它列出、搜尋與管理專案內的錄影。
執行需求
需連線至遠端端點,並在 Authorization 標頭提供 Bearer API 金鑰(於 Show It Works 設定頁建立)。上傳流程需先建立上傳、再自行以 PUT 傳送完整檔案,之後才完成上傳;部分操作需要具備 video.upload 權限的專案 API 金鑰。
安裝前請注意
API 金鑰屬敏感憑證,請妥善保管,勿外洩。delete_video 會永久刪除錄影,無法復原;get_video_link 產生的公開連結在 retainUntil 到期後失效,錄影與連結也會被刪除。上傳的錄影內容會傳送至第三方服務 Show It Works。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Show It Works,將其新增到工作區。
  2. 連接 Authorization token 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/app.showitworks%2Fshow-it-works/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "show-it-works": {
      "type": "http",
      "url": "https://showitworks.app/api/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

工具

7

create_video_upload

Write title, taskName, ownerContext and publicContext in English (code en, locale en-US) — this project's language — and follow that locale for dates and numbers. The answer says so when what you sent is not in it. Leave code, identifiers, commands and file paths exactly as they appear in the repository, and leave worktreeName as the checkout's own directory name rather than translating it. This creates a direct R2 upload for an MP4 or WebM recording, filed under the project this API key belongs to. Worktree and task are public; ownerContext is shown to project members only, never through the public link; publicContext is shown only when explicitly supplied as public-safe.

輸入參數title必填byteSize必填filename必填mimeType必填taskNameownerContextworktreeNamepublicContextworkspaceName

complete_video_upload

Publish a pending recording after its direct upload finishes. Call only after create_video_upload and a successful PUT of the entire file to the returned upload URL; this tool does not upload bytes. Requires a project API key with video.upload permission. Checks the stored object's byte size, MIME type and MP4/WebM container signature, not the correctness of the work shown or the full media contents. On success, changes PENDING to READY and returns the recording; use get_video_link next to retrieve its public viewer link and report retainUntil. Anyone with that link can watch until retainUntil; delete_video can remove the recording earlier. A size, MIME type or container-signature mismatch refuses publication and initiates deletion of the uploaded object. Failure to inspect the stored object's metadata marks the recording FAILED. For either failure, create a new upload and upload the file again rather than retrying completion on that recording. Only PENDING recordings can be completed: calling again after success returns an error, so use get_video_link instead.

輸入參數videoId必填

list_videos

List the recordings in this API key's project, including dashboard reviewer comments and viewed status. Expired recordings are omitted; each row's retainUntil is when that recording and its public link are deleted, and firstViewedAt is when someone first played the public link, or null if nobody has. Ignore expiresAt, which is upload-authorization plumbing and always reads as past on a published recording.

無需輸入參數。

list_tasks

List the task names already used in this API key's project, so you can reuse an existing one instead of inventing a near-duplicate. Copy `taskName` verbatim into `create_video_upload`. Names are folded case-insensitively and on whitespace, so one entry can cover several spellings, listed as `variants`. `recordingCount` is how many recordings carry the task right now, and `untagged` counts the recordings filed under no task at all. A name is listed while at least one of its recordings is still inside its retention window — 14 to 60 days after upload depending on the project's plan — and once the last of them reaches that deadline the name goes from this list with it. `firstUsedAt`/`lastUsedAt` are upload times. Only your own uploads are counted by default; pass `mine: false` to count every project member's. Without `query`, entries come back most-recently-used first, `truncated` means more names exist than `limit` returned, and `totalTasks` says how many. Other optional filters: `taskName` (substring), `createdAfter`/`createdBefore` (ISO timestamps), `limit`. A filter narrows the recordings that are counted, so the counts and dates then describe that window rather than the project's whole history. Optional `query` instead returns the tasks of the recordings that best match a description of the work, ordered by match quality — only the best-matching recordings nominate a task, so that answer is a shortlist rather than the project's whole vocabulary, `totalTasks` and `truncated` describe just those tasks, and `untagged` is omitted. The counts and dates of a task shown that way still cover every one of its recordings, not only the matching ones. `query` matches by meaning in any language, and a query in English (code en, locale en-US) — this project's language — also matches on wording.

輸入參數minelimitquerytaskNamecreatedAftercreatedBefore

search_videos

Find recordings in this API key's project by meaning as well as by wording — describe what the session was about, or name a task, and the closest recordings come back ranked. Use it before inventing a new TASK value, to find the recordings an earlier session already filed under one. Optional filters: taskName (substring), mine (only your own uploads — unlike list_tasks, this one searches every project member's recordings unless you pass it), createdAfter/createdBefore (ISO timestamps) and limit. Expired recordings are never returned. A query in any language works, because matching is semantic; this project works in English (code en, locale en-US), and a query in that language also matches on wording, which is the more precise half.

輸入參數minelimitquery必填taskNamecreatedAftercreatedBefore

delete_video

Permanently delete a recording.

輸入參數videoId必填

版本歷史

1
  1. v1.0.0最新Sep 18, 2026

評分

已滿足適用檢查項的 72%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分

    請在註冊中心條目中發布圖示。

  • 文件15 分

    請宣告包含 README 的 GitHub 儲存庫,或在 OAuth 受保護資源後設資料中提供 resource_documentation。

  • 授權條款不適用

    託管服務按其提供方的條款使用,因此這裡不要求授權條款。此檢查項不計入百分比。