Paxa Labs vs Codebase Memory MCP

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

Paxa Labs logoPaxa LabsText-to-Speech · Local subprocess (stdio)Thai and English speech AI: text to speech with local playback, translation to Thai, and OCR64GoodAuth: not declaredCodebase Memory MCP logoCodebase Memory MCPKnowledge & Memory · Local subprocess (stdio)Code-intelligence engine that indexes a repo into a persistent knowledge graph — functions, classes, call chains, HTTP routes, cross-service links. 159 languages via tree-sitter + Hybrid LSP, sub-ms structural queries, 99% fewer tokens than grep. Single static binary, zero dependencies, 100% local. npx codebase-memory-mcp73GreatAuth: no auth required

Verdict: choose Paxa Labs for text-to-speech work as a local process; choose Codebase Memory MCP for knowledge & memory as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Paxa Labs logoChoose Paxa Labs when

  • You need dedicated capabilities in the Text-to-Speech domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: PAXA_API_KEY.
  • You want tools like speak, queue_speech, control_playback.
Explore Paxa Labs

Codebase Memory MCP logoChoose Codebase Memory MCP when

  • You need dedicated capabilities in the Knowledge & Memory domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: No auth required.
  • You want tools like index_repository, search_graph, query_graph.
Explore Codebase Memory MCP

Feature & specification comparison

Rows where the two servers differ are marked.

SpecPaxa Labs logoPaxa LabsCodebase Memory MCP logoCodebase Memory MCP
CategoryText-to-SpeechKnowledge & Memory
Quality signal64/100 · Good73/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredNo auth required
PricingNot declaredFree
Required env varsPAXA_API_KEYNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars1047,352
Directory activity 1 views 0 installs 0 upvotes 9 views 1 installs 1 upvotes
Tools1417

Tools & capabilities

Paxa Labs tools 14

  • speakSynthesize a short line with Paxa TTS and play it through this machine's speakers. Blocks until playback finishes. Waits for the currently playing audio but jumps ahead of queued long-form segments. For long content use queue_speech. Costs 10 credits per 1000 characters. Direction tags (paxa-tts-flash-v2, every voice): words in square brackets written into the text set the delivery from that point on, in English, Thai, or Chinese, e.g. [whispering], [speaking slowly, close to the microphone], [sad:0.5], or a blend [happy:0.7+sad:0.3]; [neutral] returns to the voice's own delivery. Sounds such as [laughs], [sighs], [gasps] play where written; [um] and [hmm] are spoken; <emph>...</emph> and <whisper>...</whisper> mark a span. Nothing in brackets is spoken, tag characters bill as text, and a tag the model cannot do is refused before any charge. On paxa-tts-flash-v1 only khanomchan and kaprao read tags, from a fixed emotion list.
  • queue_speechRead long content aloud (stories, articles, books). Splits the text into segments, synthesizes ahead while playing, and returns immediately; segments play in order after anything already queued. Monitor and control with the control_playback tool. Costs 10 credits per 1000 characters. Direction tags (paxa-tts-flash-v2, every voice): words in square brackets written into the text set the delivery from that point on, in English, Thai, or Chinese, e.g. [whispering], [speaking slowly, close to the microphone], [sad:0.5], or a blend [happy:0.7+sad:0.3]; [neutral] returns to the voice's own delivery. Sounds such as [laughs], [sighs], [gasps] play where written; [um] and [hmm] are spoken; <emph>...</emph> and <whisper>...</whisper> mark a span. Nothing in brackets is spoken, tag characters bill as text, and a tag the model cannot do is refused before any charge. On paxa-tts-flash-v1 only khanomchan and kaprao read tags, from a fixed emotion list.
  • control_playbackInspect and control the shared audio queue. status reports what is playing, what is queued, and any synthesis failures. pause and resume halt and continue playback (not supported on Windows). skip drops the current segment. clear stops playback and empties the queue.
  • play_audioPlay a local audio file through this machine's speakers, for example a file produced earlier by text_to_speech. Blocks until playback finishes. Free (no API call).
  • text_to_speechSynthesize speech with Paxa TTS and save it as an audio file without playing it: voiceovers, narration, audiobooks. Text beyond 5000 characters is split at paragraphs and sentences and the parts are joined into one file (needs ffmpeg). With subtitles set, an srt or vtt caption file that matches the voice word for word is written next to the audio. Costs 10 credits per 1000 characters, 12.5 with subtitles. Direction tags (paxa-tts-flash-v2, every voice): words in square brackets written into the text set the delivery from that point on, in English, Thai, or Chinese, e.g. [whispering], [speaking slowly, close to the microphone], [sad:0.5], or a blend [happy:0.7+sad:0.3]; [neutral] returns to the voice's own delivery. Sounds such as [laughs], [sighs], [gasps] play where written; [um] and [hmm] are spoken; <emph>...</emph> and <whisper>...</whisper> mark a span. Nothing in brackets is spoken, tag characters bill as text, and a tag the model cannot do is refused before any charge. On paxa-tts-flash-v1 only khanomchan and kaprao read tags, from a fixed emotion list.
  • translate_to_thaiTranslate text from any language into Thai with Paxa Translate. Accepts a single string or up to 200 segments that share context. Costs 25 credits per 1000 text characters (minimum 2 credits); context and glossary characters bill at 8 per 1000.
  • ocr_documentRun Paxa OCR on a local PDF, PNG, JPEG, or WebP file and return its content as GitHub-flavored Markdown (or structured blocks). Up to 50 pages and 10 MiB per file. Costs 6.5 credits per page.
  • extract_fieldsExtract typed fields from a local PDF, PNG, JPEG, or WebP document (up to 20 pages and 10 MiB) with Paxa Document Extraction. You write a schema of fields; every value returned is text printed in the document, read as the field's type, or null with the reason. Nothing is inferred or looked up. Built for Thai documents (receipts, tax invoices, forms, IDs) and fine on English ones. Costs 13 credits per page for a schema of up to 50 leaf fields and 19.5 per page for 51 to 100; the page reading and the evidence spans cost nothing extra. A schema the API refuses costs nothing and names the field and reason. The schema parameter summarizes the dialect; https://paxalabs.com/docs/extraction has every type and key.
  • transcribe_audioTranscribe a local recording or video of speech, Thai or any other language, code-switching included (mp3, wav, flac, ogg, m4a, aac, webm; or mp4, mov, mkv, avi and other video files, whose sound track is extracted locally with ffmpeg; up to 60 minutes and 25 MiB) with Paxa STT. The transcript comes back inline, so nothing needs to be read from disk afterwards; optionally it is also saved as txt, json (with word timings and segments), srt, or vtt, named after the recording. Existing files are never overwritten. Detects the language, handles code-switching, and can label speakers. Terms configured in PAXA_VOCABULARY or PAXA_VOCABULARY_FILE are pinned on every call. Costs 8.33 credits per minute of audio (0.1 minimum); subtitles and word timings cost nothing extra. Long recordings take minutes to process.
  • listenRecord one spoken turn from this machine's microphone and return its transcript (Thai, English, or other languages, code-switching included). Paxa's realtime transcription detects when the user starts and stops talking, so the call returns as soon as the turn ends; the audio goes straight to the API and nothing is written to disk. Waits for any speech this server is playing to finish first. Use it after speak when you asked the user a question and want their spoken answer. Returns an empty transcript when nobody spoke within wait_seconds. Costs 12.5 credits per minute of audio sent, silence included (a few seconds of listening costs well under one credit). Needs a microphone recorder on this machine (ffmpeg or sox; parecord or arecord on Linux) and Node 22 or newer; the host app must have microphone permission.
  • send_feedbackReport a wrong or poor output, an API problem, or a platform issue to the Paxa Labs team, tied to the request ids the other tools print ("Request id: ..."). A rating alone on at least one request id is a complete report. For a wrong output, add an example with the exact input, the output received, and the output expected. Free, no credits. Use it when the user says an output was wrong, or asks to report a problem; do not file reports the user did not ask for.
  • list_voicesList the Paxa TTS voice roster: ids, names, gender, language, and character notes. Free.
  • +2 more on the listing page

