1. Conduid
  2. Data
  3. Task Manager Server
MCP server · Data

Task Manager Server

A local Model Context Protocol (MCP) server providing backend tools for client-driven project and task management using a SQLite database.

54Fair

Scored 3 months ago · breakdown

About Task Manager Server

Task Manager Server is an MCP server published by bsmi021 in the Data category: a local Model Context Protocol (MCP) server providing backend tools for client-driven project and task management using a SQLite database. It has been installed 0 times through Conduid.

The repository has 24 stars and 11 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx mcp-task-manager-server

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Task Manager Server

Powered by Claude · Grounded in docs

I know everything about Task Manager Server. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

# MCP Task Manager Server

A local Model Context Protocol (MCP) server providing backend tools for client-driven project and task management using a SQLite database.

Overview

This server acts as a persistent backend for local MCP clients (like AI agents or scripts) that need to manage structured task data within distinct projects. It handles data storage and provides a standardized set of tools for interaction, while the strategic workflow logic resides within the client.

Key Features:

  • Project-Based: Tasks are organized within distinct projects.
  • SQLite Persistence: Uses a local SQLite file (./data/taskmanager.db by default) for simple, self-contained data storage.
  • Client-Driven: Provides tools for clients; does not dictate workflow.
  • MCP Compliant: Adheres to the Model Context Protocol for tool definition and communication.
  • Task Management: Supports creating projects, adding tasks, listing/showing tasks, updating status, expanding tasks into subtasks, and identifying the next actionable task.
  • Import/Export: Allows exporting project data to JSON and importing from JSON to create new projects.

Implemented MCP Tools

The following tools are available for MCP clients:

  • createProject:
    • Description: Creates a new, empty project.
    • Params: projectName (string, optional, max 255)
    • Returns: { project_id: string }
  • addTask:
    • Description: Adds a new task to a project.
    • Params: project_id (string, required, UUID), description (string, required, 1-1024), dependencies (string[], optional, max 50), priority (enum 'high'|'medium'|'low', optional, default 'medium'), status (enum 'todo'|'in-progress'|'review'|'done', optional, default 'todo')
    • Returns: Full TaskData object of the created task.
  • listTasks:
    • Description: Lists tasks for a project, with optional filtering and subtask inclusion.
    • Params: project_id (string, required, UUID), status (enum 'todo'|'in-progress'|'review'|'done', optional), include_subtasks (boolean, optional, default false)
    • Returns: Array of TaskData or StructuredTaskData objects.
  • showTask:
    • Description: Retrieves full details for a specific task, including dependencies and direct subtasks.
    • Params: project_id (string, required, UUID), task_id (string, required)
    • Returns: FullTaskData object.
  • setTaskStatus:
    • Description: Updates the status of one or more tasks.
    • Params: project_id (string, required, UUID), task_ids (string[], required, 1-100), status (enum 'todo'|'in-progress'|'review'|'done', required)
    • Returns: { success: true, updated_count: number }
  • expandTask:
    • Description: Breaks a parent task into subtasks, optionally replacing existing ones.
    • Params: project_id (string, required, UUID), task_id (string, required), subtask_descriptions (string[], required, 1-20, each 1-512), force (boolean, optional, default false)
    • Returns: Updated parent FullTaskData object including new subtasks.
  • getNextTask:
    • Description: Identifies the next actionable task based on status ('todo'), dependencies ('done'), priority, and creation date.
    • Params: project_id (string, required, UUID)
    • Returns: FullTaskData object of the next task, or null if none are ready.
  • exportProject:
    • Description: Exports complete project data as a JSON string.
    • Params: project_id (string, required, UUID), format (enum 'json', optional, default 'json')
    • Returns: JSON string representing the project.
  • importProject:
    • Description: Creates a new project from an exported JSON string.
    • Params: project_data (string, required, JSON), new_project_name (string, optional, max 255)
    • Returns: { project_id: string } of the newly created project.
  • updateTask:
    • Description: Updates specific details (description, priority, dependencies) of an existing task.
    • Params: project_id (string, required, UUID), task_id (string, required, UUID), description (string, optional, 1-1024), priority (enum 'high'|'medium'|'low', optional), dependencies (string[], optional, max 50, replaces existing)
    • Returns: Updated FullTaskData object.
  • deleteTask:
    • Description: Deletes one or more tasks (and their subtasks/dependency links via cascade).
    • Params: project_id (string, required, UUID), task_ids (string[], required, 1-100)
    • Returns: { success: true, deleted_count: number }
  • deleteProject:
    • Description: Permanently deletes a project and ALL associated data. Use with caution!
    • Params: project_id (string, required, UUID)
    • Returns: { success: true }

(Note: Refer to the corresponding src/tools/*Params.ts files for detailed Zod schemas and parameter descriptions.)

Getting Started

  1. Prerequisites: Node.js (LTS recommended), npm.

  2. Install Dependencies:

    npm install
    
  3. Run in Development Mode: (Uses ts-node and nodemon for auto-reloading)

    npm run dev
    

    The server will connect via stdio. Logs (JSON format) will be printed to stderr. The SQLite database will be created/updated in ./data/taskmanager.db.

  4. Build for Production:

    npm run build
    
  5. Run Production Build:

    npm start
    

Configuration

  • Database Path: The location of the SQLite database file can be overridden by setting the DATABASE_PATH environment variable. The default is ./data/taskmanager.db.
  • Log Level: The logging level can be set using the LOG_LEVEL environment variable (e.g., debug, info, warn, error). The default is info.

Project Structure

  • /src: Source code.
    • /config: Configuration management.
    • /db: Database manager and schema (schema.sql).
    • /repositories: Data access layer (SQLite interaction).
    • /services: Core business logic.
    • /tools: MCP tool definitions (*Params.ts) and implementation (*Tool.ts).
    • /types: Shared TypeScript interfaces (currently minimal, mostly in repos/services).
    • /utils: Logging, custom errors, etc.
    • createServer.ts: Server instance creation.
    • server.ts: Main application entry point.
  • /dist: Compiled JavaScript output.
  • /docs: Project documentation (PRD, Feature Specs, RFC).
  • /data: Default location for the SQLite database file (created automatically).
  • tasks.md: Manual task tracking file for development.
  • Config files (package.json, tsconfig.json, .eslintrc.json, etc.)

Linting and Formatting

  • Lint: npm run lint
  • Format: npm run format

(Code is automatically linted/formatted on commit via Husky/lint-staged).

README mirrored from the source repository 3 months ago. The original is authoritative.

Questions

About Task Manager Server

How do I install Task Manager Server?

Run npx mcp-task-manager-server, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Task Manager Server safe to use with an AI agent?

Its trust score is 54 out of 100 (fair). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Task Manager Server still maintained?

The last commit was a year ago, with 0 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.