list_standups
Retrieve and display all standup configurations including name, channel, questions, participants, and schedule. Understand team structures and progress tracking processes.
Instructions
Retrieves and displays all Geekbot standups a user has access to, including their complete configuration details such as name, channel, questions, participants, and schedule information. Use this tool to understand the structure of the team and the processes they use track progress and sync.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- geekbot_mcp/tools/list_standups.py:41-63 (handler)The handler function 'handle_list_standups' that executes the tool logic: calls gb.get_standups(), filters out paused/draft standups, parses them via standup_from_json_response, and returns a JSON text response with count and standup details.
async def handle_list_standups(gb: GeekbotClient) -> list[types.TextContent]: """List all standups of a Geekbot user Returns: str: Properly formatted JSON string of standups list """ standups = await gb.get_standups() parsed_standups = [ standup_from_json_response(s).model_dump() for s in standups if not s["paused"] and not s["draft"] ] return [ types.TextContent( type="text", text=json.dumps( { "number_of_standups": len(parsed_standups), "standups": parsed_standups, } ), ) ] - The Tool definition (types.Tool) for 'list_standups', including name, description, and inputSchema (empty object, no required params).
list_standups = types.Tool( name="list_standups", description="Retrieves and displays all Geekbot standups a user has access to, including their complete configuration details such as name, channel, questions, participants, and schedule information. Use this tool to understand the structure of the team and the processes they use track progress and sync.", inputSchema={"type": "object", "properties": {}, "required": []}, ) - geekbot_mcp/tools/__init__.py:15-23 (registration)Registration: list_standups is included in the list_tools() function that returns all available tools.
def list_tools() -> list[types.Tool]: return [ list_members, list_standups, fetch_reports, post_report, list_polls, fetch_poll_results, ] - geekbot_mcp/tools/__init__.py:34-35 (registration)Registration: The run_tool() function handles 'list_standups' by dispatching to handle_list_standups.
case "list_standups": return await handle_list_standups(gb_client) - geekbot_mcp/models.py:140-156 (helper)Helper function standup_from_json_response that parses a raw dict response into a Standup model.
def standup_from_json_response(s_res: dict) -> Standup: channel = s_res["channel"] if not channel: channel = "confidential standup - dm with user" return Standup( id=s_res["id"], name=s_res["name"], channel=channel, time=s_res["time"], timezone=s_res["timezone"], questions=[question_from_json_response(q) for q in s_res["questions"]], participants=[user_from_json_response(p) for p in s_res["users"]], owner_id=s_res["master"], confidential=s_res["confidential"], anonymous=s_res["anonymous"], )