manus_webhook_list
Retrieve a list of all registered webhooks. Use this to view current webhook configurations and manage integrations.
Instructions
List all registered webhooks.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- manus_mcp/tools/webhooks.py:37-49 (handler)The `webhook_list` async handler function decorated with @manus_tool(name='manus_webhook_list'). It calls the Manus API GET /v2/webhook.list and returns a WebhookListResponse. This is the core logic of the tool.
@manus_tool( name="manus_webhook_list", description="List all registered webhooks.", input_schema=WebhookListQuery, output_schema=WebhookListResponse, ) async def webhook_list(q: WebhookListQuery, ctx: ToolCtx) -> WebhookListResponse: return await ctx.client.call( "GET", "/v2/webhook.list", response_model=WebhookListResponse, rate_limit_key="webhook.list", ) - manus_mcp/schemas/webhooks.py:30-35 (schema)Input schema `WebhookListQuery` (empty, no required fields) and output schema `WebhookListResponse` (wraps a list of `WebhookRecord` in a `ResponseEnvelope`).
class WebhookListQuery(ManusModel): pass class WebhookListResponse(ResponseEnvelope): data: list[WebhookRecord] = [] - manus_mcp/tools/registry.py:42-69 (registration)The `manus_tool` decorator that registers the tool in `_REGISTRY` when the decorator fires at import time. This is how 'manus_webhook_list' gets registered as a ToolDef.
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 - manus_mcp/tools/__init__.py:8-23 (registration)The `load_all_tool_modules()` function imports the `webhooks` module (among others), which triggers the @manus_tool decorator to fire and register 'manus_webhook_list'.
def load_all_tool_modules() -> None: """Import every tool module so @manus_tool decorators fire.""" from manus_mcp.tools import ( # noqa: F401 agents, browser, composite, connectors, files, projects, skills, tasks, usage, webhooks, website, ) from manus_mcp.webhook_receiver import tools as _webhook_receiver_tools # noqa: F401