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 分

    請在儲存庫或註冊中心條目中宣告授權條款。