Codebase Memory MCP tools 17

  • index_repositoryIndex a repository. full/moderate add semantics; fast omits them; cross-repo-intelligence links services. Reports coverage gaps.
  • search_graphFind symbols via BM25 query, regex name/qn filters, or semantic_query. Rows keep qn/file/lines and in/out over CALLS/USAGE/CALL_REFERENCE/INHERITS/IMPLEMENTS.
  • query_graphRead-only Cypher for multi-hop, aggregation, complexity, or cross-service analysis. Default: 200 visible rows with exact/lower-bound totals and truncation; continue safely with next_cursor. graph=missed is a file tree of flagged coverage gaps; absence is not proof of completeness. Use get_graph_schema(diagnostics=full) for properties.
  • trace_pathTrace callers/callees, data flow, or cross-service paths. Defaults exclude tests and resolver evidence. Rows keep qn/hop with explicit totals, relations, and continuations.
  • get_code_snippetRead a search_graph symbol. auto bounds source and outlines large containers; full restores up to 500 lines. Source/outline pages continue; coverage_note marks gaps.
  • get_file_outlineDeclaration outline of one exact repository-relative file: optional exact label filter, source order, exact total/offset/limit paging; file/folder/container nodes excluded.
  • get_graph_schemaGet node-label and edge-type counts. diagnostics=full also lists queryable properties.
  • compare_graphsCompare two indexed snapshots: deterministic target-only additions and base-only removals of stable node/edge identities; each set capped by limit and a 512 KiB budget with exact totals and truncation reasons.
  • get_architectureCompact counts, languages, packages, entry points. Request structure, dependencies, routes, hotspots, boundaries, layers, clusters, cycles, or file_tree; path scopes a directory.
  • search_codeGraph-ranked text search: compact symbols, full bounded source, or file paths.
  • list_projectsList projects with stable paging. Identity is lean; stats adds graph sizes.
  • delete_projectDelete a project from the index
  • +5 more on the listing page

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.

Paxa Labs

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "paxa-labs": {
      "command": "npx",
      "args": [
        "-y",
        "@paxalabs/mcp"
      ],
      "env": {
        "PAXA_API_KEY": "YOUR_PAXA_API_KEY_HERE"
      }
    }
  }
}

Codebase Memory MCP

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

Frequently asked questions

Paxa Labs is categorized under Text-to-Speech and uses a local stdio subprocess. Codebase Memory MCP belongs to Knowledge & Memory and uses a local stdio subprocess. Pick Paxa Labs for text-to-speech work and Codebase Memory MCP for knowledge & memory.

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.

Paxa Labs has no declared pricing — check the project's own site. Codebase Memory MCP is listed as free. Auth: no auth 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 paxa-labs and deusdata-codebase-memory-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Paxa Labs has a quality signal of 64/100 (Good) with 1 views, 0 installs and 10 GitHub stars. Codebase Memory MCP has 73/100 (Great) with 9 views, 1 installs and 47,352 GitHub stars.