manus_agent_detail
Retrieve an agent's nickname and description using its ID. The 'agent-default' ID works only if your account has a configured IM agent; otherwise, use manus_agent_list to discover agent IDs.
Instructions
Get an agent's details including nickname and description. The 'agent-default' shortcut works only when your account has a configured IM agent; otherwise this returns 'not_found'. Use manus_agent_list to discover real agent_ids if 'agent-default' is rejected.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| agent_id | Yes |
Implementation Reference
- manus_mcp/tools/agents.py:31-49 (handler)Tool handler for 'manus_agent_detail'. Decorated with @manus_tool, sends GET /v2/agent.detail with agent_id param, returns AgentDetailResponse.
@manus_tool( name="manus_agent_detail", description=( "Get an agent's details including nickname and description. " "The 'agent-default' shortcut works only when your account has a configured " "IM agent; otherwise this returns 'not_found'. Use manus_agent_list to " "discover real agent_ids if 'agent-default' is rejected." ), input_schema=AgentDetailQuery, output_schema=AgentDetailResponse, ) async def agent_detail(q: AgentDetailQuery, ctx: ToolCtx) -> AgentDetailResponse: return await ctx.client.call( "GET", "/v2/agent.detail", params=q.model_dump(exclude_none=True), response_model=AgentDetailResponse, rate_limit_key="agent.detail", ) - manus_mcp/schemas/agents.py:26-27 (schema)Input schema for manus_agent_detail. Requires a single 'agent_id' string field.
class AgentDetailQuery(ManusModel): agent_id: str - manus_mcp/schemas/agents.py:30-31 (schema)Output schema for manus_agent_detail. Contains an 'agent' field of type AgentRecord.
class AgentDetailResponse(ResponseEnvelope): agent: AgentRecord - manus_mcp/schemas/agents.py:10-15 (schema)AgentRecord model nested inside AgentDetailResponse, containing id, task_id, nickname, about fields.
class AgentRecord(ManusModel): model_config = ConfigDict(extra="allow") id: str task_id: str | None = None nickname: str | None = None about: str | None = None - manus_mcp/tools/registry.py:42-69 (registration)The @manus_tool decorator that registers tools. The decorator on agent_detail stores a ToolDef with name='manus_agent_detail' into _REGISTRY.
def manus_tool( *, name: str, description: str, input_schema: type[TIn], output_schema: type[TOut], rate_limit_key: str | None = None, ) -> Callable[ [Callable[[TIn, ToolCtx], Awaitable[TOut]]], Callable[[TIn, ToolCtx], Awaitable[TOut]] ]: """Decorator registering `handler` as a tool with the given metadata.""" def wrap( handler: Callable[[TIn, ToolCtx], Awaitable[TOut]], ) -> Callable[[TIn, ToolCtx], Awaitable[TOut]]: if name in _REGISTRY: raise RuntimeError(f"Duplicate tool name: {name}") _REGISTRY[name] = ToolDef( name=name, description=description, input_schema=input_schema, output_schema=output_schema, handler=handler, rate_limit_key=rate_limit_key, ) return handler return wrap