Skip to main content
Glama
yokan-board
by yokan-board

create_task

Add a new task to a Yokan Board column with title, optional description, and due date to organize work items.

Instructions

Creates a new task in a specified column with optional description and due date.

Args: board_id (int): The ID of the board containing the column. column_id (str): The ID of the column to add the task to. title (str): The title of the new task. auth (AuthContext): The authentication context containing user ID and token. description (Optional[str], optional): The description of the task. Defaults to None. dueDate (Optional[str], optional): The due date of the task (e.g., "YYYY-MM-DD"). Defaults to None.

Returns: str: The ID of the newly created task.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
board_idYes
column_idYes
titleYes
authYes
descriptionNo
dueDateNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Implementation Reference

  • The `create_task` function is the handler for creating a new task. It updates the board data by adding a task to the specified column and triggers a board update via the `yokan_client`.
    async def create_task(
        board_id: int,
        column_id: str,
        title: str,
        auth: AuthContext,
        description: Optional[str] = None,
        dueDate: Optional[str] = None,
    ) -> str:
        """Creates a new task in a specified column with optional description and due date.
    
        Args:
            board_id (int): The ID of the board containing the column.
            column_id (str): The ID of the column to add the task to.
            title (str): The title of the new task.
            auth (AuthContext): The authentication context containing user ID and token.
            description (Optional[str], optional): The description of the task. Defaults to None.
            dueDate (Optional[str], optional): The due date of the task (e.g., "YYYY-MM-DD"). Defaults to None.
    
        Returns:
            str: The ID of the newly created task.
        """
        board = await yokan_client.get_board(board_id=board_id, token=auth.token)
        if "columns" not in board.data or column_id not in board.data["columns"]:
            raise McpError(error=ErrorData(code=NOT_FOUND, message="Column not found"))
    
        column = board.data["columns"][column_id]
        if "tasks" not in column:
            column["tasks"] = []
    
        task_id = str(uuid.uuid4())
        new_task = {
            "id": task_id,
            "content": title,
            "description": description,
            "dueDate": dueDate,
        }
        column["tasks"].append(new_task)
    
        await yokan_client.update_board(
            board_id=board_id, name=board.name, data=board.data, token=auth.token
        )
        return task_id
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It identifies this as a creation/mutation operation but doesn't disclose behavioral traits like required permissions, error conditions, rate limits, or whether the operation is idempotent. The auth parameter is mentioned but not explained in behavioral terms.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized but not optimally structured. The first sentence is clear, but the Args/Returns sections are verbose. Some information (like the Returns section) could be streamlined since an output schema exists.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a creation tool with no annotations, the description covers parameters well but lacks behavioral context. The existence of an output schema means return values don't need explanation, but other aspects like error handling, side effects, and usage context are incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates well by explaining all 6 parameters in the Args section, including data types, optionality, defaults, and examples (e.g., due date format). It adds meaning beyond the bare schema, though some parameter purposes could be clearer (e.g., auth context).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Creates') and resource ('new task') with specific location context ('in a specified column'). It distinguishes from siblings like create_board or create_column by focusing on tasks, but doesn't explicitly contrast with create_tasks (plural).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like create_tasks (batch creation) or update_task (modification). The description mentions the required board and column context but doesn't provide usage context, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/yokan-board/yokan-board-mcp'

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