Skip to main content
Glama

assess_create_project

Create a new project in the Assess realm to organize tasks and ideas using the ADD framework, allowing you to define project details and optional start dates.

Instructions

Create a new project in Assess realm.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectNameYesProject name/description (max 1500 chars)
startDateNoOptional start date (ISO format)
collectionRecordNameNoOptional recordName of the parent collection.

Implementation Reference

  • The handler function that implements the tool logic. Creates a mock CloudKit project record in Assess realm (realmId=1), generates recordName and uniqueId using UUID, sets required fields like projectName, timestamps, optional startDate and collection reference, and returns a success message with the new recordName.
    private async createProject(projectName: string, startDateISO?: string, collectionRecordName?: string) { const now = Date.now(); const projectRecordName = `project_ck_${uuidv4()}`; const project: ZenTaskticProject = { recordType: 'Projects', recordName: projectRecordName, fields: { projectName: { value: projectName }, realmId: { value: REALM_ASSESS_ID }, uniqueId: { value: uuidv4() }, startDate: { value: startDateISO ? new Date(startDateISO).getTime() : now }, lastModified: { value: now }, ...(collectionRecordName && { collection: { value: { recordName: collectionRecordName, action: 'NONE' } } }), } }; // Mock save: console.log('Mock CloudKit: Creating Project', project); return { content: [{ type: 'text', text: `Project "${projectName}" created in Assess realm with ID ${projectRecordName}.` }] }; }
  • The input schema definition for the 'assess_create_project' tool, specifying properties like projectName (required), optional startDate (ISO datetime), and collectionRecordName.
    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'] } },
  • src/index.ts:666-668 (registration)
    The switch case in the CallToolRequestSchema handler that registers and dispatches to the createProject handler method for the tool name 'assess_create_project'.
    this.validateArgs(args, ['projectName']); return await this.createProject(args.projectName, args.startDate, args.collectionRecordName); case 'assess_edit_project':
  • Type definition (schema) for ZenTaskticProject used in the handler to structure the CloudKit record fields.
    export interface ZenTaskticProject { recordName?: string; recordType: 'Projects'; // Note: entity name is 'Projects' in Core Data fields: { projectName: { value: string }; // Max 1500 chars realmId: { value: number }; // Integer 16, default 0 uniqueId: { value: string }; // UUID // References (relationships in Core Data) context?: { value: CKReference }; // Reference to Contexts record collection?: { value: CKReference }; // Reference to Collections record realm?: { value: CKReference }; // Reference to Realms record tasks?: { value: CKReference[] }; // List of references to Task records // Dates startDate?: { value: number }; // Timestamp endDate?: { value: number }; // Timestamp lastModified: { value: number }; // Timestamp // removed description (use projectName), removed isCompleted }; }

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