Wubble
What this MCP does
Creates, edits, analyzes, transcribes, dubs, isolates, and manages music, speech, voiceovers, podcasts, and sound effects.
Tools
Input schema
{'type': 'object', 'required': ['upload_audio_id'], 'properties': {'upload_audio_id': {'type': 'string', 'description': 'Uploaded Wubble audio ID to analyze.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'properties': {'duration': {'type': 'number', 'description': 'Detected audio duration.'}, 'lyrics_sections': {'type': 'array', 'items': {'type': 'object', 'properties': {}, 'description': 'Recognized lyric section.', 'additionalProperties': True}, 'description': 'Recognized lyric sections.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['source_url', 'target_voice_id'], 'properties': {'model_id': {'type': 'string', 'description': 'Optional model ID.'}, 'source_url': {'type': 'string', 'format': 'uri', 'description': 'HTTPS URL for MCP to fetch and convert.'}, 'file_format': {'type': 'string', 'description': 'Optional file format.'}, 'output_format': {'type': 'string', 'description': 'Optional output format.'}, 'target_voice_id': {'type': 'string', 'description': 'Target Wubble voice ID.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'required': ['request_id', 'status'], 'properties': {'status': {'type': 'string', 'description': 'Current request status.'}, 'request_id': {'type': 'string', 'description': 'Wubble request ID.'}, 'estimated_seconds': {'type': 'number', 'description': 'Estimated completion time in seconds.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['prompt'], 'properties': {'prompt': {'type': 'string', 'description': 'Description of the instrumental track to generate.'}, 'timeout_seconds': {'type': 'number', 'description': 'Maximum seconds to wait for completion. Max 45.'}, 'poll_interval_seconds': {'type': 'number', 'description': 'Seconds between status checks. Max 10.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'required': ['request_id', 'status'], 'properties': {'status': {'type': 'string', 'description': 'Current request status.'}, 'request_id': {'type': 'string', 'description': 'Wubble request ID.'}, 'result_url': {'type': 'string', 'description': 'Wubble-owned result URL when available.'}, 'credits_used': {'type': 'number', 'description': 'Credits or requests consumed when available.'}, 'error_message': {'type': 'string', 'description': 'User-safe error message when failed.'}, 'estimated_seconds': {'type': 'number', 'description': 'Estimated completion time in seconds.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['prompt'], 'properties': {'prompt': {'type': 'string', 'description': 'Podcast topic or direction.'}, 'voices': {'type': 'array', 'items': {'type': 'string'}}, 'conversations': {'type': 'array', 'items': {'type': 'object', 'properties': {}, 'description': 'Podcast conversation turn.', 'additionalProperties': True}}, 'background_music': {'type': 'boolean', 'description': 'Whether to include background music.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'properties': {}, 'description': 'Wubble developer-service response data.', 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['prompt'], 'properties': {'lyrics': {'type': 'string', 'description': 'Optional lyrics to use for the song.'}, 'prompt': {'type': 'string', 'description': 'Description of the song to generate.'}, 'timeout_seconds': {'type': 'number', 'description': 'Maximum seconds to wait for completion. Max 45.'}, 'poll_interval_seconds': {'type': 'number', 'description': 'Seconds between status checks. Max 10.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'required': ['request_id', 'status'], 'properties': {'status': {'type': 'string', 'description': 'Current request status.'}, 'request_id': {'type': 'string', 'description': 'Wubble request ID.'}, 'result_url': {'type': 'string', 'description': 'Wubble-owned result URL when available.'}, 'credits_used': {'type': 'number', 'description': 'Credits or requests consumed when available.'}, 'error_message': {'type': 'string', 'description': 'User-safe error message when failed.'}, 'estimated_seconds': {'type': 'number', 'description': 'Estimated completion time in seconds.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'loop': {'type': 'boolean', 'description': 'Whether the sound effect should loop.'}, 'text': {'type': 'string', 'description': 'Sound effect description.'}, 'output_format': {'type': 'string', 'description': 'Optional output format.'}, 'timeout_seconds': {'type': 'number', 'description': 'Maximum seconds to wait for completion. Max 45.'}, 'duration_seconds': {'type': 'number', 'description': 'Optional duration from 0.5 to 30 seconds.'}, 'prompt_influence': {'type': 'number', 'description': 'Optional prompt influence from 0 to 1.'}, 'poll_interval_seconds': {'type': 'number', 'description': 'Seconds between status checks. Max 10.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'required': ['request_id', 'status'], 'properties': {'status': {'type': 'string', 'description': 'Current request status.'}, 'request_id': {'type': 'string', 'description': 'Wubble request ID.'}, 'result_url': {'type': 'string', 'description': 'Wubble-owned result URL when available.'}, 'credits_used': {'type': 'number', 'description': 'Credits or requests consumed when available.'}, 'error_message': {'type': 'string', 'description': 'User-safe error message when failed.'}, 'estimated_seconds': {'type': 'number', 'description': 'Estimated completion time in seconds.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Text to synthesize into a finished voiceover.'}, 'model_id': {'type': 'string', 'description': 'Optional model ID.'}, 'voice_id': {'type': 'string', 'description': 'Optional Wubble voice ID.'}, 'language_code': {'type': 'string', 'description': 'Optional language code.'}, 'output_format': {'type': 'string', 'description': 'Optional output format. Use mp3_44100_128 for MP3 audio; shorthand mp3 is accepted and normalized.'}, 'voice_settings': {'type': 'object', 'properties': {}, 'description': 'Optional voice settings.', 'additionalProperties': True}, 'timeout_seconds': {'type': 'number', 'description': 'Maximum seconds to wait for completion. Max 45.'}, 'poll_interval_seconds': {'type': 'number', 'description': 'Seconds between status checks. Max 10.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'required': ['request_id', 'status'], 'properties': {'status': {'type': 'string', 'description': 'Current request status.'}, 'request_id': {'type': 'string', 'description': 'Wubble request ID.'}, 'result_url': {'type': 'string', 'description': 'Wubble-owned result URL when available.'}, 'credits_used': {'type': 'number', 'description': 'Credits or requests consumed when available.'}, 'error_message': {'type': 'string', 'description': 'User-safe error message when failed.'}, 'estimated_seconds': {'type': 'number', 'description': 'Estimated completion time in seconds.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'Wubble-owned or user-provided audio URL to describe.'}, 'model': {'type': 'string', 'description': 'Optional model.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'properties': {'tags': {'type': 'array', 'items': {'type': 'string', 'description': 'List item.'}, 'description': 'Detected tags.'}, 'genres': {'type': 'array', 'items': {'type': 'string', 'description': 'List item.'}, 'description': 'Detected genres.'}, 'instrument': {'type': 'string', 'description': 'Detected primary instrument when available.'}, 'description': {'type': 'string', 'description': 'Audio description.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['source_url', 'target_lang'], 'properties': {'name': {'type': 'string', 'description': 'Optional dubbing job name.'}, 'end_time': {'type': 'number', 'description': 'Optional end time.'}, 'watermark': {'type': 'boolean', 'description': 'Whether to watermark output.'}, 'source_url': {'type': 'string', 'format': 'uri', 'description': 'HTTPS URL for MCP to fetch and dub.'}, 'start_time': {'type': 'number', 'description': 'Optional start time.'}, 'source_lang': {'type': 'string', 'description': 'Optional source language code.'}, 'target_lang': {'type': 'string', 'description': 'Target language code.'}, 'num_speakers': {'type': 'number', 'description': 'Optional number of speakers.'}, 'dubbing_studio': {'type': 'boolean', 'description': 'Whether to enable dubbing studio.'}, 'highest_resolution': {'type': 'boolean', 'description': 'Whether to request highest resolution.'}, 'use_profanity_filter': {'type': 'boolean', 'description': 'Whether to use profanity filter.'}, 'disable_voice_cloning': {'type': 'boolean', 'description': 'Whether to disable voice cloning.'}, 'drop_background_audio': {'type': 'boolean', 'description': 'Whether to drop background audio.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'required': ['request_id', 'status'], 'properties': {'status': {'type': 'string', 'description': 'Current request status.'}, 'request_id': {'type': 'string', 'description': 'Wubble request ID.'}, 'estimated_seconds': {'type': 'number', 'description': 'Estimated completion time in seconds.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['edit_start', 'edit_end'], 'properties': {'lyrics': {'type': 'string', 'description': 'Optional replacement lyrics.'}, 'edit_end': {'type': 'number', 'description': 'Edit region end in milliseconds.'}, 'track_id': {'type': 'string', 'description': 'Caller-owned track/song request ID.'}, 'edit_start': {'type': 'number', 'description': 'Edit region start in milliseconds.'}, 'upload_audio_id': {'type': 'string', 'description': 'Uploaded Wubble audio ID.'}, 'source_duration_ms': {'type': 'number', 'description': 'Optional source duration in milliseconds.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'required': ['request_id', 'status'], 'properties': {'status': {'type': 'string', 'description': 'Current request status.'}, 'request_id': {'type': 'string', 'description': 'Wubble request ID.'}, 'estimated_seconds': {'type': 'number', 'description': 'Estimated completion time in seconds.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['lyrics'], 'properties': {'lyrics': {'type': 'string', 'description': 'Existing lyrics to extend.'}, 'prompt': {'type': 'string', 'description': 'Optional direction for the extension.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'properties': {'title': {'type': 'string', 'description': 'Generated title when available.'}, 'lyrics': {'type': 'string', 'description': 'Extended lyrics.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['song_id', 'lyrics', 'extend_at'], 'properties': {'model': {'enum': ['mureka-7.6', 'mureka-8'], 'type': 'string', 'description': 'Optional model.'}, 'lyrics': {'type': 'string', 'description': 'Lyrics for the extension.'}, 'prompt': {'type': 'string', 'description': 'Optional extension prompt.'}, 'song_id': {'type': 'string', 'description': 'Caller-owned completed song request ID.'}, 'extend_at': {'type': 'number', 'description': 'Extension position in milliseconds.'}, 'extend_type': {'enum': ['tail', 'head'], 'type': 'string', 'description': 'Where to extend the song.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'required': ['request_id', 'status'], 'properties': {'status': {'type': 'string', 'description': 'Current request status.'}, 'request_id': {'type': 'string', 'description': 'Wubble request ID.'}, 'estimated_seconds': {'type': 'number', 'description': 'Estimated completion time in seconds.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['prompt'], 'properties': {'prompt': {'type': 'string', 'description': 'Description of the instrumental track to generate.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'required': ['request_id', 'status'], 'properties': {'status': {'type': 'string', 'description': 'Current request status.'}, 'request_id': {'type': 'string', 'description': 'Wubble request ID.'}, 'estimated_seconds': {'type': 'number', 'description': 'Estimated completion time in seconds.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['prompt'], 'properties': {'style': {'type': 'string', 'description': 'Optional lyric style.'}, 'prompt': {'type': 'string', 'description': 'Description of the lyrics to generate.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'properties': {'title': {'type': 'string', 'description': 'Generated title when available.'}, 'lyrics': {'type': 'string', 'description': 'Generated lyrics.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['prompt'], 'properties': {'lyrics': {'type': 'string', 'description': 'Optional lyrics to use for the song.'}, 'prompt': {'type': 'string', 'description': 'Description of the song to generate.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'required': ['request_id', 'status'], 'properties': {'status': {'type': 'string', 'description': 'Current request status.'}, 'request_id': {'type': 'string', 'description': 'Wubble request ID.'}, 'estimated_seconds': {'type': 'number', 'description': 'Estimated completion time in seconds.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'loop': {'type': 'boolean', 'description': 'Whether the sound effect should loop.'}, 'text': {'type': 'string', 'description': 'Sound effect description.'}, 'output_format': {'type': 'string', 'description': 'Optional output format.'}, 'duration_seconds': {'type': 'number', 'description': 'Optional duration from 0.5 to 30 seconds.'}, 'prompt_influence': {'type': 'number', 'description': 'Optional prompt influence from 0 to 1.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'properties': {'status': {'type': 'string', 'description': 'Generation status.'}, 'request_id': {'type': 'string', 'description': 'Wubble request ID.'}, 'result_url': {'type': 'string', 'description': 'Wubble-owned sound effect result URL.'}, 'credits_used': {'type': 'number', 'description': 'Credits or requests consumed.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['generate_type'], 'properties': {'lyrics': {'type': 'string', 'description': 'Optional lyrics.'}, 'prompt': {'type': 'string', 'description': 'Optional generation prompt.'}, 'song_id': {'type': 'string', 'description': 'Caller-owned completed song request ID.'}, 'generate_end': {'type': 'number', 'description': 'End time in milliseconds.'}, 'vocal_gender': {'enum': ['male', 'female'], 'type': 'string', 'description': 'Optional vocal gender.'}, 'generate_type': {'type': 'string', 'description': 'Track type to generate.'}, 'generate_start': {'type': 'number', 'description': 'Start time in milliseconds.'}, 'upload_audio_id': {'type': 'string', 'description': 'Uploaded Wubble audio ID.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'required': ['request_id', 'status'], 'properties': {'status': {'type': 'string', 'description': 'Current request status.'}, 'request_id': {'type': 'string', 'description': 'Wubble request ID.'}, 'estimated_seconds': {'type': 'number', 'description': 'Estimated completion time in seconds.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'properties': {'plan': {'type': 'string', 'description': 'Current plan when available.'}, 'reset_at': {'type': 'string', 'description': 'Allowance reset timestamp when available.'}, 'credits_remaining': {'type': 'number', 'description': 'Remaining Wubble credits when available.'}, 'api_calls_remaining': {'type': 'number', 'description': 'Remaining monthly developer API calls.'}, 'monthly_api_call_allowance': {'type': 'number', 'description': 'Monthly developer API call allowance.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['dubbingId', 'language_code', 'format'], 'properties': {'format': {'enum': ['srt', 'webvtt', 'json'], 'type': 'string', 'description': 'Transcript format.'}, 'dubbingId': {'type': 'string', 'description': 'Dubbing provider/request ID.'}, 'language_code': {'type': 'string', 'description': 'Transcript language code.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'properties': {'dubbing_id': {'type': 'string', 'description': 'Provider dubbing ID when available.'}, 'request_id': {'type': 'string', 'description': 'Wubble dubbing request ID when available.'}, 'transcript': {'type': 'object', 'properties': {}, 'description': 'Dubbing transcript payload.', 'additionalProperties': True}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['requestId'], 'properties': {'requestId': {'type': 'string', 'description': 'Wubble request ID to inspect.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'required': ['request_id', 'status'], 'properties': {'status': {'type': 'string', 'description': 'Current request status.'}, 'request_id': {'type': 'string', 'description': 'Wubble request ID.'}, 'result_url': {'type': 'string', 'description': 'Wubble-owned result URL when available.'}, 'credits_used': {'type': 'number', 'description': 'Credits or requests consumed when available.'}, 'error_message': {'type': 'string', 'description': 'User-safe error message when failed.'}, 'estimated_seconds': {'type': 'number', 'description': 'Estimated completion time in seconds.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['requestId'], 'properties': {'requestId': {'type': 'string', 'description': 'Speech request ID to inspect.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'required': ['request_id', 'status'], 'properties': {'status': {'type': 'string', 'description': 'Current request status.'}, 'request_id': {'type': 'string', 'description': 'Wubble request ID.'}, 'result_url': {'type': 'string', 'description': 'Wubble-owned result URL when available.'}, 'credits_used': {'type': 'number', 'description': 'Credits or requests consumed when available.'}, 'error_message': {'type': 'string', 'description': 'User-safe error message when failed.'}, 'estimated_seconds': {'type': 'number', 'description': 'Estimated completion time in seconds.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'properties': {'credits': {'type': 'object', 'properties': {}, 'description': 'Credits and plan details when available.', 'additionalProperties': True}, 'message': {'type': 'string', 'description': 'Short user-facing readiness message.'}, 'connected': {'type': 'boolean', 'description': 'Whether this MCP call is authenticated to Wubble.'}, 'workflows': {'type': 'array', 'items': {'type': 'object', 'properties': {}, 'description': 'Workflow entry.', 'additionalProperties': True}, 'description': 'Supported Wubble audio workflows.'}, 'next_action': {'type': 'string', 'description': 'Suggested next user action.'}, 'starter_actions': {'type': 'array', 'items': {'type': 'object', 'properties': {}, 'description': 'Starter action.', 'additionalProperties': True}, 'description': 'Recommended starter actions.'}, 'generation_ready': {'type': 'boolean', 'description': 'Whether this connected account can start generation now.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'properties': {'usage': {'type': 'object', 'properties': {}, 'description': 'Usage summary.', 'additionalProperties': True}, 'period': {'type': 'string', 'description': 'Usage period when available.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['source_url'], 'properties': {'source_url': {'type': 'string', 'format': 'uri', 'description': 'HTTPS URL for MCP to fetch and isolate vocals from.'}, 'file_format': {'enum': ['other', 'pcm_s16le_16'], 'type': 'string', 'description': 'Optional file format.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'required': ['request_id', 'status'], 'properties': {'status': {'type': 'string', 'description': 'Current request status.'}, 'request_id': {'type': 'string', 'description': 'Wubble request ID.'}, 'estimated_seconds': {'type': 'number', 'description': 'Estimated completion time in seconds.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'properties': {'voices': {'type': 'array', 'items': {'type': 'object', 'properties': {}, 'description': 'Voice entry.', 'additionalProperties': True}, 'description': 'Available Wubble-safe voice catalog.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['lyrics'], 'properties': {'n': {'type': 'number', 'description': 'Optional number of variations.'}, 'lyrics': {'type': 'string', 'description': 'Lyrics for the remix.'}, 'prompt': {'type': 'string', 'description': 'Optional remix prompt.'}, 'song_id': {'type': 'string', 'description': 'Caller-owned completed song request ID.'}, 'upload_audio_id': {'type': 'string', 'description': 'Uploaded Wubble audio ID.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'required': ['request_id', 'status'], 'properties': {'status': {'type': 'string', 'description': 'Current request status.'}, 'request_id': {'type': 'string', 'description': 'Wubble request ID.'}, 'estimated_seconds': {'type': 'number', 'description': 'Estimated completion time in seconds.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'description': 'Wubble-owned or user-provided audio URL for stem separation.'}, 'model': {'type': 'string', 'description': 'Optional model.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'properties': {'status': {'type': 'string', 'description': 'Stem separation status.'}, 'zip_url': {'type': 'string', 'description': 'Wubble-owned ZIP URL for stems.'}, 'expires_at': {'type': 'string', 'description': 'Expiration timestamp when available.'}, 'request_id': {'type': 'string', 'description': 'Wubble request ID.'}, 'midi_zip_url': {'type': 'string', 'description': 'Wubble-owned MIDI ZIP URL when available.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['source_url'], 'properties': {'diarize': {'type': 'boolean', 'description': 'Whether to diarize speakers.'}, 'keyterms': {'type': 'array', 'items': {'type': 'string'}}, 'model_id': {'type': 'string', 'description': 'Optional model ID.'}, 'source_url': {'type': 'string', 'format': 'uri', 'description': 'HTTPS URL for MCP to fetch and transcribe.'}, 'language_code': {'type': 'string', 'description': 'Optional language code.'}, 'detect_speaker_roles': {'type': 'boolean', 'description': 'Whether to detect speaker roles.'}, 'timestamps_granularity': {'enum': ['none', 'word', 'character'], 'type': 'string', 'description': 'Timestamp granularity.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'required': ['request_id', 'status'], 'properties': {'status': {'type': 'string', 'description': 'Current request status.'}, 'request_id': {'type': 'string', 'description': 'Wubble request ID.'}, 'estimated_seconds': {'type': 'number', 'description': 'Estimated completion time in seconds.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['inputs'], 'properties': {'seed': {'type': 'number', 'description': 'Optional deterministic seed.'}, 'inputs': {'type': 'array', 'items': {'type': 'object', 'required': ['text', 'voice_id'], 'properties': {'text': {'type': 'string'}, 'voice_id': {'type': 'string'}}, 'description': 'Dialog input turn.', 'additionalProperties': False}}, 'model_id': {'type': 'string', 'description': 'Optional model ID.'}, 'settings': {'type': 'object', 'properties': {}, 'description': 'Optional dialog settings.', 'additionalProperties': True}, 'language_code': {'type': 'string', 'description': 'Optional language code.'}, 'output_format': {'type': 'string', 'description': 'Optional output format.'}, 'apply_text_normalization': {'enum': ['auto', 'on', 'off'], 'type': 'string', 'description': 'Text normalization mode.'}, 'pronunciation_dictionary_locators': {'type': 'array', 'items': {'type': 'object', 'properties': {}, 'description': 'Pronunciation dictionary locator.', 'additionalProperties': True}}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'required': ['request_id', 'status'], 'properties': {'status': {'type': 'string', 'description': 'Current request status.'}, 'request_id': {'type': 'string', 'description': 'Wubble request ID.'}, 'estimated_seconds': {'type': 'number', 'description': 'Estimated completion time in seconds.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string', 'description': 'Text to synthesize.'}, 'model_id': {'type': 'string', 'description': 'Optional model ID.'}, 'voice_id': {'type': 'string', 'description': 'Optional Wubble voice ID.'}, 'language_code': {'type': 'string', 'description': 'Optional language code.'}, 'output_format': {'type': 'string', 'description': 'Optional output format. Use mp3_44100_128 for MP3 audio; shorthand mp3 is accepted and normalized.'}, 'voice_settings': {'type': 'object', 'properties': {}, 'description': 'Optional voice settings.', 'additionalProperties': True}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'required': ['request_id', 'status'], 'properties': {'status': {'type': 'string', 'description': 'Current request status.'}, 'request_id': {'type': 'string', 'description': 'Wubble request ID.'}, 'estimated_seconds': {'type': 'number', 'description': 'Estimated completion time in seconds.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['source_url'], 'properties': {'purpose': {'type': 'string', 'description': 'Optional upload purpose.'}, 'filename': {'type': 'string', 'description': 'Optional filename for the uploaded audio.'}, 'source_url': {'type': 'string', 'format': 'uri', 'description': 'HTTPS URL for MCP to fetch and upload to Wubble.'}, 'content_type': {'type': 'string', 'description': 'Optional media content type.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'properties': {'bytes': {'type': 'number', 'description': 'Uploaded bytes.'}, 'status': {'type': 'string', 'description': 'Upload status.'}, 'filename': {'type': 'string', 'description': 'Stored filename.'}, 'content_type': {'type': 'string', 'description': 'Stored media content type.'}, 'upload_audio_id': {'type': 'string', 'description': 'Wubble upload audio ID.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['source_url'], 'properties': {'filename': {'type': 'string', 'description': 'Optional filename for the uploaded vocal.'}, 'source_url': {'type': 'string', 'format': 'uri', 'description': 'HTTPS URL for MCP to fetch and upload as a vocal reference.'}, 'content_type': {'type': 'string', 'description': 'Optional media content type.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'properties': {'bytes': {'type': 'number', 'description': 'Uploaded bytes.'}, 'status': {'type': 'string', 'description': 'Upload status.'}, 'filename': {'type': 'string', 'description': 'Stored filename.'}, 'vocal_id': {'type': 'string', 'description': 'Wubble vocal reference ID.'}, 'content_type': {'type': 'string', 'description': 'Stored media content type.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Input schema
{'type': 'object', 'required': ['requestId'], 'properties': {'requestId': {'type': 'string', 'description': 'Wubble request ID to wait for.'}, 'timeout_seconds': {'type': 'number', 'description': 'Maximum seconds to wait in this tool call. Max 45.'}, 'poll_interval_seconds': {'type': 'number', 'description': 'Seconds between status checks. Max 10.'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'required': ['success'], 'properties': {'data': {'type': 'object', 'required': ['request_id', 'status'], 'properties': {'status': {'type': 'string', 'description': 'Current request status.'}, 'request_id': {'type': 'string', 'description': 'Wubble request ID.'}, 'result_url': {'type': 'string', 'description': 'Wubble-owned result URL when available.'}, 'credits_used': {'type': 'number', 'description': 'Credits or requests consumed when available.'}, 'error_message': {'type': 'string', 'description': 'User-safe error message when failed.'}, 'estimated_seconds': {'type': 'number', 'description': 'Estimated completion time in seconds.'}}, 'additionalProperties': True}, 'error': {'type': 'object', 'properties': {}, 'description': 'Developer-service error envelope when the call fails.', 'additionalProperties': True}, 'success': {'type': 'boolean', 'description': 'Whether the developer-service request succeeded.'}}, 'additionalProperties': False}
Recent tool changes
Similar MCP servers
MiOffice — AI-Powered Workspace Studio
Provides browser-based tools for processing PDFs, images, video, and audio, including generation, enhancement, conversion, transc…
BlitzReels Video Editor
Creates and edits short-form videos, including timelines, captions, transitions, AI-generated visuals, music, voiceovers, sound e…
Morpha
Enables creating, animating, and exporting layered short-form video projects.
switch
Enables management and exploration of an account-scoped library of AI-generated images and videos.
framesail
Creates long-form YouTube videos through script generation, storyboarding, visual assets, voiceover, music, scene composition, an…
Magnific
Provides image enhancement and design tools, AI image and audio generation, text-to-speech, creation management, and reusable cre…
Uwear
Supports AI fashion photoshoot production with garments, outfits, avatars, locations, art direction, image generation, backdrops,…
Creative Claw
Generates and edits branded images, video, audio, speech, and 3D-related creative assets, with media processing and reusable them…