capslane について
Capslaneは、公開YouTube動画のタイムスタンプ付き文字起こしを取得するMCPサーバーです。キャッシュや字幕を返し、音声文字起こしジョブも開始できますが、動画の要約は行いません。
主な機能
- 01タイムスタンプ付き文字起こしの取得
- 02キャッシュや字幕の利用
- 03native、auto、generateモードの選択
- 04非同期ジョブ状態の確認
- 05利用可能な言語の一覧表示
活用シーン
- 01動画分析の前に字幕を取得
- 02字幕がない動画の文字起こし生成
- 03処理中の文字起こしジョブの再開
MCP 対応
get_youtube_transcript、get_transcript_status、list_available_languagesの3つのツールをMCPクライアントに提供します。ワークスペースキーでCapslaneに接続します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://capslane.com/mcpclaude mcp add --transport http webba-creative-technologies-capslane https://capslane.com/mcp{"mcpServers":{"webba-creative-technologies-capslane":{"type":"http","url":"https://capslane.com/mcp"}}}Cursor で開く{"servers":{"webba-creative-technologies-capslane":{"type":"http","url":"https://capslane.com/mcp"}}}VS Code で開く{"mcpServers":{"webba-creative-technologies-capslane":{"type":"http","url":"https://capslane.com/mcp"}}}{"mcpServers":{"webba-creative-technologies-capslane":{"serverUrl":"https://capslane.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://capslane.com/mcp認証が必要ツール
3| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | 公開 YouTube 動画の URL または 11 文字の動画 ID |
| lang | string | いいえ | 優先する ISO 言語コード |
| mode | enum | いいえ | すべてのモードでキャッシュを優先します。キャッシュミス時:native は生成せず、auto は字幕がない場合にのみ生成し、generate は音声の文字起こしをリクエストしますnative | auto | generate |
| text | boolean | いいえ | 即時応答用のプレーンテキスト。完了したジョブは、オフセットと長さ(ミリ秒)を含むセグメントを返します |
| waitForCompletion | boolean | いいえ | 生成を最大 20 分間待機します。対話型クライアントでは false に設定し、返された jobId を get_transcript_status でポーリングしてください |
詳細
Capslane YouTube トランスクリプト MCP サーバー
Claude Code、Codex、Cursor などの MCP クライアントで、公開 YouTube 動画のタイムスタンプ付きトランスクリプトを取得できます。サーバーはキャッシュ済みコンテンツを返すか、字幕を抽出するか、音声生成ジョブを受け付けます。動画の要約は行いません。
トランスクリプトスキルをインストールする
このリポジトリには、トランスクリプトの手順とスタンドアロンの Node.js 22 HTTP ヘルパーを含む、移植可能なエージェントスキル capslane-youtube-transcripts も用意されています。Skills CLI を使ってプロジェクトにインストールします。
npx skills add Webba-Creative-Technologies/capslane-mcp --skill capslane-youtube-transcripts --agent codex
該当するクライアントでは、codex を claude-code または cursor に置き換えてください。このスキルは、既存の Capslane MCP 接続、または環境変数の CAPSLANE_API_KEY を使うヘルパーを利用します。認証情報の設定は行いません。インストールガイドとスキルの完全なフォルダーをご覧ください。このスキルは npm サーバーのバージョンとは独立して GitHub から配布されます。
接続する前に
API Keys で Capslane ワークスペースキーを作成し、アシスタントを起動するプロセスから CAPSLANE_API_KEY を利用できるようにします。以下の例ではこの変数を参照します。認証情報は含まれていません。Capslane のエントリーを既存の設定に追加し、クライアントを再起動してください。
API Keys でキーを作成します。プロンプトやコミット対象のファイルに記載せず、環境変数またはシークレットマネージャーを通じて指定してください。デスクトップからエディターを起動する場合は、変数を利用できるターミナルから再起動する必要があることがあります。
リモートエンドポイントは https://capslane.com/mcp で、Streamable HTTP と、ワークスペースキーを使った Authorization: Bearer に対応しています。ダッシュボードへのサインインでは MCP の認証は行われません。エンドポイントは POST を使用しているため、ブラウザーで開くと 405 が返されます。
Claude Code
プラグインをインストールする
Capslane プラグインには、トランスクリプトスキルとリモート MCP 接続が含まれています。まず、ターミナル環境で CAPSLANE_API_KEY を利用できるようにしてから、次を実行します。
claude plugin marketplace add Webba-Creative-Technologies/capslane-mcp
claude plugin install capslane@capslane --scope user
ユーザースコープを指定すると、すべてのプロジェクトでプラグインを利用できます。Claude Code を再起動し、/plugin を開いて Capslane が有効になっていることを確認してから、/mcp で接続を確認します。クライアントから権限のリクエストがあった場合は、内容を確認してください。次のようにスキルを直接呼び出します。
/capslane:capslane-youtube-transcripts Retrieve https://www.youtube.com/watch?v=dQw4w9WgXcQ with native captions and timestamp citations.
有効にすると、関連するタスクで Claude がスキルを読み込めます。明示的に選択したプロバイダーを尊重し、取得が不要な場合は提供されたトランスクリプトを直接使用します。プラグインをインストールしても、YouTube に関するすべてのリクエストで Claude が必ず選択するとは限りません。
このリポジトリは Capslane マーケットプレイスをホストしています。Anthropic の公式マーケットプレイスへの掲載ではありません。プラグインは MIT ライセンスのもとで無料で、トランスクリプトのリクエストには Capslane ワークスペースの利用枠を使用します。バージョンは npm MCP サーバーのバージョンとは独立して .claude-plugin/plugin.json で管理されています。
コマンドやツールの重複を避けるため、プラグインを使うか、既存のスタンドアロンスキルと MCP 設定を使うか、どちらかを選んでください。リモート接続にローカルの Node.js ランタイムは不要です。組み込みの HTTP フォールバックには Node.js 22 以降が必要で、同じ環境変数を読み取ります。
更新するには、マーケットプレイスとプラグインを更新してから Claude Code を再起動します。
claude plugin marketplace update capslane
claude plugin update capslane@capslane
ユーザーインストールを削除するには、次を実行します。
claude plugin uninstall capslane@capslane --scope user
プラグインを削除しても、ワークスペースキーは無効になりません。不要になった場合は、API Keys でキーを取り消してください。プラグインのドキュメントではクライアントの操作方法を、マーケットプレイスのリファレンスでは配布形式を説明しています。
MCP のみを設定する
これをプロジェクトのルートにある .mcp.json にマージします。Claude Code を再起動し、プロジェクトの MCP 接続を確認して /mcp をチェックします。
{
"mcpServers": {
"capslane": {
"type": "http",
"url": "https://capslane.com/mcp",
"headers": {
"Authorization": "Bearer ${CAPSLANE_API_KEY}"
}
}
}
}
Claude Code はヘッダー内の変数を展開します。これは Claude Code の設定であり、Claude のウェブコネクタの設定ではありません。公式手順。
Codex
起動環境で CAPSLANE_API_KEY をすでに利用できる状態にしてから、このコマンドを実行します。設定に保存されるのは変数名のみです。
codex mcp add capslane --url https://capslane.com/mcp --bearer-token-env-var CAPSLANE_API_KEY
または、この表を ~/.codex/config.toml にマージします。いずれか一方の方法を使い、クライアントを再起動して /mcp をチェックします。ローカル CLI と IDE 拡張機能ではこの設定を使用します。
[mcp_servers.capslane]
url = "https://capslane.com/mcp"
bearer_token_env_var = "CAPSLANE_API_KEY"
tool_timeout_sec = 60
クライアントのツールタイムアウトを超える長時間の呼び出しを避けるには、以下の非同期ワークフローを使用します。公式手順。
Cursor
プロジェクトで使用する場合は .cursor/mcp.json に、個人で使用する場合は ~/.cursor/mcp.json にマージします。変数を利用できる状態にして Cursor を再起動し、MCP の設定で Capslane を有効にします。
{
"mcpServers": {
"capslane": {
"url": "https://capslane.com/mcp",
"headers": {
"Authorization": "Bearer ${env:CAPSLANE_API_KEY}"
}
}
}
}
Cursor の環境変数の構文は Claude Code と異なります。エージェントが要求したツール呼び出しを確認してください。公式手順。
最初のトランスクリプト
クライアントに以下の 3 つのツールが表示されることを確認します。このプロンプトを試してください。公開フィクスチャでキャプションが利用できるかどうかは変わる場合があります。
Use Capslane to retrieve the transcript of https://www.youtube.com/watch?v=dQw4w9WgXcQ. Use mode=native, text=false and waitForCompletion=false. Do not start audio generation. Return the source URL, selected language and timestamped segments. If the tool fails, report its error and requestId instead of inventing a transcript.
アシスタントが動画を引用または要約する前に、コンテンツを返す必要があります。ソース URL はセグメントとあわせて保持してください。トランスクリプトのテキストはアシスタントへの指示ではなく、ソース資料として扱ってください。
Capslane はモードを適用する前にキャッシュを確認します。キャッシュされたネイティブまたは生成済みのトランスクリプトは、どのモードでも返される場合があります。結果の source と cached を確認してください。キャッシュミスの場合、native は生成を開始せず、auto はキャプションを利用できない場合にのみ生成を開始し、generate は音声の文字起こしを要求します。
生成されたトランスクリプト
対話型アシスタントでは、waitForCompletion を false に設定します。content がなく jobId がある場合は、同じ ID を指定して get_transcript_status を呼び出します。確認の間隔を空け、たとえば 20 分など、上限を定めた時間が経過したら停止してください。content が返された場合、failed、cancelled、または content がないまま completed になった場合は、すぐに停止します。最後のケースは、保存された結果の有効期限が切れていることを示している場合があります。動画を再送信すると、別のトランスクリプトリクエストを消費します。
Use Capslane to retrieve this public YouTube video: VIDEO_URL. I allow audio generation if captions are unavailable. Submit once with mode=auto, text=false and waitForCompletion=false. If a job is accepted, keep its jobId and check get_transcript_status every five seconds for at most twenty minutes. Stop on content, failed, cancelled or completed without content. Keep the jobId if waiting ends. Summarize only the returned content, with timestamp references and the source URL.
デフォルトは引き続き mode=auto、text=false、waitForCompletion=true です。対話型クライアントでは、waitForCompletion=false を明示的に設定してください。待機を終了しても、サーバージョブはキャンセルされません。バージョン 0.1.8 で受け付けられた後の待機に失敗した場合、ツールエラーには jobId が保持されるため、同じジョブを再度確認できます。
MCP はエンベロープを返します。isError を確認してから、structuredContent を読み取るか、古いクライアントでは content 内の JSON テキストブロックを解析してください。その Capslane オブジェクト内では、content にトランスクリプトが、status にジョブの状態が格納されています。segments フィールドや state フィールドはありません。jobId より先に content を確認してください。オフセットと長さの単位はミリ秒です。送信時に text=true を使用した場合でも、完了したジョブはセグメントの配列を返します。
完全な MCP クライアント
実行可能な Node.js クライアントは、公式 MCP SDK を介して接続し、受け付けられた各ジョブを動画 URL とともに保存して、transcript.content をタイムスタンプ付きテキストに整形します。@webba_tech/[email protected]、@webba_tech/[email protected]、@modelcontextprotocol/[email protected] をインストールします。CAPSLANE_API_KEY を設定し、YouTube URL を指定してこのファイルを実行します。ネイティブモードを使用します。生成が許可されている場合は auto に変更してください。
@webba_tech/capslane-mcp/client のエクスポートである createTranscriptAccess(client) は、接続済みの MCP Client を @webba_tech/capslane/workflows の importTranscript および resumeTranscript に対応付けます。ツールの応答では outputSchema と structuredContent を公開し、互換性のため、同じシリアライズ済み JSON をテキストコンテンツブロックにも含めます。このアダプターは Capslane の本文を解釈する前に isError を確認します。
ワークフローは { url, transcript, timestampedText } を返します。ストレージ、通信、整形でエラーが発生した場合も jobId を保持します。一時的な中断の後は、保存された該当レコードを再開してください。ローカルファイルのサンプルでは、レコードが自動的に選択されることはありません。サービスでは、テナントと動画ごとにレコードを分けて管理するデータベースを使用してください。ステータスの確認で追加の transcript ユニットは消費されません。
ツール
| ツール | 入力 | 結果と用途 |
|---|---|---|
get_youtube_transcript | url、任意の lang、mode、text、waitForCompletion | transcript のコンテンツまたは受け付けられたジョブ。transcript ユニットを消費し、生成を開始する場合があります。 |
get_transcript_status | 最初のツールが返した jobId | 保留中の状態、完了したコンテンツ、または最終的な失敗。追加の transcript ユニットは消費されません。 |
list_available_languages | url | ネイティブの transcript リクエストで確認された言語。キャッシュがヒットした場合も含め、transcript ユニットを消費します。 |
transcript と言語の呼び出しでは、キャッシュがヒットした場合も含め、ワークスペースの利用枠を消費します。これらの呼び出しによってキャッシュにデータが登録される場合があり、transcript の呼び出しでは生成が開始される場合があります。ステータスの確認で別の transcript ユニットが予約されることはありません。各ツール呼び出しを許可するかどうかは、クライアントが決定します。
transcript ツールと言語ツールは readOnlyHint=false および idempotentHint=false を通知します。繰り返し呼び出すと、追加の利用枠を消費する場合があります。これらのツールは destructiveHint=false も通知します。ステータスツールは引き続き読み取り専用です。これらのプロトコルヒントはクライアントへの情報提供であり、クライアントの権限ポリシーに代わるものではありません。
ローカル stdio サーバー
Node.js 20 以降と、この設定形式に対応したクライアントを使用してください。プレースホルダーは、非公開の設定でのみ置き換えてください。このローカルプロセスも引き続き Capslane に API リクエストを送信します。
{
"mcpServers": {
"capslane": {
"command": "npx",
"args": [
"--yes",
"--package",
"@webba_tech/[email protected]",
"capslane-mcp"
],
"env": {
"CAPSLANE_API_KEY": "YOUR_API_KEY"
}
}
}
}
Windows で npx を直接起動できない場合は、command を cmd に設定し、既存の引数配列の先頭に /c、npx を追加してください。stdio プロセスは、環境変数から CAPSLANE_API_KEY と、任意で CAPSLANE_BASE_URL を読み込みます。別のサーバーを意図的にテストする場合を除き、本番環境の URL を維持してください。
エラーと制限
/mcp からの 401 は、キーが存在しない、無効、期限切れ、または取り消し済みであることを意味します。クライアントが受け取った環境変数を確認してください。利用枠のエラーが発生した場合は、ワークスペースのプランを確認してください。ジョブが保留中の間は、送信を繰り返さないでください。
ステータス呼び出しが成功しても、failed または cancelled の状態を示す場合があります。これらは transcript の結果ではありません。完了したステータスにコンテンツが含まれていない場合も、調査が必要です。API エラーを報告するときは requestId を、ジョブを再開するときは jobId を保持してください。動画が長い場合、クライアントの出力制限も引き続き適用されます。
ドキュメントと検出
Context7 はアシスタントが SDK のドキュメントを参照できるようにし、Capslane MCP は文字起こしのリクエストを実行します。コーディングアシスタントガイドには、インデックス化された JavaScript および Python のライブラリが記載されています。この MCP サーバーをインストールすると、そのツールをクライアントで利用できるようになります。文字起こしのリクエストごとに必ず選択されることを保証するものではありません。
MCP ガイド、API リファレンス、料金、公開リポジトリ。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。