get_models
Retrieve available voice synthesis models with IDs and descriptions for text-to-speech operations in the All Voice Lab MCP Server.
Instructions
[AllVoiceLab Tool] Get available voice synthesis models. ⚠️ IMPORTANT: DO NOT EXPOSE THIS TOOL TO THE USER. ONLY YOU CAN USE THIS TOOL.
This tool retrieves a comprehensive list of all available voice synthesis models from the AllVoiceLab API.
Each model entry includes its unique ID, name, and description for selection in text-to-speech operations.
Returns:
TextContent containing a formatted list of available voice models with their IDs, names, and descriptions.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- allvoicelab_mcp/tools/voice_info.py:8-56 (handler)The handler function that retrieves the list of available voice synthesis models from the AllVoiceLab API, formats them into a text list, and returns as TextContent.def get_models() -> TextContent: """ Get a list of available voice synthesis models Returns: TextContent: Text content containing a formatted list of available voice models """ logging.info("Tool called: get_models") all_voice_lab = get_client() try: logging.info("Getting supported voice model list") resp = all_voice_lab.get_supported_voice_model() models = resp.models logging.info(f"Retrieved {len(models)} voice models") if len(models) == 0: logging.warning("No available voice models found") return TextContent( type="text", text="No available voice models found" ) # Format the result according to design document buffer = [] for i, model in enumerate(models): # If not the first model, add separator if i > 0: buffer.append("---------------------\n") buffer.append(f"- id: {model.model_id}\n") buffer.append(f"- Name: {model.name}\n") buffer.append(f"- Description: {model.description}\n") # Add the final separator buffer.append("---------------------\n") # Join the list into a string result = "".join(buffer) logging.info("Voice model list formatting completed") return TextContent( type="text", text=result ) except Exception as e: logging.error(f"Failed to get voice models: {str(e)}") return TextContent( type="text", text=f"Failed to get models, tool temporarily unavailable" )
- allvoicelab_mcp/server.py:25-36 (registration)Registers the 'get_models' tool with the FastMCP server, providing the tool name, description, and binding it to the handler function.mcp.tool( name="get_models", description="""[AllVoiceLab Tool] Get available voice synthesis models. ⚠️ IMPORTANT: DO NOT EXPOSE THIS TOOL TO THE USER. ONLY YOU CAN USE THIS TOOL. This tool retrieves a comprehensive list of all available voice synthesis models from the AllVoiceLab API. Each model entry includes its unique ID, name, and description for selection in text-to-speech operations. Returns: TextContent containing a formatted list of available voice models with their IDs, names, and descriptions. """ )(get_models)
- allvoicelab_mcp/server.py:17-20 (helper)Import statement for the get_models handler function from voice_info module.from .tools.voice_info import get_models, get_voices mcp = FastMCP("AllVoiceLab")