Skip to main content
Glama

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

TableJSON Schema
NameRequiredDescriptionDefault
agent_idYes

Implementation Reference

  • 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",
        )
  • Input schema for manus_agent_detail. Requires a single 'agent_id' string field.
    class AgentDetailQuery(ManusModel):
        agent_id: str
  • Output schema for manus_agent_detail. Contains an 'agent' field of type AgentRecord.
    class AgentDetailResponse(ResponseEnvelope):
        agent: AgentRecord
  • 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
  • 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
Behavior4/5

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

No annotations provided, so description carries burden. Discloses that 'agent-default' may return 'not_found' if no IM agent configured. Implies read-only operation from context, but could explicitly state no side effects.

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

Conciseness5/5

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

Two concise sentences: first states purpose, second provides crucial usage guidance and fallback. No unnecessary words, well-structured.

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

Completeness4/5

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

For a simple tool with one parameter and no output schema, covers purpose, special value behavior, and fallback. Could mention additional return fields or error cases beyond 'not_found', but sufficient for an agent to use correctly.

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

Parameters4/5

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

Single parameter agent_id has 0% schema coverage; description compensates by explaining the special 'agent-default' value and suggesting use of manus_agent_list for valid IDs. Lacks explicit format but adequately guides usage.

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

Purpose5/5

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

The description clearly states it retrieves an agent's details including nickname and description, distinguishing from sibling tools like manus_agent_list (discovery) and manus_agent_update (modification).

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

Usage Guidelines5/5

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

Provides explicit guidance: use for getting details, mentions the 'agent-default' shortcut's constraints, and advises using manus_agent_list when the shortcut fails. Clearly differentiates from alternatives.

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/aruxojuyu665/Manus-MCP'

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