get_brian_shared_projects
Retrieve Brian's shared Todoist projects for task delegation to Becky, enabling efficient team collaboration on assigned responsibilities.
Instructions
Get projects that belong to Brian and are shared for tasks in his ballpark to handle per Becky
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/projects.ts:82-114 (handler)Defines the MCP Tool for 'get_brian_shared_projects' including its schema (no inputs) and handler. The handler calls the getBrianSharedProjects service, stringifies the result to JSON, and returns it as text content. Catches and rethrows errors.export const getBrianSharedProjectsTool: Tool = { schema: { name: 'get_brian_shared_projects', description: 'Get projects that belong to Brian and are shared for tasks in his ballpark to handle per Becky', inputSchema: { type: 'object', properties: {}, required: [], }, }, handler: async () => { console.error('Executing get_brian_shared_projects...'); try { const result = await getBrianSharedProjects(); console.error('get_brian_shared_projects completed successfully'); return { content: [ { type: 'text', text: JSON.stringify(result, null, 2), }, ], }; } catch (error) { throw new Error( `Failed to get Brian shared projects: ${ error instanceof Error ? error.message : 'Unknown error' }` ); } }, };
- src/tools/projects.ts:83-92 (schema)Input/output schema definition for the 'get_brian_shared_projects' tool: no required inputs, returns structured projects data.schema: { name: 'get_brian_shared_projects', description: 'Get projects that belong to Brian and are shared for tasks in his ballpark to handle per Becky', inputSchema: { type: 'object', properties: {}, required: [], }, },
- Core helper function that lists all Todoist projects and filters them to those that are Brian shared projects using the isBrianSharedProject utility function.export async function getBrianSharedProjects(): Promise<ProjectsResponse> { try { const allProjects = await listProjects(); const filteredProjects = allProjects.projects.filter(isBrianSharedProject); return { projects: filteredProjects, total_count: filteredProjects.length, }; } catch (error) { throw new Error( `Failed to get Brian shared projects: ${getErrorMessage(error)}` ); } }
- src/handlers/tool-request-handler.ts:72-72 (registration)Registers the tool handler in the dispatch map for tools without arguments in the central tool request handler.get_brian_shared_projects: getBrianSharedProjectsTool.handler,
- src/index.ts:88-88 (registration)Registers the tool schema in the listTools response for MCP server discovery.getBrianSharedProjectsTool.schema,