Catalog PyPI
PACKAGE EXPLORERView in registry

aethexai-mcp

PyPI

Aethex MCP Server

aethexmcpspeech-to-texttext-to-speechvoice
Versions collected1
Direct dependencies12From release 1.0.0
Last observed20 Oct, 20:56 UTC

README

Version 1.0.0 documentation

Aethex MCP Server

Aethex MCP Server

Drive the Aethex voice platform from any MCP client.
Synthesize speech, transcribe audio, build voice agents and their knowledge bases,
place calls, browse conversations, and read usage, from Claude, Cursor, Codex, and more.

PyPI Python versions Tests License: MIT

Documentation  ·  Dashboard  ·  API Reference  ·  Discord  ·  Support


🎙️ Voice agents🗣️ Text-to-speech✍️ Transcription📞 Calls & conversations
Build, configure, ground in knowledgeSynthesize & preview to WAVSync & async jobsPlace calls, search transcripts, read usage

The Model Context Protocol (MCP) server for the Aethex voice-AI platform. It wraps the public Aethex API through the aethexai Python SDK and exposes it as MCP tools, so clients like Claude Desktop, Claude Code, Cursor, Windsurf, and Codex can run voice workflows directly. Authentication is one variable, AETHEX_API_KEY; every tool runs scoped to that key's tenant.

Install

Run it with uv; your MCP client launches it on demand, with no install step:

uvx aethexai-mcp

Or install it into an environment:

pip install aethexai-mcp

Requires Python 3.11+. Get an AETHEX_API_KEY from the developer portal.

Quickstart

Add the server to Claude Desktop under Settings > Developer > Edit Config (claude_desktop_config.json):

{
  "mcpServers": {
    "Aethex": {
      "command": "uvx",
      "args": ["aethexai-mcp"],
      "env": { "AETHEX_API_KEY": "ae_live_..." }
    }
  }
}

Restart Claude and ask it to "list my Aethex voices". On Windows, enable Help > Enable Developer Mode first.

MCP clients

Any MCP client works. Common setups:

ClientSetup
Claude DesktopAdd the JSON block above to claude_desktop_config.json.
Claude Codeclaude mcp add aethex --env AETHEX_API_KEY=ae_live_... -- uvx aethexai-mcp
CodexAdd an [mcp_servers.aethex] table to ~/.codex/config.toml (below).
Cursor / Windsurfpip install aethexai-mcp, then run python -m aethexai_mcp --api-key=ae_live_... --print and paste the printed block into the client's MCP config.

Codex (~/.codex/config.toml):

[mcp_servers.aethex]
command = "uvx"
args = ["aethexai-mcp"]
env = { AETHEX_API_KEY = "ae_live_..." }

To override the API base URL, add AETHEX_BASE_URL to the env.

Core workflows

⚠️ Synthesizing speech, transcribing audio, and placing calls consume Aethex credits.

Everything is driven in natural language. A few examples:

Text to speech

"List my available voices, then read this paragraph aloud with the most neutral one."

Transcription

"Transcribe this recording and summarize what the caller asked for."

Voice agents and knowledge

"Create a voice agent that books dentist appointments, attach our FAQ as a knowledge document, then place a test call to my number."

Conversations and usage

"Search my conversations for anyone who mentioned a refund and pull the full transcript of the most recent one."

"Show me this month's usage and which model handled the most minutes."

Tools

32 tools across 7 domains. Every tool runs scoped to the tenant behind your AETHEX_API_KEY and requires that key to carry the listed scope.

Voices & text-to-speech

ToolScopePurpose
list_voicesvoices:readList the tenant's available voices (global catalog + cloned), with optional language/tag filters and pagination.
synthesize_speechtts:useSynthesize text to speech with a chosen voice_id. Returns WAV audio.
preview_voicetts:useRender a short preview clip for a voice. Returns WAV audio.
list_tag_vocabularyvoices:readThe controlled vocabulary of voice tags (tone, texture, etc.) for filtering voices.

Transcription

ToolScopePurpose
transcribe_audiotranscribe:useSynchronously transcribe an audio file and return its text.
submit_transcription_jobtranscribe:useSubmit an async transcription job (poll for the result; webhooks are REST-only).
get_transcription_jobtranscribe:usePoll an async transcription job's status and result.
cancel_transcription_jobtranscribe:useCancel a pending async transcription job.

