Skip to main content
Glama
baidu-xiling

Baidu Digital Human MCP Server

Official
by baidu-xiling

getVoiceCloneStatus

Check the status of a voice cloning task by providing the speaker ID to monitor progress and completion.

Instructions

#工具说明:根据声音克隆任务的发音人ID,查询该任务目前的状态。

样例1:

用户输入:查一下id为xxx的声音克隆好了没有。 思考过程: 1.用户想要查询声音克隆任务的状态,需要使用“getVoiceCloneStatus”工具。 2.工具需要参数,isSuccess,perId两个参数。 3.用户提到了ID为xxx,所以perid的值为xxx,现在不清楚这个任务的状态,所以isSuccess的值为false。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
perIdNo音色克隆任务的ID

Implementation Reference

  • The main handler function for the 'getVoiceCloneStatus' tool. It takes a perId parameter, fetches the DH API client, calls voice_clone_status on it, and returns the status or an error response.
    async def getVoiceCloneStatus(
        perId: Annotated[str, Field(description="音色克隆任务的ID", default=None)]
    ) -> MCPVoiceCloneStatusResponse:
        """
        Retrieve the status of a voice clone task via the DH API.
    
        Args:
            perId: 音色克隆任务的ID
    
        Returns:
            任务状态
        """
        try:
            client = await getDhClient()
            ret = await client.voice_clone_status(perId)
            return ret
        except Exception as e:
            return MCPVoiceCloneStatusResponse(error=str(e))
  • The @mcp.tool decorator that registers the 'getVoiceCloneStatus' tool with its name and description, including usage examples.
    @mcp.tool(
        name="getVoiceCloneStatus",
        description=(
        """
    #工具说明:根据声音克隆任务的发音人ID,查询该任务目前的状态。
    # 样例1:
    用户输入:查一下id为xxx的声音克隆好了没有。
    思考过程:
    1.用户想要查询声音克隆任务的状态,需要使用“getVoiceCloneStatus”工具。
    2.工具需要参数,isSuccess,perId两个参数。
    3.用户提到了ID为xxx,所以perid的值为xxx,现在不清楚这个任务的状态,所以isSuccess的值为false。
        """)
    )
  • Input schema defined by the Annotated parameter for perId and output type MCPVoiceCloneStatusResponse.
        perId: Annotated[str, Field(description="音色克隆任务的ID", default=None)]
    ) -> MCPVoiceCloneStatusResponse:
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It describes a query operation ('查询' - query) which implies read-only behavior, but doesn't disclose any behavioral traits like authentication needs, rate limits, error conditions, or what the status response might contain. The example mentions parameters but doesn't explain tool behavior beyond the basic query intent. Significant gaps remain for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is poorly structured with a mix of tool explanation and example thinking process. The first sentence is useful, but the example section includes unnecessary implementation details ('思考过程' - thinking process) that don't belong in a tool description. This creates clutter and reduces clarity. The description is not appropriately front-loaded with essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and 1 parameter with good schema coverage, the description is incomplete. It explains the basic purpose but lacks crucial context: what status values might be returned, error handling, authentication requirements, or typical use patterns. For a status-checking tool that likely returns important state information, this leaves too many unanswered questions for effective agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with one parameter ('perId' described as '音色克隆任务的ID' - voice clone task ID). The description adds minimal value beyond the schema: it mentions 'perId' in the example but doesn't provide additional semantics like format requirements, valid ranges, or relationship to other parameters. Since schema coverage is high, baseline 3 is appropriate even with limited param info in description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool '查询该任务目前的状态' (queries the current status of the task), which is a clear verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'getDh123VideoStatus' or 'getText2AudioStatus', which likely serve similar status-checking purposes for different resource types. The purpose is understandable but lacks sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions a specific use case in the example ('查一下id为xxx的声音克隆好了没有' - check if voice clone with ID xxx is ready), but doesn't explain when this tool is appropriate compared to other status-checking tools or when not to use it. No explicit alternatives or context boundaries are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/baidu-xiling/mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server