td_list_sessions
Monitor recent workflow executions to check status and identify failures. Shows scheduled runs with execution details, filterable by workflow ID for targeted analysis.
Instructions
List recent workflow executions to monitor status and find failures.
Shows recent scheduled runs (sessions) with their execution status. Filter by
workflow ID to see history of a specific workflow, or leave empty for all.
Common scenarios:
- Check which workflows ran recently and their status
- Find failed executions that need investigation
- Monitor execution patterns for a specific workflow
- Get session IDs for detailed analysis
Returns list with workflow names, execution times, and success/failure status.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| workflow_id | No |
Implementation Reference
- td_mcp_server/execution_tools.py:83-135 (handler)The handler function for td_list_sessions tool. Lists recent workflow sessions (up to 'count'), optionally filtered by 'workflow_id'. Returns session details including id, workflow/project names, session_time, status, success, and optional timing.async def td_list_sessions( workflow_id: str | None = None, count: int = 20 ) -> dict[str, Any]: """List recent workflow executions to monitor status and find failures. Shows recent scheduled runs (sessions) with their execution status. Filter by workflow ID to see history of a specific workflow, or leave empty for all. Common scenarios: - Check which workflows ran recently and their status - Find failed executions that need investigation - Monitor execution patterns for a specific workflow - Get session IDs for detailed analysis Returns list with workflow names, execution times, and success/failure status. """ client = _create_client(include_workflow=True) if isinstance(client, dict): return client try: sessions = client.get_sessions(workflow_id=workflow_id, last=count) session_list = [] for session in sessions: session_info = { "id": session.id, "workflow": session.workflow["name"], "project": session.project["name"], "session_time": session.session_time, "status": session.last_attempt.status, "success": session.last_attempt.success, } # Add duration if available if session.last_attempt.created_at and session.last_attempt.finished_at: session_info["created_at"] = session.last_attempt.created_at session_info["finished_at"] = session.last_attempt.finished_at session_list.append(session_info) result = { "sessions": session_list, "count": len(session_list), } if workflow_id: result["filtered_by_workflow"] = workflow_id return result except Exception as e: return _format_error_response(f"Failed to list sessions: {str(e)}")
- td_mcp_server/execution_tools.py:18-31 (registration)The registration function for execution tools, including td_list_sessions registered via mcp.tool()(td_list_sessions) at line 27.def register_execution_tools(mcp_instance, create_client_func, format_error_func): """Register execution tools with the provided MCP instance.""" global mcp, _create_client, _format_error_response mcp = mcp_instance _create_client = create_client_func _format_error_response = format_error_func # Register all tools mcp.tool()(td_get_session) mcp.tool()(td_list_sessions) mcp.tool()(td_get_attempt) mcp.tool()(td_get_attempt_tasks) mcp.tool()(td_analyze_execution)