MCP server for Claude Code, Cursor, and VS Code
An AI agent can speak, listen, or read a scanned page during a session only when a server offers those abilities to it as tools.
@paxalabs/mcp gives the agent the Paxa API as tools: speech through the speakers or to files with subtitles, listening through the microphone, transcription, document reading and extraction, and translation into Thai. The server is in beta, and transcription is a Research preview.
Install once, call the tools#
Claude Code takes one command, and Claude Desktop, Cursor, and VS Code take one JSON entry with the key in env. The tool list comes from the MCP server docs.
claude mcp add paxa -e PAXA_API_KEY=pxa_your_key_here -- npx -y @paxalabs/mcp{ "mcpServers": { "paxa": { "command": "npx", "args": [ "-y", "@paxalabs/mcp" ], "env": { "PAXA_API_KEY": "pxa_your_key_here" } } } }
| Tool | What it does |
|---|---|
| speak | Synthesize a short line and play it through the speakers, blocking until playback ends |
| queue_speech | Read long content aloud: splits the text, synthesizes ahead while playing, and returns at once |
| control_playback | Control the shared audio queue: status, pause, resume, skip, clear |
| play_audio | Play a local audio file through the speakers |
| text_to_speech | Synthesize speech to an audio file (mp3, opus, wav) without playing it. A long script is split and joined into one file, and subtitles writes a matching SRT or VTT file |
| design_voice | Make a new voice from a written description and play the line it speaks |
| refine_voice | Change a draft voice in words, such as "a little lower and slower", and play its new line |
| save_voice | Save a draft as one of your voices, with an id the speech tools accept |
| rename_voice | Rename one of your designed voices; its id and sound stay |
| delete_voice | Delete one of your designed voices and free its slot |
| listen | Record one spoken turn from the microphone and return its transcript. The API detects when the speaker stops talking |
| transcribe_audio | Transcribe a local recording or video, with speaker labels, word timings, SRT or VTT subtitles, the spoken or written convention, a vocabulary, and a list of pauses to cut |
| ocr_document | OCR a local PDF, PNG, JPEG, or WebP into Markdown or structured blocks |
| extract_fields | Fill a schema of typed fields (Thai IDs, dates, amounts, banks, line items) from a local PDF or image. Every value is printed in the document, or null with the reason |
| translate_to_thai | Translate any language into Thai, with formality, glossary, and context controls |
| send_feedback | Rate an output or report a problem to the Paxa team, tied to the request ids the tools print |
| list_voices | Your designed voices and slots, then the voice roster with character notes |
| list_models | Available models, limits, and pricing |
| get_account | Credit balance, plan, and rate limits |
Tools by product
From key to first tool call#
The server runs on your machine, started by the client over stdio.
Create a key
Create an API key in the dashboard. The server reads it from the PAXA_API_KEY environment variable.
Add the server
In Claude Code, run claude mcp add with the key. Claude Desktop, Cursor, and VS Code take a JSON entry with the key in its env block.
Ask for the work
Ask the agent to read a summary aloud or to pull the total from an invoice, and it calls the matching tool. In Claude Code, a paxa say hook in settings.json speaks a short phrase when Claude waits for a permission or an answer.
Paxa TTS Flash v2 lists at $10 per 1M characters.
Questions#
Which clients does it work with?
Claude Code installs it with one command. The JSON entry covers Claude Desktop, Cursor, VS Code, and any other client that launches stdio servers. Claude Desktop can also install a .mcpb bundle from the releases page, and the bundle needs no Node.js.
How does the server get the API key?
It reads PAXA_API_KEY, which the install command and the JSON entry both set. The .mcpb bundle asks for the key in its extension settings. Without a key the server still starts, and each tool that calls the API fails with setup instructions the agent can relay.
What does beta mean here?
The tool set is complete and tested end to end, and tool names and behavior may still change before 1.0. The transcription behind listen and transcribe_audio is a Research preview. Report problems in the issues of the GitHub repository.
How does the agent skill differ from the MCP server?
The skill is one SKILL.md that teaches a coding agent to write code against the API. The MCP server gives the agent the API as tools it calls itself. Install the skill with npx skills add https://paxalabs.com and the skills CLI places it for Claude Code, Cursor, and the other agents it supports.
Start with free credits
Sign in with Google, GitHub, or Hugging Face and spend 100 one-time free credits on your own text.