Skip to main content
Glama

assess_add_task_to_project

Add an existing task to a project in the Assess realm to organize work according to the ADD framework. Specify task and project record names to link items.

Instructions

Add an existing task to a project in Assess realm.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
taskRecordNameYesRecord name of the task
projectRecordNameYesRecord name of the project

Implementation Reference

  • The core handler function implementing the tool logic. Currently a mock that returns a success message simulating the addition of a task to a project via CloudKit.
    private async addTaskToProject(taskRecordName: string, projectRecordName: string) { // Mock adding task to project via CloudKit return { content: [{ type: 'text', text: `Task ${taskRecordName} added to project ${projectRecordName}` }] }; }
  • src/index.ts:683-685 (registration)
    Tool dispatching/registration in the CallToolRequestSchema switch statement, validating args and calling the handler.
    case 'assess_add_task_to_project': this.validateArgs(args, ['taskRecordName', 'projectRecordName']); return await this.addTaskToProject(args.taskRecordName, args.projectRecordName);
  • Tool definition including name, description, and input schema registered in ListToolsRequestSchema response.
    name: 'assess_add_task_to_project', description: 'Add an existing task to a project in Assess realm.', inputSchema: { type: 'object', properties: { taskRecordName: { type: 'string', description: 'Record name of the task' }, projectRecordName: { type: 'string', description: 'Record name of the project' } }, required: ['taskRecordName', 'projectRecordName'] }
  • src/index.ts:238-638 (registration)
    Full tools list including this tool's registration in ListToolsRequestSchema handler (excerpt shows context). Note: full block spans lines 238-638.
    return { tools: [ // Authentication { name: 'authenticate_user', description: 'Authenticate user with Apple ID to access their addTaskManager data', inputSchema: { type: 'object', properties: { webAuthToken: { type: 'string', description: 'CloudKit web auth token from Apple Sign-In' } }, required: ['webAuthToken'] } }, // Assess Realm Tools (realmId 1) { name: 'assess_create_task', description: 'Create a new task in Assess realm (content editing, no contexts/dates).', inputSchema: { type: 'object', properties: { taskName: { type: 'string', description: 'Task name/description (max 1000 chars)' }, startDate: { type: 'string', format: 'date-time', description: 'Optional start date (ISO format)' }, taskPriority: { type: 'integer', minimum: 1, maximum: 5, description: 'Optional task priority (1-5, default 3)'}, projectRecordName: { type: 'string', description: 'Optional recordName of the parent project.' }, collectionRecordName: { type: 'string', description: 'Optional recordName of the parent collection.' } }, required: ['taskName'] } }, { name: 'assess_edit_task', description: 'Edit task content in Assess realm (taskName, priority).', inputSchema: { type: 'object', properties: { taskRecordName: { type: 'string', description: 'Record name of the task to edit' }, taskName: { type: 'string', description: 'Updated task name/description' }, taskPriority: { type: 'integer', minimum: 1, maximum: 5, description: 'Updated task priority (1-5)'}, }, required: ['taskRecordName'] } }, { name: 'assess_create_project', description: 'Create a new project in Assess realm.', inputSchema: { type: 'object', properties: { projectName: { type: 'string', description: 'Project name/description (max 1500 chars)' }, startDate: { type: 'string', format: 'date-time', description: 'Optional start date (ISO format)' }, collectionRecordName: { type: 'string', description: 'Optional recordName of the parent collection.' } }, required: ['projectName'] } }, { name: 'assess_create_idea', description: 'Capture a new idea (always starts in Assess realm).', inputSchema: { type: 'object', properties: { ideaName: { type: 'string', description: 'Idea name/details (max 1500 chars)' }, collectionRecordName: { type: 'string', description: 'Optional recordName of the parent collection.' } }, required: ['ideaName'] } }, { name: 'assess_create_collection', description: 'Create a new collection in Assess realm.', inputSchema: { type: 'object', properties: { collectionName: { type: 'string', description: 'Collection name' } }, required: ['collectionName'] } }, { name: 'assess_create_context', description: 'Create a new context in Assess realm.', inputSchema: { type: 'object', properties: { contextName: { type: 'string', description: 'Context name (max 30 chars)' } }, required: ['contextName'] } }, { name: 'assess_edit_project', description: 'Edit project content in Assess realm.', inputSchema: { type: 'object', properties: { projectRecordName: { type: 'string', description: 'Record name of the project to edit' }, projectName: { type: 'string', description: 'Updated project name' } }, required: ['projectRecordName'] } }, { name: 'assess_edit_idea', description: 'Edit idea content in Assess realm.', inputSchema: { type: 'object', properties: { ideaRecordName: { type: 'string', description: 'Record name of the idea to edit' }, ideaName: { type: 'string', description: 'Updated idea name' } }, required: ['ideaRecordName'] } }, { name: 'assess_add_task_to_project', description: 'Add an existing task to a project in Assess realm.', inputSchema: { type: 'object', properties: { taskRecordName: { type: 'string', description: 'Record name of the task' }, projectRecordName: { type: 'string', description: 'Record name of the project' } }, required: ['taskRecordName', 'projectRecordName'] } }, { name: 'assess_add_task_to_idea', description: 'Add an existing task to an idea in Assess realm.', inputSchema: { type: 'object', properties: { taskRecordName: { type: 'string', description: 'Record name of the task' }, ideaRecordName: { type: 'string', description: 'Record name of the idea' } }, required: ['taskRecordName', 'ideaRecordName'] } }, { name: 'assess_remove_task_from_project', description: 'Remove a task from a project in Assess realm.', inputSchema: { type: 'object', properties: { taskRecordName: { type: 'string', description: 'Record name of the task' }, projectRecordName: { type: 'string', description: 'Record name of the project' } }, required: ['taskRecordName', 'projectRecordName'] } }, { name: 'assess_remove_task_from_idea', description: 'Remove a task from an idea in Assess realm.', inputSchema: { type: 'object', properties: { taskRecordName: { type: 'string', description: 'Record name of the task' }, ideaRecordName: { type: 'string', description: 'Record name of the idea' } }, required: ['taskRecordName', 'ideaRecordName'] } }, { name: 'assess_archive_task_to_collection', description: 'Archive a task to a collection.', inputSchema: { type: 'object', properties: { taskRecordName: { type: 'string', description: 'Record name of the task' }, collectionRecordName: { type: 'string', description: 'Record name of the collection' } }, required: ['taskRecordName', 'collectionRecordName'] } }, { name: 'assess_archive_project_to_collection', description: 'Archive a project to a collection.', inputSchema: { type: 'object', properties: { projectRecordName: { type: 'string', description: 'Record name of the project' }, collectionRecordName: { type: 'string', description: 'Record name of the collection' } }, required: ['projectRecordName', 'collectionRecordName'] } }, // Decide Realm Tools (realmId 2) { name: 'decide_assign_context', description: 'Assign contexts to tasks/projects in Decide realm.', inputSchema: { type: 'object', properties: { itemRecordName: { type: 'string', description: 'Record name of the task or project' }, itemType: { type: 'string', enum: ['Task', 'Project'], description: 'Type of item (Task or Project)' }, contextRecordName: { type: 'string', description: 'Record name of the context to assign' } }, required: ['itemRecordName', 'itemType', 'contextRecordName'] } }, { name: 'decide_set_project_interval', description: 'Set project interval (start date and end date) in Decide realm.', inputSchema: { type: 'object', properties: { projectRecordName: { type: 'string', description: 'Record name of the project' }, startDate: { type: 'string', format: 'date-time', description: 'Start date in ISO format' }, endDate: { type: 'string', format: 'date-time', description: 'End date in ISO format' } }, required: ['projectRecordName', 'startDate', 'endDate'] } }, { name: 'decide_set_task_due_date', description: 'Set due date for a task in Decide realm.', inputSchema: { type: 'object', properties: { taskRecordName: { type: 'string', description: 'Record name of the task' }, endDate: { type: 'string', format: 'date-time', description: 'Due date in ISO format' } }, required: ['taskRecordName', 'endDate'] } }, { name: 'decide_set_task_alert', description: 'Set task alerts in Decide realm.', inputSchema: { type: 'object', properties: { taskRecordName: { type: 'string', description: 'Task record name' }, alertDateTime: { type: 'string', format: 'date-time', description: 'Alert date and time in ISO format for localNotification' } }, required: ['taskRecordName', 'alertDateTime'] } }, { name: 'decide_move_task_to_do', description: 'Move task to Do realm from Decide realm.', inputSchema: { type: 'object', properties: { taskRecordName: { type: 'string', description: 'Task record name' } }, required: ['taskRecordName'] } }, { name: 'decide_move_task_to_assess_from_decide', description: 'Move task to Assess realm from Decide realm.', inputSchema: { type: 'object', properties: { taskRecordName: { type: 'string', description: 'Task record name' } }, required: ['taskRecordName'] } }, { name: 'decide_move_project_to_do', description: 'Move project to Do realm from Decide realm.', inputSchema: { type: 'object', properties: { projectRecordName: { type: 'string', description: 'Project record name' } }, required: ['projectRecordName'] } }, { name: 'decide_move_project_to_assess_from_decide', description: 'Move project to Assess realm from Decide realm.', inputSchema: { type: 'object', properties: { projectRecordName: { type: 'string', description: 'Project record name' } }, required: ['projectRecordName'] } }, // Do Realm Tools (realmId 3) { name: 'do_mark_task_as_done', description: 'Mark tasks as completed in Do realm.', inputSchema: { type: 'object', properties: { taskRecordName: { type: 'string', description: 'Task record name' } }, required: ['taskRecordName'] } }, { name: 'do_mark_project_as_done', description: 'Mark projects as completed in Do realm.', inputSchema: { type: 'object', properties: { projectRecordName: { type: 'string', description: 'Project record name' } }, required: ['projectRecordName'] } }, // General Query Tools { name: 'get_tasks_by_realm', description: 'Filter tasks by realm.', inputSchema: { type: 'object', properties: { realm: { type: 'string', enum: ['assess', 'decide', 'do'], description: 'Realm to query (maps to realmId 1, 2, or 3)' } }, required: ['realm'] } }, { name: 'get_projects_by_realm', description: 'Filter projects by realm.', inputSchema: { type: 'object', properties: { realm: { type: 'string', enum: ['assess', 'decide', 'do'], description: 'Realm to query (maps to realmId 1, 2, or 3)' } }, required: ['realm'] } }, { name: 'get_ideas', description: 'Get all ideas.', inputSchema: { type: 'object', properties: {} } }, { name: 'moveToRealm', description: 'Move a task or project to a specific realm.', inputSchema: { type: 'object', properties: { itemRecordName: { type: 'string', description: 'Record name of the task or project to move' }, itemType: { type: 'string', enum: ['Task', 'Project'], description: 'Type of item to move' }, realmId: { type: 'string', enum: ['assess', 'decide', 'do'], description: 'Target realm (assess=1, decide=2, do=3)' } }, required: ['itemRecordName', 'itemType', 'realmId'] } }, { name: 'get_collections', description: 'Get all collections.', inputSchema: { type: 'object', properties: {} } }, { name: 'get_tasks_by_context', description: 'Filter by context.', inputSchema: { type: 'object', properties: { contextRecordName: { type: 'string', description: 'Record name of the context to filter by' } }, required: ['contextRecordName'] } }, { name: 'get_stalled_items_in_decide', description: 'Find stalled items (tasks + projects) in Decide realm.', inputSchema: { type: 'object', properties: {} } }, { name: 'get_undecided_items_in_decide', description: 'Find undecided items (tasks + projects) in Decide realm.', inputSchema: { type: 'object', properties: {} } }, { name: 'get_ready_items_in_decide', description: 'Find ready to do items (tasks + projects) in Decide realm.', inputSchema: { type: 'object', properties: {} } }, { name: 'get_tasks_today_in_do', description: 'Find tasks due today in Do realm.', inputSchema: { type: 'object', properties: {} } }, { name: 'get_tasks_tomorrow_in_do', description: 'Find tasks due tomorrow in Do realm.', inputSchema: { type: 'object', properties: {} } }, { name: 'get_tasks_soon_in_do', description: 'Find tasks due soon in Do realm.', inputSchema: { type: 'object', properties: {} } }, { name: 'get_tasks_overdue_in_do', description: 'Find tasks overdue in Do realm.', inputSchema: { type: 'object', properties: {} } } ] as Tool[]

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/dragosroua/addtaskmanager-mcp-server'

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