dooray_comments
Manage task comments in Dooray by listing, creating, updating, or deleting comments with mention support for collaborative project discussions.
Instructions
Manage Dooray task comments - get list, create, update, delete comments with mention support
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform on comments | |
| taskId | Yes | Task ID (required) | |
| commentId | No | Comment ID (required for update/delete) | |
| content | No | Comment content (for create/update) | |
| mentions | No | User IDs to mention (optional) |
Implementation Reference
- src/dooray_mcp/tools/comments.py:16-49 (handler)Main execution logic for the dooray_comments tool. Dispatches to action-specific methods (_list_comments, _create_comment, _update_comment, _delete_comment) based on the 'action' parameter.async def handle(self, arguments: Dict[str, Any]) -> str: """Handle comments tool requests. Args: arguments: Tool arguments containing action and parameters Returns: JSON string with results """ action = arguments.get("action") task_id = arguments.get("taskId") if not action: return json.dumps({"error": "Action parameter is required"}) if not task_id: return json.dumps({"error": "taskId parameter is required"}) try: if action == "list": return await self._list_comments(arguments) elif action == "create": return await self._create_comment(arguments) elif action == "update": return await self._update_comment(arguments) elif action == "delete": return await self._delete_comment(arguments) else: return json.dumps({"error": f"Unknown action: {action}"}) except Exception as e: logger.error(f"Error in comments tool: {e}") return json.dumps({"error": str(e)})
- src/dooray_mcp/server.py:87-118 (schema)Input schema definition for validating parameters to the dooray_comments tool, specifying actions, required taskId, and optional fields like content, commentId, mentions.types.Tool( name="dooray_comments", description="Manage Dooray task comments - get list, create, update, delete comments with mention support", inputSchema={ "type": "object", "properties": { "action": { "type": "string", "enum": ["list", "create", "update", "delete"], "description": "Action to perform on comments" }, "taskId": { "type": "string", "description": "Task ID (required)" }, "commentId": { "type": "string", "description": "Comment ID (required for update/delete)" }, "content": { "type": "string", "description": "Comment content (for create/update)" }, "mentions": { "type": "array", "items": {"type": "string"}, "description": "User IDs to mention (optional)" } }, "required": ["action", "taskId"] } ),
- src/dooray_mcp/server.py:358-360 (registration)Registration and dispatch logic in the MCP server's call_tool handler: matches tool name and instantiates/calls the CommentsTool.handle method.elif name == "dooray_comments": tool = CommentsTool(dooray_client) result = await tool.handle(args)