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 集成