Edict vs Spoken

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

E
EdictSpeech-to-Text
Search your dictation transcripts and transcribe audio or video on-device, with speaker labels.37FairAuth: not declared
Spoken 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 Edict for speech-to-text work; 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?

E
Choose Edict when

  • You need dedicated capabilities in the Speech-to-Text domain.
Explore Edict

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.

Spec
E
Edict
Spoken logoSpoken
CategorySpeech-to-TextSpeech-to-Text
Quality signal37/100 · Fair65/100 · Great
Install commandNot confirmed yetConfirmed
Transport—Local subprocess (stdio)
AuthNot declaredAPI key required
PricingNot declaredFreemium
Required env varsNone listedNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars—5
Directory activity 0 views 0 installs 0 upvotes 4 views 0 installs 0 upvotes
ToolsNot listed8

Tools & capabilities

Edict tools

No tool names declared yet. Check the project README from the listing page.

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.

Edict

No confirmed install command for Edict yet — follow the setup steps linked from its listing page rather than a guessed package name.

Spoken

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

Frequently asked questions

Edict is categorized under Speech-to-Text and uses an install path we have not confirmed yet. Spoken belongs to Speech-to-Text and uses a local stdio subprocess. Pick Edict 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. Edict has no confirmed install command yet — follow its own setup instructions.

Edict 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 edict and spokenmd-spoken as separate keys in the same mcpServers object, and your assistant will call tools from either one.

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