Whissle MCP Server
The Whissle MCP Server provides API endpoints for audio and text processing with these capabilities:
Speech to Text: Convert audio to text with options for timestamps, models, and boosted word recognition
Speech Diarization: Transcribe audio with speaker identification and configurable maximum speakers
Text Translation: Translate between different languages
Text Summarization: Create concise summaries of long text using LLM models
ASR Model Listing: View available speech recognition models and their capabilities
⚠️ Some tools incur charges when used, so only call them when explicitly requested.
Used for secure configuration management by storing sensitive credentials like the Whissle API token in environment variables
Supported as a model option for the text summarization feature
The implementation language for the server, which handles all API interactions with Whissle
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Whissle MCP Server transcribe this meeting recording and identify who's speaking"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Whissle MCP Server
A Python-based server that provides access to Whissle API endpoints for speech-to-text, diarization, translation, and text summarization.
⚠️ Important Notes
This server provides access to Whissle API endpoints which may incur costs
Each tool that makes an API call is marked with a cost warning
Please follow these guidelines:
Only use tools when explicitly requested by the user
For tools that process audio, consider the length of the audio as it affects costs
Some operations like translation or summarization may have higher costs
Tools without cost warnings in their description are free to use as they only read existing data
Related MCP server: audio-transcription-mcp
Prerequisites
Python 3.8 or higher
pip (Python package installer)
A Whissle API authentication token
Installation
Clone the repository:
git clone <repository-url> cd whissle_mcpCreate and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows, use: venv\Scripts\activateInstall the required packages:
pip install -e .Set up environment variables: Create a
.envfile in the project root with the following content:WHISSLE_AUTH_TOKEN=insert_auth_token_here # Replace with your actual Whissle API token WHISSLE_MCP_BASE_PATH=/path/to/your/base/directory⚠️ Important: Never commit your actual token to the repository. The
.envfile is included in.gitignoreto prevent accidental commits.Configure Claude Integration: Copy
claude_config.example.jsontoclaude_config.jsonand update the paths:{ "mcpServers": { "Whissle": { "command": "/path/to/your/venv/bin/python", "args": [ "/path/to/whissle_mcp/server.py" ], "env": { "WHISSLE_AUTH_TOKEN": "insert_auth_token_here" } } } }Replace
/path/to/your/venv/bin/pythonwith the actual path to your Python interpreter in the virtual environmentReplace
/path/to/whissle_mcp/server.pywith the actual path to your server.py file
Configuration
Environment Variables
WHISSLE_AUTH_TOKEN: Your Whissle API authentication token (required)This is a sensitive credential that should never be shared or committed to version control
Contact your administrator to obtain a valid token
Store it securely in your local
.envfile
WHISSLE_MCP_BASE_PATH: Base directory for file operations (optional, defaults to user's Desktop)
Supported Audio Formats
The server supports the following audio formats:
WAV (.wav)
MP3 (.mp3)
OGG (.ogg)
FLAC (.flac)
M4A (.m4a)
File Size Limits
Maximum file size: 25 MB
Files larger than this limit will be rejected
Available Tools
1. Speech to Text
Convert speech to text using the Whissle API.
response = speech_to_text(
audio_file_path="path/to/audio.wav",
model_name="en-NER", # Default model
timestamps=True, # Include word timestamps
boosted_lm_words=["specific", "terms"], # Words to boost in recognition
boosted_lm_score=80 # Score for boosted words (0-100)
)2. Speech Diarization
Convert speech to text with speaker identification.
response = diarize_speech(
audio_file_path="path/to/audio.wav",
model_name="en-NER", # Default model
max_speakers=2, # Maximum number of speakers to identify
boosted_lm_words=["specific", "terms"],
boosted_lm_score=80
)3. Text Translation
Translate text from one language to another.
response = translate_text(
text="Hello, world!",
source_language="en",
target_language="es"
)4. Text Summarization
Summarize text using an LLM model.
response = summarize_text(
content="Long text to summarize...",
model_name="openai", # Default model
instruction="Provide a brief summary" # Optional
)5. List ASR Models
List all available ASR models and their capabilities.
response = list_asr_models()Response Format
Speech to Text and Diarization
{
"transcript": "The transcribed text",
"duration_seconds": 10.5,
"language_code": "en",
"timestamps": [
{
"word": "The",
"startTime": 0,
"endTime": 100,
"confidence": 0.95
}
],
"diarize_output": [
{
"text": "The transcribed text",
"speaker_id": 1,
"start_timestamp": 0,
"end_timestamp": 10.5
}
]
}Translation
{
"type": "text",
"text": "Translation:\nTranslated text here"
}Summarization
{
"type": "text",
"text": "Summary:\nSummarized text here"
}Error Response
{
"error": "Error message here"
}Error Handling
The server includes robust error handling with:
Automatic retries for HTTP 500 errors
Detailed error messages for different failure scenarios
File validation (existence, size, format)
Authentication checks
Common error types:
HTTP 500: Server error (with retry mechanism)
HTTP 413: File too large
HTTP 415: Unsupported file format
HTTP 401/403: Authentication error
Running the Server
Start the server:
mcp serveThe server will be available at the default MCP port (usually 8000)
Testing
A test script is provided to verify the functionality of all tools:
python test_whissle.pyThe test script will:
Check for authentication token
Test all available tools
Provide detailed output of each operation
Handle errors gracefully
Support
For issues or questions, please:
Check the error messages for specific details
Verify your authentication token
Ensure your audio files meet the requirements
Contact Whissle support for API-related issues
License
[Add your license information here]
Available Tools
5 toolsdiarize_speechA
Convert speech to text with speaker diarization and save the output text file to a given directory. Directory is optional, if not provided, the output file will be saved to $HOME/Desktop.
⚠️ COST WARNING: This tool makes an API call to Whissle which may incur costs. Only use when explicitly requested by the user.
Args:
audio_file_path (str): Path to the audio file to transcribe
model_name (str, optional): The name of the ASR model to use. Defaults to "en-NER"
max_speakers (int, optional): Maximum number of speakers to identify
boosted_lm_words (List[str], optional): Words to boost in recognition
boosted_lm_score (int, optional): Score for boosted words (0-100)
output_directory (str, optional): Directory where files should be saved.
Defaults to $HOME/Desktop if not provided.
Returns:
TextContent with the diarized transcription and path to the output file.
Inputs: audio_file_path (required), model_name, max_speakers, boosted_lm_words, +1 more. Returns: result
list_asr_modelsB
List all available ASR models and their capabilities.
Inputs: no named parameters. Returns: Text content for a message.
speech_to_textA
Convert speech to text with a given model and save the output text file to a given directory. Directory is optional, if not provided, the output file will be saved to $HOME/Desktop.
⚠️ COST WARNING: This tool makes an API call to Whissle which may incur costs. Only use when explicitly requested by the user.
Args:
audio_file_path (str): Path to the audio file to transcribe
model_name (str, optional): The name of the ASR model to use. Defaults to "en-NER"
timestamps (bool, optional): Whether to include word timestamps
boosted_lm_words (List[str], optional): Words to boost in recognition
boosted_lm_score (int, optional): Score for boosted words (0-100)
output_directory (str, optional): Directory where files should be saved.
Defaults to $HOME/Desktop if not provided.
Returns:
TextContent with the transcription and path to the output file.
Inputs: audio_file_path (required), model_name, timestamps, boosted_lm_words, +1 more. Returns: result
summarize_textA
Summarize text using an LLM model.
⚠️ COST WARNING: This tool makes an API call to Whissle which may incur costs. Only use when explicitly requested by the user.
Args:
content (str): The text to summarize
model_name (str, optional): The LLM model to use. Defaults to "openai"
instruction (str, optional): Specific instructions for summarization
Returns:
TextContent with the summary.
Inputs: content (required), model_name, instruction. Returns: Text content for a message.
translate_textA
Translate text from one language to another.
⚠️ COST WARNING: This tool makes an API call to Whissle which may incur costs. Only use when explicitly requested by the user.
Args:
text (str): The text to translate
source_language (str): Source language code (e.g., "en" for English)
target_language (str): Target language code (e.g., "es" for Spanish)
Returns:
TextContent with the translated text.
Inputs: text (required), source_language (required), target_language (required). Returns: Text content for a message.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Most tools have distinct purposes: diarize_speech adds speaker identification to transcription, speech_to_text is basic transcription, list_asr_models provides metadata, summarize_text and translate_text handle text processing. However, diarize_speech and speech_to_text share significant overlap in core transcription functionality, which could cause confusion about when to use each.
All tools follow a consistent verb_noun naming pattern with snake_case throughout: diarize_speech, list_asr_models, speech_to_text, summarize_text, and translate_text. The naming is predictable and follows the same grammatical structure across all five tools.
Five tools is reasonable for a speech/text processing server, covering transcription (with and without diarization), model listing, summarization, and translation. The count feels slightly thin for a comprehensive MCP server but adequately covers core functionality without being overwhelming.
The server covers basic speech-to-text workflows and text processing operations, but has notable gaps. There's no text-to-speech capability, no audio file manipulation tools, and no batch processing operations. While the existing tools handle individual tasks, the surface feels incomplete for a comprehensive speech/text processing domain.
Maintenance
Related MCP Connectors
Transcribe, summarize and analyze audio with AssemblyAI speech-to-text and Speech Understanding.
Speech denoise, transcripts (SRT/VTT), embeddings, reranking, entities and translation.
Transcribe audio and video to text, SRT or VTT. Summaries, translation. Optional OAuth sign-in.
AI transcription API: turn voice memos, meetings and audio URLs into text and SRT subtitles.
Related MCP Servers
- AlicenseBqualityDmaintenanceA Python server that enables language models like Claude to interact with WhatsApp Business API through GreenAPI, supporting features like sending messages and managing groups.527MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for audio transcription with speaker diarization. Transcribes MP3/WAV files using Faster-Whisper and pyannote.audio, outputs markdown with speaker labels, timestamps, summaries, and action items.1MIT
- FlicenseNot gradedqualityDmaintenanceA self-hosted HTTP MCP server wrapping the ElevenLabs speech-to-text API, enabling audio transcription with speaker diarization.-
- FlicenseNot gradedqualityDmaintenanceAn MCP server that provides speech-to-text transcription and speaker diarization using OpenAI Whisper and pyannote.audio.-
Appeared in Searches
- Automating File Processing and Communication Tasks
- A workflow for processing and sharing meeting-related materials
- A workflow for processing and summarizing voice recordings into meeting notes and sending emails
- A search for translation services or information
- A platform providing TTS (Text-to-Speech) capabilities