Recapfy

io.github.pedrot95dev由 GitHub 账号 pedrot95dev 发布v0.1.8更新于 Oct 24, 2026

Ask about a YouTube video or fetch its transcript. Paid per call in USDC on Solana via x402.

已验证STDIO仅桌面金融媒体与设计

概览

AI 生成的概览

本地 MCP 服务器,让助手就某个 YouTube 视频提问或获取带时间戳的字幕,每次调用以 Solana 上的 USDC 付费。

可以做什么
就某个 YouTube 视频提问并获取文字回答,可限制回答长度,该长度会影响单次价格(ask)。获取视频完整字幕,以带时间戳的分段形式返回,并附带标题、频道名和时长(get_transcript)。每次调用在返回结果前通过 x402 支付协议自动以 Solana 上的 USDC 结算。
适用场景
适合希望助手在不观看视频的情况下总结、提问或引用某个 YouTube 视频内容,并愿意从 Solana 钱包支付少量单次费用的场景。适用于 Claude Desktop、Cursor、Cline 等桌面 MCP 客户端。
运行要求
通过 npx 在本地运行,需要 Node.js 20 或更高版本,没有托管端点。需要一个在 Solana 主网上持有 USDC 的钱包,并在 SVM_PRIVATE_KEY 环境变量中提供其 base58 编码的 64 字节私钥。可选的 RECAPFY_API_BASE_URL 和 RECAPFY_ALLOW_INSECURE_TLS 仅用于本地开发。需要能访问 Recapfy API 的网络。
安装前请注意
SVM_PRIVATE_KEY 是能授权付款的真实钱包签名私钥,请使用专用的低余额钱包,切勿泄露或提交到代码库。每次调用工具都会花费 USDC,ask 的价格随 maxOutputTokens 动态变化,请合理设置该值。视频链接和提问内容会发送到 Recapfy API。RECAPFY_ALLOW_INSECURE_TLS 会削弱 TLS 校验,除本地开发外应保持关闭。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Recapfy,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Recapfy MCP

An MCP server that exposes Recapfy's paid endpoints as tools — ask anything about a YouTube video and fetch a video's full transcript — straight from an MCP-capable agent like Claude Desktop, Cursor, or Cline. It runs locally — there's no hosted Recapfy MCP endpoint; you launch your own copy.

Each call is paid in USDC on Solana (dynamic price, scales with maxOutputTokens), settled automatically via the x402 protocol. You bring your own wallet; you pay only for what you call.

📦 npm: recapfy-mcp

Prerequisites

  • Node.js ≥ 20.
  • A Solana wallet funded with USDC on mainnet. You do not need SOL for fees — the API's facilitator sponsors the network fee.
  • That wallet's secret key, base58-encoded (the 64-byte form that Phantom's "Export Private Key" gives you, or solana-keygen).

⚠️ The key signs real payments. Use a dedicated low-balance wallet, never share it, and never commit it.

Install

No clone or build needed. Add this to your MCP client config (Claude Desktop: claude_desktop_config.json) and restart the client:

jsonc
{  "mcpServers": {    "recapfy": {      "command": "npx",      "args": ["-y", "recapfy-mcp@latest"],      "env": {        "SVM_PRIVATE_KEY": "<your base58 Solana secret key>"      }    }  }}

Always use recapfy-mcp@latest. A bare npx -y recapfy-mcp reuses whatever is in npx's cache and never re-checks the registry, so you can stay pinned to an old build (and miss new tools) indefinitely. The @latest tag forces npx to resolve the newest published version on every launch.

Updating

New versions (including new tools/endpoints) are picked up automatically when two things happen, because of two independent caches:

  1. npx package cache — using recapfy-mcp@latest (as above) makes npx fetch the newest published version each launch. Without @latest, npx serves the cached copy and you stay on an old build.
  2. MCP client tool list — clients read the server's tool list once per session. New tools only appear after you fully restart the MCP client (Claude Desktop, Cursor, Cline, …) so it relaunches the server and re-reads the tools.

So after a release: keep @latest and restart your client. If a brand-new tool still doesn't show up, force a clean fetch:

bash
npx clear-npx-cache    # or: rm -rf "$(npm config get cache)/_npx"

then restart the client again.

Configuration

VariableRequiredDescription
SVM_PRIVATE_KEYyesBase58-encoded Solana secret key. Pays per call. Keep it funded.
RECAPFY_API_BASE_URLnoOverride the API base URL (defaults to https://api.recapfy.ai). For local dev.
RECAPFY_ALLOW_INSECURE_TLSnoSet to 1 to accept self-signed TLS (local dev over https only).

Tool: ask

InputTypeRequiredDescription
videoUrlstringyesAbsolute http(s) URL of the YouTube video.
promptstringyesWhat to ask about the video.
maxOutputTokensintegernoMax tokens in the answer (default 1024). Drives the dynamic price.

Returns the agent's answer as text. Payment is settled before the answer returns. The per-call price is dynamic: the API quotes the USDC amount in the 402 challenge based on maxOutputTokens, and your wallet pays whatever is quoted — so keep maxOutputTokens sensible.

Tool: get_transcript

InputTypeRequiredDescription
videoUrlstringyesAbsolute http(s) URL of the YouTube video.

Returns the video's full transcript as timestamped segments, plus its title, channelName, and durationSeconds. The text content is a readable, timestamped transcript; the structured content carries the raw transcript array (each segment is { timestampInSeconds, text }). The per-call price is flat USDC, quoted in the 402 challenge and paid automatically.

How payment works

Built on the official Coinbase x402 v2 client packages (@x402/fetch, @x402/svm, @x402/core) plus @solana/kit for signing:

  1. The tool POSTs to the matching endpoint under ${RECAPFY_API_BASE_URL} (/api/v1/agents/ask or /api/v1/agents/get-transcript).
  2. The API replies 402 with requirements in the PAYMENT-REQUIRED header (exact SVM scheme, USDC, dynamic amount, and a facilitator feePayer that sponsors the network fee).
  3. The wrapped fetch signs a gasless SPL-token transfer with your wallet and retries with the PAYMENT-SIGNATURE header.
  4. The API verifies, settles, and returns the answer plus a PAYMENT-RESPONSE settlement header.

Verify it works

Inspect the tools without spending anything using the MCP Inspector (it only signs a payment when you actually invoke a tool, so any key is fine just to browse):

bash
SVM_PRIVATE_KEY=<key> npx @modelcontextprotocol/inspector npx -y recapfy-mcp@latest

Open the printed URL → Tools → ask / get_transcript. Invoking a tool with a funded wallet performs a real paid call; verify the spend on a Solana explorer.

Troubleshooting

SymptomCause / fix
Missing required environment variable ...SVM_PRIVATE_KEY not set.
SVM_PRIVATE_KEY is not valid base58Needs base58 of the 64-byte secret key.
400 ... maxOutputTokens must be greater than 0Pass a positive maxOutputTokens (the tool defaults to 1024).
400 ... promptprompt is required and non-empty.
New tool/endpoint missing after an updatePin recapfy-mcp@latest, restart the client, then clear the npx cache (see Updating).
402 loop / "Failed to create payment payload"Wallet has no USDC on mainnet, or wrong network. Fund it.
TLS error against a local API over httpsSet RECAPFY_ALLOW_INSECURE_TLS=1 (localhost dev only).

License

MIT

来源:README.md,提交 c16ba42

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

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

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。