Documentation développeur

API REST et Model Context Protocol

Model Context Protocol

Serveur MCP Fast Transcriber

Permettez à un assistant IA compatible avec MCP de mettre en file d’attente des liens publics audio et vidéo, de suivre les tâches et de récupérer les transcriptions terminées.

Le point de terminaison distant recommandé est sans état et utilise la même clé API ainsi que les mêmes limites de compte que l’API REST.

Qu’est-ce que MCP ?

Model Context Protocol fournit aux clients IA une méthode standard pour découvrir et appeler des outils externes. Fast Transcriber expose des outils de transcription typés afin que les assistants puissent travailler avec les tâches sans extraire le contenu du site web.

Prérequis

  • Un compte Fast Transcriber connecté.
  • Une clé API active créée dans la section destinée aux développeurs.
  • Un client MCP compatible avec Streamable HTTP ou les serveurs stdio locaux.

Configuration distante

Utilisez ce point de terminaison avec les clients Streamable HTTP :

text
https://fast-transcriber.com/api/mcp

Les clients qui acceptent des en-têtes personnalisés peuvent utiliser la configuration suivante. Lorsque le client le permet, conservez la clé dans un coffre de secrets ou une variable d’environnement.

json
{
  "mcpServers": {
    "fast-transcriber": {
      "url": "https://fast-transcriber.com/api/mcp",
      "headers": {
        "Authorization": "Bearer ft_live_replace_me"
      }
    }
  }
}

Authentification

Le point de terminaison MCP exige une clé API dans l’en-tête HTTP Authorization au format Bearer. OAuth n’est actuellement pas annoncé ; les clients doivent donc accepter des en-têtes Authorization personnalisés.

http
Authorization: Bearer ft_live_replace_me

Outils disponibles

Le serveur distant publie trois outils utilisables côté serveur :

OutilEntréesRôle
transcribe_urlurl, speaker_diarizationMettre un lien public en file d’attente
get_transcriptionidObtenir le statut et le résultat terminé
list_transcriptionslimitLister les tâches récentes du compte

Exemple d’appel d’outil

json
{
  "url": "https://www.youtube.com/watch?v=example",
  "speaker_diarization": false
}

Le résultat contient l’identifiant d’une tâche. Appelez get_transcription avec cet identifiant jusqu’à ce que la tâche soit completed ou failed.

Serveur de fichiers local

Un serveur distant ne peut pas lire les médias présents sur votre ordinateur. Auto-hébergez le paquet stdio inclus lorsque le client IA doit importer des fichiers locaux. Il ajoute transcribe_file et wait_for_transcription aux trois outils distants.

bash
cd mcp-server
npm ci
npm run build
json
{
  "mcpServers": {
    "fast-transcriber": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-server/dist/index.js"],
      "env": {
        "FAST_TRANSCRIBER_API_TOKEN": "ft_live_replace_me",
        "FAST_TRANSCRIBER_ALLOWED_DIRS": "/absolute/path/to/media"
      }
    }
  }
}

Sécurité

L’outil de fichiers local résout les chemins réels et refuse les fichiers situés hors de FAST_TRANSCRIBER_ALLOWED_DIRS, y compris les chemins qui s’échappent au moyen de liens symboliques.

  • Ne validez jamais de clés API dans le dépôt et ne les collez jamais dans des requêtes adressées à un modèle.
  • Créez des clés distinctes pour des clients distincts.
  • Révoquez immédiatement une clé lorsqu’un appareil est mis hors service.
  • N’accordez au serveur local que l’accès au répertoire de médias nécessaire.

Erreurs

Les échecs des outils sont renvoyés sous forme de résultats d’erreur MCP avec un message sûr. Les échecs d’authentification renvoient le statut HTTP 401 avant l’exécution MCP. Les limites du compte et les fonctionnalités indisponibles dans l’offre suivent les mêmes règles que l’API REST.

Dépannage

Réponse 401 du serveur

Vérifiez que l’en-tête Authorization au format Bearer utilise une clé active et ne contient pas de guillemets supplémentaires.

Fichier hors des répertoires autorisés

Ajoutez le dossier du média à FAST_TRANSCRIBER_ALLOWED_DIRS, puis redémarrez le serveur local.

La tâche reste en cours de traitement

Appelez de nouveau get_transcription. Les médias longs restent asynchrones et la requête MCP n’est pas maintenue ouverte.

À distance pour les liens En local pour les fichiers