project-manager
Provides project task management tools (create, list, update tasks) with persistence and querying backed by a SQLite database.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@project-manager Show me all high priority tasks that are still todo"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Day 1 — Claude Code Mastery & Context Engineering Lab
This repository implements a custom Model Context Protocol (MCP) server for project task management and integrates it with Claude Code.
What This Project Demonstrates
A custom MCP server built in TypeScript
SQLite persistence
Three MCP tools:
create_tasklist_tasksupdate_task
Claude Code integration through
.mcp.jsonA structured
CLAUDE.mdProject-scoped Claude Code permissions
Two custom Claude commands
A
PostToolUsehook that typechecks TypeScript changesAn end-to-end Claude Code -> MCP -> SQLite workflow
Related MCP server: Mini Task MCP Server
Architecture
Claude Code
|
| stdio / MCP
v
src/index.ts
|
v
src/server.ts
|
v
src/db.ts
|
v
SQLite (tasks.db)Project Structure
.
├── .claude/
│ ├── commands/
│ │ ├── task-summary.md
│ │ └── verify-project.md
│ ├── hooks/
│ │ └── typecheck-on-ts-edit.sh
│ └── settings.json
├── .mcp.json
├── CLAUDE.md
├── README.md
├── src/
│ ├── db.ts
│ ├── index.ts
│ └── server.ts
├── package.json
└── tsconfig.jsonMCP Tools
create_task
Creates a task.
Inputs:
title: string, requireddescription: string, optionalpriority:low | medium | high | critical
list_tasks
Lists tasks with optional filters.
Inputs:
status:todo | in_progress | donepriority:low | medium | high | critical
update_task
Updates the status of an existing task.
Inputs:
id: positive integerstatus:todo | in_progress | done
SQLite Schema
Tasks contain:
idtitledescriptionprioritystatuscreated_atupdated_at
The database file is tasks.db and is intentionally ignored by Git.
Setup
Install dependencies:
npm installTypecheck:
npm run typecheckBuild:
npm run buildStart the MCP server directly:
npm run devThe process will wait for MCP messages over stdio.
Claude Code Integration
The project registers the MCP server in .mcp.json.
Verify it with:
claude mcp listThen start Claude Code from the repository root:
claudeClaude Code should discover the project-manager MCP server.
End-to-End Workflow
Example prompts used to verify the MCP integration:
Create a task called "Set up CI/CD pipeline" with high priority
List all tasks
Update task 2 to in_progress
Show me all high priority tasks that are still todoThese prompts exercise the full flow:
Claude Code
-> project-manager MCP
-> MCP tool handler
-> SQLite
-> MCP result
-> Claude CodeContext Engineering
CLAUDE.md
CLAUDE.md documents:
project purpose
architecture
development commands
MCP tool contracts
database safety
code-change workflow
completion criteria
It is intentionally concise and structured rather than a large unorganized prompt.
Custom Commands
Two project commands are included.
/task-summary
Uses the MCP tools to summarize the current task database.
/verify-project
Checks:
TypeScript typechecking
project build
MCP configuration
exact MCP tool contract
Git ignore rules
PostToolUse Hook
.claude/hooks/typecheck-on-ts-edit.sh
The hook runs after Claude edits or writes TypeScript files under src/.
It automatically executes:
npm run typecheckA successful typecheck exits normally. A failure returns the typecheck output to Claude.
Grading Criteria Mapping
Criterion 1 — Custom MCP Server + Workflow
Implemented by:
src/server.tssrc/db.tssrc/index.ts.mcp.json
Verified through an end-to-end create/list/update workflow in Claude Code.
Criterion 2 — Context Engineering Configuration
Implemented by:
CLAUDE.md.claude/settings.json.claude/commands/task-summary.md.claude/commands/verify-project.md.claude/hooks/typecheck-on-ts-edit.sh
The configuration was tested directly inside Claude Code.
Verification
Run:
npm run typecheck
npm run build
claude mcp list
git statusExpected result:
typecheck passes
build passes
project-manageris connectedGit working tree is clean
Available Tools
3 toolscreate_taskA
Create a new project task with a title, optional description, and priority. Use this when the user wants to add work to the project task list.
Inputs: title (required), priority (required), description.
list_tasksA
List project tasks, optionally filtering by status and/or priority. Use this when the user wants to inspect, search, or summarize existing tasks.
Inputs: status, priority.
update_taskA
Update the status of an existing project task by numeric ID. Use this when work begins, completes, or otherwise changes state.
Inputs: id (required), status (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool targets a distinct action on the task domain: creating, listing, and updating status. There is no overlap or ambiguity between them.
All tool names follow a clear verb_noun pattern in snake_case: create_task, list_tasks, update_task. The only minor deviation is the plural 'tasks' for list, but it is a common convention and does not break consistency.
Three tools is on the lean side but appropriate for a focused task-management server covering create, read, and status update. It is not so sparse as to feel trivial, and the tightly scoped surface is easy to navigate.
The server covers the core create/list/update-status workflow, but lacks delete functionality and does not allow updating fields like title, description, or priority after creation. This is a notable gap for full task management, but agents can still complete basic workflows with workarounds.
Related MCP Connectors
Local-first task manager: create, edit, and complete tasks, projects, and checklists via MCP.
Project management MCP for AI agents with safe task reads and writes.
Read and write Mission Control state via MCP — projects, tasks, subtasks, templates, status updates.
Create, list, and complete todo items through MCP.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables task management (create, list, update tasks with priority and status) using SQLite storage via MCP tools.3-
- AlicenseBqualityDmaintenanceEnables task management via MCP tools for creating, listing, updating, completing, and deleting tasks with JSON file storage.6ISC
- FlicenseNot gradedqualityCmaintenanceEnables managing tasks through a simple task tracker with REST API and MCP tools for listing, creating, updating, assigning, and deleting tasks.-
- AlicenseNot gradedqualityCmaintenanceEnables deterministic, SQLite-backed task and todo tracking across multiple project scopes via MCP tools, allowing agents to add, update, list, complete, and delete tasks without hand-editing text files.3 npmMIT