Skip to main content
Glama

task_list

Retrieve and filter tasks by project or status (open/completed) to manage developer operational workflows and track progress within the AI Ops Hub environment.

Instructions

Список задач

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectNoФильтр по проекту
statusNoСтатус (open/completed)

Implementation Reference

  • Core handler implementation for listing tasks: loads from markdown file, filters by project and status, returns Task[]
    async listTasks(project?: string, status?: string): Promise<Task[]> { try { console.log(`📋 Список задач (проект: ${project || 'все'}, статус: ${status || 'все'})`); const tasks = await this.loadTasks(); let filteredTasks = tasks; // Фильтр по проекту if (project) { filteredTasks = filteredTasks.filter(task => task.project === project); } // Фильтр по статусу if (status === 'open') { filteredTasks = filteredTasks.filter(task => !task.completed_at); } else if (status === 'completed') { filteredTasks = filteredTasks.filter(task => task.completed_at); } console.log(`✅ Найдено задач: ${filteredTasks.length}`); return filteredTasks; } catch (error) { console.error('Ошибка получения списка задач:', error); throw new Error(`Ошибка получения списка задач: ${error}`); } }
  • MCP Server CallToolRequest handler case for 'task_list', delegates to TaskService.listTasks
    case 'task_list': return { content: await this.taskService.listTasks(args.project as string, args.status as string) };
  • Tool schema and description registration for 'task_list' in MCP ListToolsRequest handler
    { name: 'task_list', description: 'Список задач', inputSchema: { type: 'object', properties: { project: { type: 'string', description: 'Фильтр по проекту', }, status: { type: 'string', description: 'Статус (open/completed)', enum: ['open', 'completed'], }, }, }, },
  • Type definition for Task objects returned by listTasks
    export interface Task { id: number; title: string; project?: string; due?: string; created_at: string; completed_at?: string; }
  • src/server.ts:178-227 (registration)
    Full MCP CallToolRequestHandler registration including the switch case for task_list tool
    this.server.setRequestHandler(CallToolRequestSchema, async (request) => { const { name, arguments: args } = request.params; if (!args) { throw new Error('Аргументы не предоставлены'); } try { switch (name) { case 'rag_search': return { content: await this.ragService.search(args.query as string, (args.limit as number) || 5) }; case 'rag_add_document': await this.ragService.addDocument(args.uri as string, args.content as string, args.title as string); return { content: 'Документ добавлен' }; case 'file_read': return { content: await this.fileService.readFile(args.path as string) }; case 'file_write': await this.fileService.writeFile(args.path as string, args.content as string); return { content: 'Файл записан' }; case 'web_fetch': return { content: await this.webService.fetchPage(args.url as string) }; case 'task_create': return { content: await this.taskService.createTask(args.title as string, args.project as string, args.due as string) }; case 'task_list': return { content: await this.taskService.listTasks(args.project as string, args.status as string) }; default: throw new Error(`Неизвестный инструмент: ${name}`); } } catch (error) { console.error(`Ошибка выполнения инструмента ${name}:`, error); throw error; } });

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/Galiusbro/MCP'

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