ReelScribe について
ReelScribe MCP Serverは、MCP対応アシスタントからソーシャル動画の文字起こしを依頼し、関連データを参照できるようにします。Instagram、TikTok、YouTube、Facebookの動画URLに対応し、一部のプラットフォームでは選択されたコメントも取得できます。
主な機能
- 01対応動画URLの文字起こし
- 02文字起こしの取得と検索
- 03カーソルページングで一覧表示
- 04クレジット確認とURL検証
- 05一括・Instagramチャンネルのジョブ送信
- 06選択コメントの任意取得
活用シーン
- 01Reel、TikTok、YouTube動画の文字起こし
- 02URLから既存の文字起こしを検索
- 03動画URLの一括処理
- 04文字起こしと選択コメントの確認
MCP 対応
MCPサーバーは、ホスト型OAuthコネクターまたはローカルのAPIキー設定でアシスタントをReelScribeに接続します。文字起こしの送信に加え、文字起こし、ジョブ、クレジット、URLを扱うツールを提供します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://reelscribe.app/api/mcpclaude mcp add --transport http rara-cyber-reelscribe https://reelscribe.app/api/mcp{"mcpServers":{"rara-cyber-reelscribe":{"type":"http","url":"https://reelscribe.app/api/mcp"}}}Cursor で開く{"servers":{"rara-cyber-reelscribe":{"type":"http","url":"https://reelscribe.app/api/mcp"}}}VS Code で開く{"mcpServers":{"rara-cyber-reelscribe":{"type":"http","url":"https://reelscribe.app/api/mcp"}}}{"mcpServers":{"rara-cyber-reelscribe":{"serverUrl":"https://reelscribe.app/api/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
ReelScribe MCP Server
AI アシスタントをReelScribeに接続するMCP(Model Context Protocol)サーバーです。Claude、Cursor、Windsurf、その他のMCP対応クライアントから、Instagram Reels、TikTok動画、YouTube動画を直接文字起こしできます。
セットアップ
ホステッドコネクター(Cloudflare Workers)
エンドポイントはhttps://reelscribe.app/api/mcpです。Claudeのリモートコネクター、またはChatGPTの開発者モードのMCP接続として追加し、ReelScribeアカウントにサインインしてアクセスを承認してください。ディレクトリへの掲載には、別途審査が必要です。
ホステッド文字起こしは、すぐにrequestIdを返します。処理後に文字起こし結果を取得するには、そのIDを使ってget_transcriptionを呼び出します。重複して送信すると、既存の文字起こし結果が返されます。アカウント管理はウェブサイトで行えます。
デプロイ
/admin/get-user-by-clerk-idのConvexincludeRetentionレスポンスを含む、付随するReelScribe APIのOAuth変更をデプロイします。- 本番Clerkインスタンスでカスタムスコープ
reelscribe:mcpを作成して公開します。文字起こし結果とクレジット残高の読み取り、およびクレジットを消費する文字起こしの送信を許可する旨を、同意テキストで説明してください。CIMDクライアントオンボーディングを有効にし、S256 PKCEを必須にして、デフォルトスコープをreelscribe:mcpに設定します。拡張ワークフローには、互換性のため既存の名前を維持したオプションの別スコープreelscribe:manageを登録します。その同意テキストでは、クレジットを消費するバッチ/チャンネルの送信のみを説明してください。デフォルトスコープはreelscribe:mcp reelscribe:manageです。単一動画のクライアントはreelscribe:mcpのみを要求できます。既存の接続では、再接続時に追加の文字起こし権限を明示的に承認する必要があります。不透明なアクセストークンを有効にしてください。意図したクライアントにカスタムスコープのリクエストを許可し、必要なクライアントに限ってDCRを有効にします。 - SIÁNアカウントのWorkersをデプロイする権限を持つアカウントで、Wranglerを認証します。Wranglerに複数のアカウントが表示される場合は、
CLOUDFLARE_ACCOUNT_IDに該当するアカウントを設定します。 bun run typecheck、bun test、bun run worker:build、続けてbun run worker:deployを実行します。/health、公開OAuthメタデータ、未認証の/mcpに対する401チャレンジ、および両方のクライアントでのサインインと文字起こしの一連のフローを確認します。
ブランドURLはReelScribeのウェブサイトによって既存のCloudflare Workerに転送され、branded=1が付与されます。これにより、一致するOAuthリソースメタデータが選択されます。従来のhttps://reelscribe-mcp.sian-agency.workers.dev/mcpエンドポイントとOAuthディスカバリーは、既存の接続向けに引き続き利用できます。ドメインはCloudflareの外部で管理されているため、Workerの直接的なカスタムサブドメインを利用するにはDNSの変更が必要です。
Workerは共有ユーザーAPIキーやClerkシークレットを保持しません。呼び出し元のトークンをReelScribe APIに転送し、APIがClerkで検証して、そのトークンのユーザーのみを特定します。基本OAuthスコープでは、文字起こし、クレジット、ジョブの読み取りと単一動画の送信が許可されます。バッチ/チャンネルの送信には、別途reelscribe:manageの同意が必要です。従来の名前とは異なり、このスコープで許可されるのは文字起こしの送信のみです。既存の管理権限があっても、ダウンロード、削除、分析、設定にはアクセスできません。
ローカルのstdioセットアップは、以下から引き続き利用できます。
1. APIキーを取得する
reelscribe.appでサインアップし(無料クレジット25個)、API設定からAPIキーを生成します。
2. MCPクライアントを設定する
MCPクライアントの設定に追加します。
Claude Desktop(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"reelscribe": {
"command": "npx",
"args": ["-y", "reelscribe-mcp-server"],
"env": {
"REELSCRIBE_API_KEY": "rs_your_api_key_here"
}
}
}
}
Claude Code(~/.claude.jsonまたはプロジェクトの.mcp.json):
{
"mcpServers": {
"reelscribe": {
"command": "npx",
"args": ["-y", "reelscribe-mcp-server"],
"env": {
"REELSCRIBE_API_KEY": "rs_your_api_key_here"
}
}
}
}
Cursor(Settings > MCP):
{
"mcpServers": {
"reelscribe": {
"command": "npx",
"args": ["-y", "reelscribe-mcp-server"],
"env": {
"REELSCRIBE_API_KEY": "rs_your_api_key_here"
}
}
}
}
利用可能なツール
| ツール | 説明 |
|---|---|
transcribe_video | 動画の URL を送信します(1 クレジット)。Instagram、TikTok、YouTube では includeComments をオプションで指定できます。ホスト型サーバーはジョブ ID を返し、ローカルサーバーは結果が返るまで待機します。 |
get_transcription | ID または requestId を指定して文字起こし結果を取得します。文字起こし全文を返します。 |
list_transcriptions | 文字起こしの1 ページ分を新しい順に一覧表示します(デフォルトは 20 件、最大 200 件)。ステータス、プラットフォーム、クリエイター、日付、ジョブ、リクエストで絞り込めます。 |
search_transcriptions | 期間を限定して、元の動画 URL から文字起こしを検索します。 |
get_credits | クレジット残高、サブスクリプションのプラン、保存されている文字起こしの件数、保持期間を確認します。 |
validate_url | 送信せずに、URL がサポート対象か確認します。 |
| transcribe_bulk | URL のリストを送信します(CSV から読み込んだ URL を含む)。プランごとの上限が適用され、新規動画 1 件につき 1 クレジットが必要です。 |
| transcribe_instagram_channel | Instagram チャンネルを有料でスクレイピングします。リール 1~50 件と、オプションの日付フィルターを指定できます。 |
| list_jobs | 所有するバッチ/チャンネルジョブの進捗を確認し、ページを切り替えて表示します。 |
9 つのツールは文字起こしに特化しています。ダウンロード、ライブラリ管理、再試行、キャンセル、分析、設定、請求はウェブアプリで利用できます。バッチおよびチャンネルへの送信には、API キー、または明示的な追加の reelscribe:manage 文字起こしへの同意が必要です。従来のベーススコープのみの OAuth トークンでは実行できません。Facebook のコメントには引き続き対応していません。ホスト型の 2.2.1 リリースでは、延期された npm リリースは公開されていません。
コメントの抽出
transcribe_video に includeComments: true を設定すると、新しい Instagram、TikTok、または YouTube の文字起こしとあわせて、上位コメントの一部を取得できます。デフォルトでは無効で、合計コストは引き続き 1 クレジットです。利用可能な場合は固定コメントと投稿者のコメントが優先されます。YouTube では固定コメントのフラグは公開されていません。Facebook のコメント抽出には対応していません。コメントスレッド全体をエクスポートする機能ではありません。
完了した結果には、text、author、likes、isPinned、isCreator を含む comments 配列が含まれます。コメントが返されなかった場合は null になります。stats.comments は動画のコメント総数であり、配列内のコメントとは別の値です。一致する既存の文字起こしがある場合はそのまま再利用され、新しいコメントは追加されません。
{ "url": "https://www.youtube.com/watch?v=vXUPEow4Itw", "includeComments": true }
ページネーション
list_transcriptions は 1 ページ分の結果を返し、ライブラリ全体は返しません。hasMore が true の場合、残りのページを取得するには nextCursor を cursor として渡してください。
API はライブラリ全体の件数を報告しないため、このサーバーが件数を推測して補うことはありません。libraryTotal が数値になるのは、結果セット全体がレスポンスで確実に網羅されている場合(最初のページで、次のページがない場合)のみです。それ以外は null になります。ライブラリ全体の件数を確認するには、get_credits が library.completedTranscriptions を返します。これは上限付きの件数で、実際の件数がそれを超える場合は library.isCapped で示されます。
一覧結果の文字起こしは 500 文字のプレビューで、全文の長さは transcriptChars に表示されます。全文を読むには、ID を指定して get_transcription を呼び出してください。
保存と保持期間
保存容量の上限はありません。プランごとの件数制限は 2026-07-31 に廃止されました。ライブラリは件数ではなく期間によって制限されます。get_credits はアカウントに適用される保持期間を返します(サブスクリプション中は unlimited、それ以外はローリング期間)。ポリシー適用日より前に作成された文字起こしが自動削除されることはありません。
サポート対象のプラットフォーム
- Instagram — リール、投稿(
/p/)、IGTV(/tv/) - TikTok — 動画、短縮リンク(
vm.tiktok.com、vt.tiktok.com) - YouTube — 動画、ショート、短縮リンク(
youtu.be) - Facebook — 動画(
/watch?v=、/videos/)、リール、短縮リンク(fb.watch)
使用例
「この TikTok 動画を文字起こしして: https://www.tiktok.com/@user/video/123456」
「クレジット残高を確認して」
「完了した文字起こしを一覧表示して」
「この動画はすでに文字起こし済みですか? https://www.instagram.com/reel/ABC123/」
料金
- 無料:登録時に25クレジット
- Creator:月額$9.99 — 1,000クレジット
- Agency:月額$24.99 — 3,000クレジット
- Enterprise:月額$59.99 — 10,000クレジット
文字起こし1件につき1クレジットを消費します。料金を見る
変更履歴
2.1.0
- Instagram、TikTok、YouTube向けの
transcribe_videoで、includeCommentsを任意指定できるようになりました。追加のクレジットを消費せず、既存のAPIを通じて転送されます。 - 取得した文字起こしに型付きのコメント行を追加しました。未対応のFacebookリクエストは、ジョブの作成前に拒否されます。
2.0.0
2026-07-31のReelScribe /v1 APIの変更に対応しました。1.0.5以前のバージョンは、現行APIに対して誤った数値を返すため、アップグレードしてください。
破壊的変更:
list_transcriptionsはtotalを返さなくなりました。エンドポイントがカーソルページネーションに移行した際、このフィールドはページ内の件数になりました。そのため、1.0.5では「文字起こしはいくつありますか?」という質問に対し、2,000件のライブラリでもページサイズの100件を返し、レスポンスには総件数を示す情報がありませんでした。代わりに、returned(このページの件数)、libraryTotal(レスポンスがすべての項目を含む場合のみ数値。それ以外はnull)、hasMore、nextCursorを返します。list_transcriptionsは、文字起こし全文ではなく、500文字のプレビューとtranscriptCharsを返します。全文を取得するにはget_transcriptionを使用してください。get_creditsはstorage.limitを返さなくなりました。ティアごとのストレージ上限は廃止され、APIはすべてのティアで-1(「上限なし」)を返すようになりました。これは「無制限」と表示され、実際には存在する30日間の保持期間がわからなくなる原因となっていました。代わりに、library.completedTranscriptions/library.isCappedとretentionブロックを返します。
追加:
list_transcriptionsにcursorとlimitパラメーターを追加しました(デフォルトは20、最大は200)。- Facebookの動画URLとReel URLをローカルで検証するようになりました。APIでは従来から受け付けていましたが、これまではリクエストを送信する前に
validate_urlとtranscribe_videoが拒否していました。 search_transcriptionsはmatchesReturnedを返し、検索範囲に上限があることを明示します。これにより、found: falseが「これまで一度も文字起こしされていない」という意味に誤読されることがなくなりました。
リンク
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。