accueil / serveurs / Médias / io.github.spokenmd/spoken
io.github.spokenmd/spoken
serveur MCP (Model Context Protocol) · spoken 0.4.3
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.github.spokenmd/spoken est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.spokenmd/spoken » 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 8 outils
- follow_podcast≈ 304 tokens
Declare a follow for a show, or clear a mute. Pass a podcast_id from search_podcasts. A declared follow stays until unfollow_podcast, regardless of fetch activity, and does not use one of the five automatic slots. For a show never fetched, what counts as new starts from its newest episode now. Does not consume credits.
Paramètres, retour & exemple (1)
Paramètrespodcast_id· string · requis
Show id (the podcast_id field from a search_podcasts result).
Exemple d'appel{"name": "follow_podcast", "arguments": {"podcast_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"state": "following", "podcast": "texte", "podcast_id": "texte"}} - get_balance≈ 321 tokens
Check the current Spoken credit balance, account email, and recent usage for the configured API key. Does not consume credits.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_balance", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"email": "texte", "usage": {}, "credits": 1}} - get_transcript≈ 174 tokens
Fetch a podcast episode's transcript as clean Markdown with real speaker names and timestamps. Pass an episode id from search_podcasts. Costs 1 credit on the first fetch of an episode; repeat fetches are free and errors are never charged.
Paramètres, retour & exemple (1)
Paramètresepisode_id· string · requis
Episode id returned by search_podcasts.
Exemple d'appel{"name": "get_transcript", "arguments": {"episode_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_episodes≈ 426 tokens
List a podcast's entire back-catalog (every episode, newest first). Pass a podcast_id from a search_podcasts result. Returns each episode's id, title, and date — fetch any with get_transcript. Use this to transcribe a whole show. Does not consume credits itself; transcribing the returned episodes costs 1 credit each (repeat fetches are free), so make sure the key has enough credits before looping.
Paramètres, retour & exemple (1)
Paramètrespodcast_id· string · requis
Show id (the podcast_id field from a search_podcasts result).
Exemple d'appel{"name": "list_episodes", "arguments": {"podcast_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"count": 1, "podcast": "texte", "episodes": [], "podcast_id": "texte"}} - list_following≈ 592 tokens
The shows this key is kept current on. Every charged fetch makes its show a follow: the five most-fetched shows from the last 180 days are followed automatically (source 'fetch'), and up to 25 more can be declared with follow_podcast (source 'explicit'). Muted shows are listed separately. Use list_new_episodes to see what is new on them. Does not consume credits; the demo key has nothing to follow with.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_following", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"muted": [], "limits": {}, "following": []}} - list_new_episodes≈ 525 tokens
What is new on the shows this key follows: for each show, the episodes released in the last 90 days that are newer than the newest one already fetched from it (up to 10 per show), each with a transcript_url. Episodes with no transcript are left out. Fetch any with get_transcript (1 credit each on first fetch); a fetch raises that show's floor, so the next call lists only what came after. Refreshed hourly, so a show followed moments ago may be empty until its first poll. Does not consume credits.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_new_episodes", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"as_of": "texte", "count": 1, "shows": []}} - search_podcasts≈ 365 tokens
Search published podcast episodes by text query, or paste an episode URL (Spotify, YouTube, etc.). Returns matching episodes with their id, title, podcast, podcast_id, and date. Use the id with get_transcript, or the podcast_id with list_episodes to get the show's whole back-catalog. Does not consume credits.
Paramètres, retour & exemple (1)
Paramètresquery· string · requis
Free text (e.g. 'huberman sleep') or a pasted episode URL.
Exemple d'appel{"name": "search_podcasts", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"results": []}} - unfollow_podcast≈ 267 tokens
Mute a show: it leaves the followed list and later fetches do not re-add it. follow_podcast reverses it. Pass a podcast_id from list_following. Does not consume credits.
Paramètres, retour & exemple (1)
Paramètrespodcast_id· string · requis
Show id, from list_following or search_podcasts.
Exemple d'appel{"name": "unfollow_podcast", "arguments": {"podcast_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"state": "following", "podcast": "texte", "podcast_id": "texte"}}
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é ».