Transcribe Mcp

io.github.Soboljem由 GitHub 帳號 Soboljem 發布v0.1.1更新於 Oct 27, 2026

Transcribe audio/video and find dead air. Pay-per-call in USDC over x402 — no account, no key.

發布方自己的服務:Transcribe

概覽

AI 產生的概覽

本機 MCP 伺服器:轉錄音訊與影片、找出靜音片段、把網頁轉成 markdown,依每次呼叫以自有錢包中的 USDC 付費。

可以做什麼
  • 把公開音訊或影片網址、或本機音訊檔轉錄成文字、時間軸與偵測到的語言
  • 依字幕或時間軸找出可剪掉的靜音區段並估算可節省比例
  • 抓取網頁並轉成乾淨的 markdown,可選擇渲染 JavaScript 頁面
  • 免費查詢價格、限制與付款方式
  • 把大型結果存成新的 JSON 檔案,讓回覆保持簡短
適用情境
適合需要轉錄文字、為剪輯找出靜音片段或取得網頁正文的情況,且希望按次支付幾分錢而不必註冊 API 金鑰。較適合偶發的循序任務,而非高併發的大量使用。
執行需求
透過 npx 在本機執行,需要 Node 20+;影片流程另需 ffmpeg。付費工具需要環境變數 TRANSCRIBE_MCP_WALLET_KEY 提供持有少量 Base 鏈 USDC 的錢包私鑰,未設定也能啟動並查看價格。需要連線至服務商端點的網路。Windows 上需以 cmd 包裝 npx。
安裝前請注意
需要把錢包私鑰交給伺服器,應使用只放少量資金的專用錢包,不要用主錢包。每次付費呼叫都會花費 USDC;逾時或結果不確定後再次呼叫會再次付費,請先確認錢包。音訊、時間軸、文字與網頁網址會傳送給第三方服務;音訊不儲存,但結果會短暫保留,且銷售紀錄(含錢包位址與交易雜湊)不會自動刪除。每個錢包同時只能有一個付費呼叫。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Transcribe Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

transcribe-mcp

Read web pages as clean markdown, transcribe audio and video, and find the silence worth cutting — from any MCP client. No account, no API key, no subscription. Your agent pays a fraction of a cent per call, in USDC, straight from a wallet you control.

json
{  "mcpServers": {    "transcribe": {      "command": "npx",      "args": ["-y", "transcribe-mcp@latest"],      "env": { "TRANSCRIBE_MCP_WALLET_KEY": "0x..." }    }  }}

On Windows, MCP clients can't start npx directly, so wrap it: "command": "cmd", "args": ["/c", "npx", "-y", "transcribe-mcp@latest"].

That is the whole setup. There is nothing to sign up for. It needs Node 20+. The video skill also needs ffmpeg.

One paid call at a time per wallet. The shop refuses a second paid request while one is still running (free, with "already in flight"). Call it sequentially, never in parallel.

Tools

toolwhat it doesprice
transcribe_urla public audio/video url or a local audio file → text, timings, detected language$0.05
find_dead_airsubtitles or timings (inline, or from_file a .json) → the spans worth cutting, and what you'd save$0.002
fetch_pagea web page → clean markdown, links resolved. render: true for JavaScript pages$0.005
shop_infoprices, limits and how payment worksfree

find_dead_air eats exactly what transcribe_url returns, so the two chain: transcribe a talk, then cut the silence out of it.

"cuts": [{ "from": 2.55, "to": 10.85, "seconds": 8.3, "reason": "silence" }],"stats": { "sourceSeconds": 20, "speechSeconds": 5.05, "wouldSavePercent": 74.75 }

transcribe_url and find_dead_air take save_to: an absolute path to a new .json file. The full result goes there and the reply is one line plus the receipt, so an hour of transcripts never floods your agent's context. It never overwrites a file, and a missing folder is refused before paying.

Cutting a whole video

For cutting a whole video end to end — split, transcribe, cut, synced subtitles — there is a ready agent skill in skills/dead-air-cutter.

What leaves your machine

  • transcribe_url: the url, or the bytes of the file (audio only — .mp3 .wav .m4a .aac .ogg .opus .oga .flac; a video is refused, extract its audio with ffmpeg first).
  • find_dead_air: the timings and text — from from_file, only start, end, text of each segment plus durationSeconds are sent, whatever else the file holds. If the file has a vtt field instead, that subtitle text is sent whole.
  • fetch_page: the page URL.

This server talks only to https://transcribe.soboljem.cz. What the shop does with it, from its terms:

  • Audio is never stored. It is transcribed by Cloudflare Workers AI and passes through Cloudflare's infrastructure.
  • The result is kept briefly, up to about 8 hours. It is replayable for 15 minutes, then deleted by a sweep that runs four times a day. The replay is a shop-side safeguard that this client cannot use: every call signs a new payment. After a timeout or a "may have been charged" reply, check the wallet. Calling again pays again.
  • A row per sale is kept with no automatic deletion: time, price, audio length, word and cut counts, the source hostname (never the full URL), and the paying wallet address and transaction hash, which are public on Base anyway. Ask via the terms page to have rows deleted.
  • Payment settles through the PayAI facilitator on Base. On each sale, the shop owner gets a Telegram notification with the shortened payer address and source hostname.

The private key in TRANSCRIBE_MCP_WALLET_KEY never leaves the machine. It only signs.

Why pay-per-call instead of an API key

Because an agent cannot fill in a signup form. x402 is an HTTP-native payment: the server answers 402 Payment Required with a price, the client pays it, the request goes through. No dashboard, no key rotation, no minimum, no monthly bill. If you never call it, you never pay anything.

Settlement is USDC on Base (eip155:8453).

Running it without a wallet

It starts fine. shop_info answers, tools/list works, and the paid tools tell you what to set. Look before you fund anything.

What it will not do

  • It will not overspend. Every call is filtered through a $0.10 ceiling; a quote above it is dropped and the client refuses to pay rather than guessing.
  • It will not charge you for a refusal. Bad arguments are caught locally and never leave your machine. The shop is built not to settle error responses; that was verified on testnet (see its terms).
  • It will not tell you "no charge" when it cannot know. If the connection drops mid-call, it says a payment may have gone out and to check the wallet before calling again.
  • It will not lie about a sale. If the settlement header is missing, it says so instead of reporting a payment it cannot prove.

Files are capped at 800 KB. Oversized ones are refused for free, before payment. A local file is sent to the shop as bytes, so nothing has to be hosted first. For anything long, extract the audio small and split it — mono Opus at 16 kbps fits ~6 minutes per call:

ffmpeg -i talk.mp4 -vn -ac 1 -c:a libopus -b:a 16k -f segment -segment_time 360 part%03d.opus

Configuration

variablemeaning
TRANSCRIBE_MCP_WALLET_KEYprivate key of a wallet holding a little USDC on Base. Required only for the paid tools.

Use a dedicated wallet with a few dollars in it, not your main one. This is true of every tool you hand a private key to, and it is true here.

Tests

npm test

MIT.

來源:README.md,提交 ba83615

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

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

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Transcribe 整合