Skip to main content
Glama

get-task

Retrieve complete task details including content, status, assignees, attachments, and metadata from Dooray project management platform using task URLs or IDs.

Instructions

Get detailed information about a specific task.

This tool retrieves complete details of a task including its full body content, attachments, workflow status, assignees, and all metadata.

URL Pattern Recognition - Two formats supported:

  1. Project-scoped URL: "https://nhnent.dooray.com/task/PROJECT_ID/TASK_ID"

    • Extract the first numeric ID after "/task/" as projectId (optional)

    • Extract the second numeric ID as taskId (required)

    • Example: "https://nhnent.dooray.com/task/1769381697328002548/4206132384174602537" → {"taskId": "4206132384174602537", "projectId": "1769381697328002548"}

  2. Task-only URL: "https://nhnent.dooray.com/project/tasks/TASK_ID"

    • Extract the numeric ID after "/tasks/" as taskId

    • Example: "https://nhnent.dooray.com/project/tasks/4206132384174602537" → {"taskId": "4206132384174602537"}

IMPORTANT:

  • taskId is REQUIRED, projectId is OPTIONAL

  • The taskId is the unique identifier (ID) from the URL, NOT the sequential task number shown in the UI

  • You can fetch task details with just the taskId without knowing the projectId

  • When a specific task URL is provided, use this tool directly instead of calling get-project-list first

  • To find taskId from task descriptions, use get-task-list to search and get task IDs

Examples:

  • From URL pattern 1: {"taskId": "4206132384174602537", "projectId": "1769381697328002548"}

  • From URL pattern 2: {"taskId": "4206132384174602537"}

  • Just taskId: {"taskId": "789012345"}

  • With both IDs: {"taskId": "789012345", "projectId": "123456"}

Returns complete task information including:

  • Basic info: id, number, subject, taskNumber (PROJECT-CODE/NUMBER format)

  • Project: project object with id and code

  • Status: workflowClass (registered/working/closed), workflow (id and name), closed flag, priority

  • Dates: createdAt, updatedAt, dueDate, dueDateFlag

  • Content: body with mimeType (text/x-markdown or text/html) and content

  • Hierarchy: parent task information (id, number, subject) if this is a subtask

  • People: users object with from (creator), to (assignees), cc (watchers)

  • Organization: milestone (id, name), tags array (id, name)

  • Files: files array with attachments (id, name, size)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
taskIdYesTask ID (unique identifier, REQUIRED)
projectIdNoProject ID (optional, can be omitted)

Implementation Reference

  • The handler function that implements the core logic of the 'get-task' tool. It fetches detailed task information via the projects API and returns it as formatted JSON or an error response.
    export async function getTaskHandler(args: GetTaskInput) { try { const result = await projectsApi.getTaskDetails(args.taskId, args.projectId); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; } catch (error) { return { content: [ { type: 'text', text: `Error: ${formatError(error)}`, }, ], isError: true, }; }
  • Zod schema for input validation of the get-task tool, requiring taskId and optionally projectId.
    export const getTaskSchema = z.object({ taskId: z.string().describe('Task ID (unique identifier)'), projectId: z.string().optional().describe('Project ID (optional)'), }); export type GetTaskInput = z.infer<typeof getTaskSchema>;
  • src/index.ts:51-51 (registration)
    Registration of the 'get-task' tool in the central tool registry, mapping name to its handler and schema.
    'get-task': { handler: getTaskHandler, schema: getTaskSchema },
  • src/index.ts:74-74 (registration)
    Inclusion of the getTaskTool in the list of available tools served by the MCP server.
    getTaskTool,
  • MCP tool specification including name, detailed description, and input schema for the get-task tool.
    export const getTaskTool = { name: 'get-task', description: `Get detailed information about a specific task. This tool retrieves complete details of a task including its full body content, attachments, workflow status, assignees, and all metadata. **URL Pattern Recognition - Two formats supported**: 1. **Project-scoped URL**: "https://nhnent.dooray.com/task/PROJECT_ID/TASK_ID" - Extract the first numeric ID after "/task/" as projectId (optional) - Extract the second numeric ID as taskId (required) - Example: "https://nhnent.dooray.com/task/1769381697328002548/4206132384174602537" → {"taskId": "4206132384174602537", "projectId": "1769381697328002548"} 2. **Task-only URL**: "https://nhnent.dooray.com/project/tasks/TASK_ID" - Extract the numeric ID after "/tasks/" as taskId - Example: "https://nhnent.dooray.com/project/tasks/4206132384174602537" → {"taskId": "4206132384174602537"} **IMPORTANT**: - **taskId is REQUIRED**, projectId is OPTIONAL - The taskId is the unique identifier (ID) from the URL, NOT the sequential task number shown in the UI - You can fetch task details with just the taskId without knowing the projectId - When a specific task URL is provided, use this tool directly instead of calling get-project-list first - To find taskId from task descriptions, use get-task-list to search and get task IDs Examples: - From URL pattern 1: {"taskId": "4206132384174602537", "projectId": "1769381697328002548"} - From URL pattern 2: {"taskId": "4206132384174602537"} - Just taskId: {"taskId": "789012345"} - With both IDs: {"taskId": "789012345", "projectId": "123456"} **Returns complete task information including:** - **Basic info**: id, number, subject, taskNumber (PROJECT-CODE/NUMBER format) - **Project**: project object with id and code - **Status**: workflowClass (registered/working/closed), workflow (id and name), closed flag, priority - **Dates**: createdAt, updatedAt, dueDate, dueDateFlag - **Content**: body with mimeType (text/x-markdown or text/html) and content - **Hierarchy**: parent task information (id, number, subject) if this is a subtask - **People**: users object with from (creator), to (assignees), cc (watchers) - **Organization**: milestone (id, name), tags array (id, name) - **Files**: files array with attachments (id, name, size)`, inputSchema: { type: 'object', properties: { taskId: { type: 'string', description: 'Task ID (unique identifier, REQUIRED)', }, projectId: { type: 'string', description: 'Project ID (optional, can be omitted)', }, }, required: ['taskId'], }, };

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/jhl8041/dooray-mcp'

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