Skip to main content
Glama
tallpizza

Dooray MCP Server

by tallpizza

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
NameRequiredDescriptionDefault
actionYesAction to perform on comments
taskIdYesTask ID (required)
commentIdNoComment ID (required for update/delete)
contentNoComment content (for create/update)
mentionsNoUser IDs to mention (optional)

Implementation Reference

  • 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)})
  • 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"]
        }
    ),
  • 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)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tallpizza/dooray-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server