Skip to main content
Glama

assess_edit_project

Modify project details within the Assess realm using the specified record name. Enables editing of project names and ensures alignment with the ADD framework for task and project management.

Instructions

Edit project content in Assess realm.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectNameNoUpdated project name
projectRecordNameYesRecord name of the project to edit

Implementation Reference

  • The core handler function that executes the 'assess_edit_project' tool logic. Currently implemented as a mock that simulates updating a project name in the Assess realm and returns a success message.
    private async editProject(projectRecordName: string, projectName: string) { // Mock project edit via CloudKit return { content: [{ type: 'text', text: `Project ${projectRecordName} updated with name: ${projectName}` }] };
  • Dispatch handler in the CallToolRequestSchema switch statement that validates input arguments and invokes the editProject method.
    case 'assess_edit_project': this.validateArgs(args, ['projectRecordName']); return await this.editProject(args.projectRecordName, args.projectName);
  • Input schema definition for the 'assess_edit_project' tool, specifying required projectRecordName and optional projectName parameters.
    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'] }
  • src/index.ts:239-639 (registration)
    The tool is registered in the list returned by ListToolsRequestSchema handler, making it discoverable by MCP clients.
    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