Voice agents

ToolScopePurpose
create_agentagents:writeCreate a voice agent (name, system_prompt, voice_id required).
get_agentagents:readFetch a single agent by id.
update_agentagents:writePatch an agent; only the fields you pass are changed.
list_agentsagents:readList the tenant's agents with pagination.
delete_agentagents:writeDelete an agent.
duplicate_agentagents:writeClone an agent along with its knowledge documents.

Agent knowledge bases

ToolScopePurpose
upload_knowledge_docagents:writeAttach a knowledge document (text or file) to an agent.
list_knowledge_docsagents:readList an agent's knowledge documents.
query_knowledge_baseagents:readHybrid (vector + keyword) retrieval over an agent's knowledge base.
delete_knowledge_docagents:writeRemove a knowledge document from an agent.

Calls

ToolScopePurpose
trigger_callcalls:writePlace a single outbound call (returns immediately with status="queued"; the dial runs off-request).
get_callcalls:readFetch a full call record.
get_call_statuscalls:readLightweight telephony status for a call.
list_callscalls:readList calls with status/direction filters and pagination.
batch_callscalls:writeDispatch a batch of outbound calls (one agent, many recipients).

Conversations

ToolScopePurpose
list_conversationsconversations:readList the tenant's conversations with pagination.
get_conversationconversations:readFetch a single conversation.
get_transcriptconversations:readFetch a conversation's turn-by-turn transcript.
search_conversationsconversations:readFull-text search over conversations.
submit_feedbackconversations:readAttach a rating and comment to a conversation.

Usage & models

ToolScopePurpose
get_usage_summaryusage:readUsage summary for the tenant (optionally scoped to one API key).
get_daily_usageusage:readDaily usage breakdown over a window of days.
get_monthly_usageusage:readMonthly usage breakdown.
list_modelsmodels:readList available models.

Configuration

The server is configured entirely through environment variables; only the API key is required.

VariableDefaultDescription
AETHEX_API_KEYrequiredYour Aethex API key; the only credential the server needs.
AETHEX_BASE_URLhttps://api.aethexai.comOverride the API base URL. Leave unset for production.
AETHEX_MCP_OUTPUT_MODEfilesHow audio outputs are returned: files, resources, or both.
AETHEX_MCP_BASE_PATH~/DesktopBase directory for saved audio when writing files.

Output modes

AETHEX_MCP_OUTPUT_MODE controls how the audio-producing tools (synthesize_speech, preview_voice) return results:

  1. files (default): save the audio to disk and return the file path.
  2. resources: return the audio inline as a base64-encoded MCP resource, with no disk I/O. Handy for containerized or sandboxed clients.
  3. both: save to disk and return the resource; a saved resource can be fetched later via its aethex://<filename> URI.

Troubleshooting

Claude Desktop logs:

  • macOS: ~/Library/Logs/Claude/mcp-server-Aethex.log
  • Windows: %APPDATA%\Claude\logs\mcp-server-Aethex.log

AETHEX_API_KEY environment variable is required: the server refuses to start without a key. Set it in the env block of your client config (or your shell), using a valid key from the developer portal.

Timeouts on long-running tools: large transcriptions especially can take a while, and the MCP Inspector may report a timeout even though the tool finished. Prefer submit_transcription_job + get_transcription_job over a single synchronous call.

spawn uvx ENOENT: your client can't find uvx on its PATH. Run which uvx and use that absolute path as the command (e.g. /usr/local/bin/uvx).

Development

Run from source:

git clone https://github.com/aethexai/aethexai-mcp
cd aethexai-mcp
uv venv && source .venv/bin/activate
uv pip install -e ".[dev]"
./scripts/test.sh                            # pytest (add --verbose / --fail-fast)
uv run fastmcp dev aethexai_mcp/server.py    # explore every tool in the MCP Inspector

Questions can be sent to developers@aethexai.com.

Community

License

Released under the MIT License.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
1.0.018 Jun 202612

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 20:56 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:10a4d6959a36d953f3c67eb5ca0a5fc6dcd6aa1c98e49725dc9e894ca08b8429