accueil / serveurs / Données & BDD / io.llmexpert/transcription
io.llmexpert/transcription
serveur MCP (Model Context Protocol) · llmexpert-mcp-shim 0.2.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.llmexpert/transcription est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.llmexpert/transcription » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 13 outils
- add_source≈ 457 tokens
Add a source to a channel and begin background ingestion. Maps to POST /v1/channels/{channelId}/sources. Only `type: video` is processed today; `document` and `website` are reserved and return a 501 error until released. Requires the key's `write` scope.
Paramètres, retour & exemple (3)
Paramètressource· ? · requis
The source to add (discriminated on `type`).channel_id· string · requis
Channel to add the source to.idempotency_key· string · optionnel
Idempotency-Key for safe retries.
Exemple d'appel{"name": "add_source", "arguments": {"source": "texte", "channel_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - add_sources≈ 556 tokens
Charged like `transcribe`. Expand the given YouTube URLs, charge for the new work and start an ingest job in an existing collection. Maps to POST /v1/collections/{collectionId}/sources. $0.10/min standard, $0.25/min whisper by default, 1-minute minimum per video. Videos already in the collection are free. Pass a `quote_id` from `quote` to be charged exactly that price. Poll `get_status` every 10–30 s until `status` is completed, partial or failed; `completed` means every accepted video is transcribed and indexed, so the collection is queryable. API key required (the key's `write` scope). Prices are the service defaults; `quote` returns the exact price.
Paramètres, retour & exemple (10)
Paramètresurl· string · optionnel
One YouTube URL (video, @handle, /channel/UC…, or playlist).urls· array · optionnel
Several YouTube URLs.quality· string · optionnel · standard | whisper
Transcription quality (default standard).language· string · optionnel
Optional BCP-47 hint for transcription, e.g. en.quote_id· string · optionnel
A `quote_id` from `quote`: charges exactly the quoted price (400 if unknown or expired).channel_url· string · optionnel
`https://www.youtube.com/@handle`, `/channel/UC…`, or a playlist URL.channel_urls· array · optionnel
Several channel or playlist URLs.collection_id· string · requis
Collection to add the sources to.idempotency_key· string · optionnel
Idempotency-Key for safe retries.max_videos_per_channel· integer · optionnel
Newest-first cap applied to each channel or playlist (default 25).
Exemple d'appel{"name": "add_sources", "arguments": {"collection_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - create_collection≈ 217 tokens
Free. Create an empty collection to add sources to later with `add_sources`. Maps to POST /v1/collections. Returns the collection and its `collection_token` (`ct_…`, shown once: store it; absent on an idempotent replay). API key required (the key's `write` scope). Prices are the service defaults; `quote` returns the exact price.
Paramètres, retour & exemple (2)
Paramètrestitle· string · requis
Display name for the collection.idempotency_key· string · optionnel
Idempotency-Key for safe retries.
Exemple d'appel{"name": "create_collection", "arguments": {"title": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_source≈ 139 tokens
Fetch a single source and its processing status (type-specific provenance included). Maps to GET /v1/sources/{sourceId}. Requires the key's `read` scope.
Paramètres, retour & exemple (1)
Paramètressource_id· string · requis
Source identifier, e.g. src_71b0e4.
Exemple d'appel{"name": "get_source", "arguments": {"source_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_status≈ 239 tokens
Free. Get an ingest job started by `transcribe` or `add_sources`. Maps to GET /v1/jobs/{jobId}. Poll every 10–30 s until `status` is completed, partial or failed (terminal). `completed` means every accepted video is transcribed and indexed, so the collection is queryable; `partial` means some videos failed and were credited back (`credited_usd`); `videos.completed` / `videos.failed` count progress. Works with an API key or the collection's `ct_` token as the bearer. Prices are the service defaults; `quote` returns the exact price.
Paramètres, retour & exemple (1)
Paramètresjob_id· string · requis
The `job_id` from `transcribe` or `add_sources`.
Exemple d'appel{"name": "get_status", "arguments": {"job_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_transcript≈ 309 tokens
Free. Get the transcript of a video that is completed in one of your collections. Maps to GET /v1/videos/{youtubeId}/transcript. `collection_id` is required with an API key; with the collection's `ct_` token as the bearer it defaults to the token's collection. `format` is json (segments with timestamps, default) or text (one `[H:MM:SS] text` line per segment). 404 when the video is not completed in that collection, or the transcript predates the transcript cache. Prices are the service defaults; `quote` returns the exact price.
Paramètres, retour & exemple (3)
Paramètresformat· string · optionnel · json | text
json (default) or text.youtube_id· string · requis
The 11-character YouTube video id, e.g. dQw4w9WgXcQ.collection_id· string · optionnel
Collection the video is completed in (required with an API key).
Exemple d'appel{"name": "get_transcript", "arguments": {"youtube_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_usage≈ 141 tokens
Get usage, quota, and spend for the calling key (queries, tokens, cost, budget remaining). Maps to GET /v1/usage. Requires the key's `read` scope.
Paramètres, retour & exemple (1)
Paramètresperiod· string · optionnel · current | previous
Billing period (default current).
Exemple d'appel{"name": "get_usage", "arguments": {"period": "current"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_channels≈ 154 tokens
List the channels the calling key is scoped to. Maps to GET /v1/channels. Cursor-paginated. Requires the key's `read` scope.
Paramètres, retour & exemple (2)
Paramètreslimit· integer · optionnel
Max items (default 25).cursor· string · optionnel
Opaque pagination cursor from a prior response.
Exemple d'appel{"name": "list_channels", "arguments": {"limit": 1, "cursor": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_sources≈ 262 tokens
List the sources (video/document/website) in a channel, optionally filtered by type or status. Maps to GET /v1/channels/{channelId}/sources. Cursor-paginated. Requires the key's `read` scope.
Paramètres, retour & exemple (5)
Paramètrestype· string · optionnel · video | document | website
Filter by source type.limit· integer · optionnel
Max items (default 25).cursor· string · optionnel
Opaque pagination cursor.status· string · optionnel · queued | ingesting | indexing | ready | error
Filter by processing status.channel_id· string · requis
Channel whose sources to list.
Exemple d'appel{"name": "list_sources", "arguments": {"channel_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - query_channel≈ 308 tokens
Run a retrieval-augmented query against a channel's indexed knowledge base and return a generated answer with citations. Maps to POST /v1/query. Requires the key's `query` scope and access to the channel.
Paramètres, retour & exemple (6)
Paramètresquery· string · requis
The natural-language question.top_k· integer · optionnel
Chunks to retrieve (default 5).channel_id· string · requis
Channel to query. The key must be scoped to it.session_id· string · optionnel
Optional session for multi-turn continuity.source_types· array · optionnel
Restrict retrieval to these source types.idempotency_key· string · optionnel
Idempotency-Key for safe retries.
Exemple d'appel{"name": "query_channel", "arguments": {"query": "texte", "channel_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - query_collection≈ 396 tokens
Charged: $0.05 flat per call by default, no token multiplier. Ask a question of a collection and get a generated answer with citations. Maps to POST /v1/collections/{collectionId}/query. Query a collection once `get_status` says completed. With an API key it needs the key's `query` scope. Without an API key this tool is payable in USDC via x402: the first call returns a payment-required result (`isError` with the payment requirements in `structuredContent`); an x402-aware MCP client signs and retries the same call with `_meta['x402/payment']`, and the receipt returns in the result's `_meta['x402/payment-response']`. Never pay again after a 409 (already presented) or 502 (settlement unknown) result. Keyless, only the address that paid for the collection may query it. Prices are the service defaults; `quote` returns the exact price.
Paramètres, retour & exemple (4)
Paramètresquery· string · requis
The natural-language question.session_id· string · optionnel
Optional session for multi-turn continuity.collection_id· string · requis
Collection to query.idempotency_key· string · optionnel
Idempotency-Key for safe retries.
Exemple d'appel{"name": "query_collection", "arguments": {"query": "texte", "collection_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quote≈ 464 tokens
Free. Expand YouTube URLs exactly as an ingest would and return the price, the per-video lines and the per-source rejections. Maps to POST /v1/quote. $0.10/min standard, $0.25/min whisper by default, 1-minute minimum per video. The `quote_id` is valid for 15 minutes; pass it to `transcribe` or `add_sources` to be charged exactly this price. Pass `collection_id` to price against an existing collection (videos already in it are free). At least one of url, urls, channel_url, channel_urls. Requires the key's `read` scope. Prices are the service defaults; `quote` returns the exact price.
Paramètres, retour & exemple (8)
Paramètresurl· string · optionnel
One YouTube URL (video, @handle, /channel/UC…, or playlist).urls· array · optionnel
Several YouTube URLs.quality· string · optionnel · standard | whisper
Transcription quality (default standard).language· string · optionnel
Optional BCP-47 hint for transcription, e.g. en.channel_url· string · optionnel
`https://www.youtube.com/@handle`, `/channel/UC…`, or a playlist URL.channel_urls· array · optionnel
Several channel or playlist URLs.collection_id· string · optionnel
Price against this collection (videos already in it are free).max_videos_per_channel· integer · optionnel
Newest-first cap applied to each channel or playlist (default 25).
Exemple d'appel{"name": "quote", "arguments": {"url": "texte", "urls": [], "quality": "standard", "language": "texte", "channel_url": "texte", "channel_urls": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - transcribe≈ 680 tokens
Charged. Create a collection and start an ingest job for the given YouTube URLs in one call. Maps to POST /v1/transcribe. $0.10/min standard, $0.25/min whisper by default, 1-minute minimum per video. Pass a `quote_id` from `quote` to be charged exactly that price. Returns `job_id`, `collection_id` and `collection_token` (`ct_…`, shown once: store it; it reads this collection without an API key). Poll `get_status` every 10–30 s until `status` is completed, partial or failed; `completed` means every accepted video is transcribed and indexed, so the collection is queryable. With an API key it needs the key's `write` scope. Without an API key this tool is payable in USDC via x402: the first call returns a payment-required result (`isError` with the payment requirements in `structuredContent`); an x402-aware MCP client signs and retries the same call with `_meta['x402/payment']`, and the receipt returns in the result's `_meta['x402/payment-response']`. Never pay again after a 409 (already presented) or 502 (settlement unknown) result. Keyless `transcribe` takes one channel-like source and at most 3 videos. Prices are the service defaults; `quote` returns the exact price.
Paramètres, retour & exemple (10)
Paramètresurl· string · optionnel
One YouTube URL (video, @handle, /channel/UC…, or playlist).urls· array · optionnel
Several YouTube URLs.title· string · optionnel
Title for the new collection (default: generated).quality· string · optionnel · standard | whisper
Transcription quality (default standard).language· string · optionnel
Optional BCP-47 hint for transcription, e.g. en.quote_id· string · optionnel
A `quote_id` from `quote`: charges exactly the quoted price (400 if unknown or expired).channel_url· string · optionnel
`https://www.youtube.com/@handle`, `/channel/UC…`, or a playlist URL.channel_urls· array · optionnel
Several channel or playlist URLs.idempotency_key· string · optionnel
Idempotency-Key for safe retries.max_videos_per_channel· integer · optionnel
Newest-first cap applied to each channel or playlist (default 25).
Exemple d'appel{"name": "transcribe", "arguments": {"url": "texte", "urls": [], "title": "texte", "quality": "standard", "language": "texte", "quote_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».