twist_inbox_mark_all_read
Mark all inbox threads as read in a Twist workspace to quickly clear notifications and manage workflow efficiently using the Twist MCP Server.
Instructions
Marks all inbox threads in the workspace as read.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/inbox.py:148-171 (handler)The handler function that implements the tool logic: retrieves the workspace ID and token, then POSTs to the Twist API endpoint 'inbox/mark_all_read' to mark all threads as read.def twist_inbox_mark_all_read( ctx: Context ) -> str: """Marks all inbox threads in the workspace as read. """ token = ctx.request_context.lifespan_context.twist_token workspace_id = os.getenv("TWIST_WORKSPACE_ID") if not workspace_id: logger.error("TWIST_WORKSPACE_ID environment variable is required") return "Error: TWIST_WORKSPACE_ID environment variable is required" params = {"workspace_id": workspace_id} try: logger.info(f"Marking all inbox threads as read for workspace ID: {workspace_id}") result = twist_request("inbox/mark_all_read", params=params, token=token, method="POST") logger.info("Successfully marked all inbox threads as read") return "Successfully marked all inbox threads as read" except Exception as error: logger.error(f"Error marking all inbox threads as read: {error}") return f"Error marking all inbox threads as read: {str(error)}"
- main.py:42-48 (registration)The dynamic registration code that registers all functions starting with 'twist_' from src.inbox (including this tool) using FastMCP's tool decorator.# Register all tools from tool modules for module in [src.inbox, src.threads]: for name, func in inspect.getmembers(module, inspect.isfunction): if name.startswith('twist_') and func.__module__ == module.__name__: logger.info(f"Registering tool: {name}") mcp.tool()(func)