Skip to main content
Glama

get_projects_by_realm

Filter projects in addTaskManager by realm (Assess, Decide, Do) to view tasks based on their current workflow stage.

Instructions

Filter projects by realm.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
realmYesRealm to query (maps to realmId 1, 2, or 3)

Implementation Reference

  • src/index.ts:559-568 (registration)
    Registration of the 'get_projects_by_realm' tool in the MCP server's listTools handler. Defines the tool name, description, and input schema requiring a 'realm' parameter (assess/decide/do).
    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'] } },
  • Primary handler function that executes the tool logic. Maps realm string to numeric ID and returns a formatted text response with mock project data for the specified realm.
    private async getProjectsByRealm(realm: RealmString) { const realmId = realmStringToId(realm); const mockProjects = [{ recordName: 'project_456', projectName: 'Sample Project X', realmId }]; return { content: [{ type: 'text', text: `Projects in ${realm} realm (ID: ${realmId}):\n${mockProjects.map(p => `- ${p.projectName} (${p.recordName})`).join('\n')}` }] }; }
  • Dispatch handler in CallToolRequestSchema that validates input arguments and invokes the getProjectsByRealm method.
    this.validateArgs(args, ['realm']); return await this.getProjectsByRealm(args.realm as RealmString);
  • Supporting helper method in CloudKitService that performs the actual CloudKit database query to retrieve projects filtered by realmId. Used by other tools like get_stalled_items_in_decide.
    async getProjectsByRealm(realmId: number): Promise<ZenTaskticProject[]> { return this.queryRecords<ZenTaskticProject>('Projects', { filterBy: [{ fieldName: 'realmId', fieldValue: realmId, comparator: 'EQUALS' }], sortBy: [{ fieldName: 'lastModified', ascending: false }] }); }
  • Type definition for ZenTaskticProject, defining the structure of project records from CloudKit/Core Data, used in query responses.
    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