Contendeo vs Spoken

A side-by-side look at the Contendeo and Spoken MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Contendeo logoContendeoSpeech-to-Text · Remote HTTP/SSEMultimodal video analysis MCP — transcription, vision, and OCR for any video URL.45FairAuth: not declaredSpoken logoSpokenSpeech-to-Text · Local subprocess (stdio)Fetch published podcast transcripts as clean Markdown with real speaker names (not "Speaker 1") via the Spoken API. Search episodes, get transcripts, check credit balance.65GreatAuth: api key required

Verdict: choose Contendeo for speech-to-text work over a hosted endpoint; choose Spoken for speech-to-text as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Contendeo logoChoose Contendeo when

  • You need dedicated capabilities in the Speech-to-Text domain.
  • You prefer a remote HTTP/SSE transport.
  • You want tools like quick_transcribe, deep_analyze, clip_context.
Explore Contendeo

Spoken logoChoose Spoken when

  • You need dedicated capabilities in the Speech-to-Text domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: API key required.
  • You want tools like search_podcasts, get_transcript, list_episodes.
Explore Spoken

Feature & specification comparison

Rows where the two servers differ are marked.

SpecContendeo logoContendeoSpoken logoSpoken
CategorySpeech-to-TextSpeech-to-Text
Quality signal45/100 · Fair65/100 · Great
Install commandConfirmedConfirmed
TransportRemote HTTP/SSELocal subprocess (stdio)
AuthNot declaredAPI key required
PricingNot declaredFreemium
Required env varsNone listedNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars05
Directory activity 1 views 0 installs 0 upvotes 4 views 0 installs 0 upvotes
Tools48

Tools & capabilities

Contendeo tools 4

  • quick_transcribeTimestamped transcript with speaker identification. Audio-only. Fast.
  • deep_analyzeFull multimodal pipeline — transcript + keyframe vision + OCR, unified output.
  • clip_contextAnalyze a specific timestamp range without paying for the full video.
  • batch_analyzeProcess up to 10 videos in parallel with cross-video synthesis.

Spoken tools 8

  • search_podcastsSearch 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.
  • get_transcriptFetch 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.
  • list_episodesList 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.
  • get_balanceCheck the current Spoken credit balance, account email, and recent usage for the configured API key. Does not consume credits.
  • list_followingThe 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.
  • follow_podcastDeclare 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.
  • unfollow_podcastMute 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.
  • list_new_episodesWhat 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.

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Contendeo

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "contendeo": {
      "url": "https://contendeo.app/mcp/"
    }
  }
}

Spoken

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "spokenmd-spoken": {
      "command": "npx",
      "args": [
        "-y",
        "spoken-mcp"
      ]
    }
  }
}

Frequently asked questions

Contendeo is categorized under Speech-to-Text and uses a remote HTTP/SSE transport. Spoken belongs to Speech-to-Text and uses a local stdio subprocess. Pick Contendeo for speech-to-text work and Spoken for speech-to-text.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Contendeo has no declared pricing — check the project's own site. Spoken is listed as freemium — a free tier with paid plans. Auth: api key required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add contendeo and spokenmd-spoken as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Contendeo has a quality signal of 45/100 (Fair) with 1 views, 0 installs and 0 GitHub stars. Spoken has 65/100 (Great) with 4 views, 0 installs and 5 GitHub stars.