@pimzino/agentic-tools-mcp
Version:
A comprehensive MCP server for task management and agent memories with JSON file storage
35 lines (34 loc) • 1.42 kB
TypeScript
import { Project } from '../models/project.js';
import { Task } from '../models/task.js';
import { Subtask } from '../models/subtask.js';
/**
* Storage interface for the task management system
*/
export interface Storage {
getProjects(): Promise<Project[]>;
getProject(id: string): Promise<Project | null>;
createProject(project: Project): Promise<Project>;
updateProject(id: string, updates: Partial<Project>): Promise<Project | null>;
deleteProject(id: string): Promise<boolean>;
getTasks(projectId?: string): Promise<Task[]>;
getTask(id: string): Promise<Task | null>;
createTask(task: Task): Promise<Task>;
updateTask(id: string, updates: Partial<Task>): Promise<Task | null>;
deleteTask(id: string): Promise<boolean>;
deleteTasksByProject(projectId: string): Promise<number>;
getSubtasks(taskId?: string, projectId?: string): Promise<Subtask[]>;
getSubtask(id: string): Promise<Subtask | null>;
createSubtask(subtask: Subtask): Promise<Subtask>;
updateSubtask(id: string, updates: Partial<Subtask>): Promise<Subtask | null>;
deleteSubtask(id: string): Promise<boolean>;
deleteSubtasksByTask(taskId: string): Promise<number>;
deleteSubtasksByProject(projectId: string): Promise<number>;
}
/**
* Data structure for the storage file
*/
export interface StorageData {
projects: Project[];
tasks: Task[];
subtasks: Subtask[];
}