Project Tracker MCP Server
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 Tracker MCP Server Get a summary of all projects"
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.
Project Tracker MCP Server
A Model Context Protocol (MCP) server for managing projects, epics, and stories. This allows AI agents (Claude, GPT-5, etc.) to interact with your project tracking system in a structured way.
Features
Hierarchical Structure: Projects → Epics → Stories
Issue Tracking: Bug tracking, technical debt, and project issues tied to projects
PostgreSQL Backend: Persistent storage with relational database
MCP Integration: Compatible with Claude Desktop, GPT agents, and other MCP clients
Full CRUD Operations: Create, read, update, and delete for all entities
Content Storage: Store summaries, status updates, and conversation context
No File Clutter: AI-generated content stored in database instead of markdown files
40 Tools: Comprehensive API for managing all aspects of project tracking
Related MCP server: Saga MCP
Setup
1. Install Dependencies
npm install2. Configure Database
Create a .env file based on .env.example:
cp .env.example .envEdit .env and set your PostgreSQL connection details:
DATABASE_URL=postgresql://username:password@localhost:5432/project_tracker3. Create Database and Run Migrations
Create the database in PostgreSQL:
CREATE DATABASE project_tracker;Then run the migration script to create tables:
npm run build
npm run db:migrate4. Start the Server
npm run devOr for production:
npm run build
npm startDatabase Schema
Projects
id: UUID (Primary Key)name: VARCHAR(255)description: TEXTstatus: VARCHAR(50) (active, on_hold, completed, archived)created_at: TIMESTAMPupdated_at: TIMESTAMP
Epics
id: UUID (Primary Key)project_id: UUID (Foreign Key → projects)name: VARCHAR(255)description: TEXTstatus: VARCHAR(50) (idea, planned, in_progress, completed, cancelled)priority: VARCHAR(50) (low, medium, high, critical)created_at: TIMESTAMPupdated_at: TIMESTAMP
Stories
id: UUID (Primary Key)epic_id: UUID (Foreign Key → epics)title: VARCHAR(255)description: TEXTstatus: VARCHAR(50) (todo, in_progress, review, done, blocked)priority: VARCHAR(50) (low, medium, high, critical)estimated_hours: INTEGERactual_hours: INTEGERcreated_at: TIMESTAMPupdated_at: TIMESTAMP
MCP Tools Available
Project Management
create_project: Create a new projectlist_projects: List all projects with optional status filterget_project: Get project details with all epics and storiesupdate_project: Update project informationdelete_project: Delete a project (cascades to epics and stories)
Epic Management
create_epic: Create a new epic in a projectlist_epics: List epics for a projectget_epic: Get epic details with all storiesupdate_epic: Update epic informationdelete_epic: Delete an epic (cascades to stories)
Story Management
create_story: Create a new story in an epiclist_stories: List stories for an epicget_story: Get story detailsupdate_story: Update story informationdelete_story: Delete a story
Summary Management
create_summary: Save AI-generated summarieslist_summaries: List summaries with filtersget_summary: Get specific summarysearch_summaries: Full-text searchupdate_summary: Update summarydelete_summary: Remove summary
Status Update Management
create_status_update: Track progress, blockers, achievementslist_status_updates: List status updates with filtersget_status_update: Get specific status updatesearch_status_updates: Search status updatesupdate_status_update: Update status updatedelete_status_update: Remove status update
Context Management
create_context: Save conversation context and decisionslist_context: List context entries with filtersget_context: Get specific contextsearch_context: Search saved contextupdate_context: Update contextdelete_context: Remove context
Issue Tracking
create_issue: Report bugs, technical debt, security issueslist_issues: List issues with filters (severity, status, assigned_to)get_issue: Get specific issue detailssearch_issues: Search issues by keywordupdate_issue: Update issue status, assignment, resolutiondelete_issue: Remove issue
Utility
get_project_summary: Get a comprehensive overview of all projects
Using with AI Agents
Claude Desktop
Add to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": {
"project-tracker": {
"command": "node",
"args": ["__BASE_DIR__/dist/index.js"],
"env": {
"DATABASE_URL": "postgresql://username:password@localhost:5432/project_tracker"
}
}
}
}Other MCP Clients
Connect via stdio transport to the compiled JavaScript file.
Example Usage
Once connected, AI agents can:
Create a project called "Mobile App Redesign"
→ Creates project in database
Add an epic "User Authentication" to the Mobile App Redesign project
→ Creates epic linked to project
Create a story "Implement login form" in the User Authentication epic
→ Creates story linked to epic
Create a status update for this sprint
→ Saves status report in database instead of markdown file
Save this conversation as context
→ Preserves discussion for future reference
Show me all projects with their current status
→ Retrieves and displays all projects
Get detailed view of Mobile App Redesign project
→ Shows project with all epics and storiesAdditional Documentation
Status Updates & Context Storage Guide - Learn how to use the new content storage features
MCP Configuration - Detailed setup for VS Code and Claude Desktop
Examples - Code examples and usage patterns
Setup Guide - Complete installation instructions
Quick Start - Get running in 5 minutes
Development
Watch mode for development:
npm run watchThen in another terminal:
npm startAvailable Scripts
npm run build- Compile TypeScriptnpm start- Run the servernpm run dev- Build and runnpm run watch- Watch mode for developmentnpm run db:migrate- Run database migrationsnpm run db:verify- Verify database schemanpm run db:test- Test database connectionnpm run db:diagnose- Diagnose database issues
License
MIT
Available Tools
40 toolscreate_contextB
Save conversation context, chat summaries, or important knowledge to preserve understanding across sessions
Inputs: title (required), content (required), tags, metadata, +4 more.
create_epicC
Create a new epic (idea) within a project
Inputs: name (required), project_id (required), status, priority, +1 more.
create_issueC
Create a new issue/bug in a project
Inputs: title (required), project_id (required), tags, metadata, +7 more.
create_projectC
Create a new project to organize epics and stories
Inputs: name (required), status, description.
create_status_updateB
Create a status update/report to track progress, blockers, or achievements
Inputs: title (required), content (required), tags, metadata, +5 more.
create_storyC
Create a new story within an epic
Inputs: title (required), epic_id (required), status, priority, +3 more.
create_summaryC
Create a new summary/note to track important information, decisions, or AI-generated content
Inputs: title (required), content (required), tags, metadata, +3 more.
delete_contextC
Delete a context entry
Inputs: context_id (required).
delete_epicB
Delete an epic and all its associated stories
Inputs: epic_id (required).
delete_issueC
Delete an issue
Inputs: issue_id (required).
delete_projectB
Delete a project and all its associated epics and stories
Inputs: project_id (required).
delete_status_updateC
Delete a status update
Inputs: status_update_id (required).
delete_storyC
Delete a story
Inputs: story_id (required).
delete_summaryC
Delete a summary
Inputs: summary_id (required).
get_contextC
Get a specific context entry by ID
Inputs: context_id (required).
get_epicB
Get detailed information about a specific epic including all its stories
Inputs: epic_id (required).
get_issueA
Get a specific issue by ID
Inputs: issue_id (required).
get_projectB
Get detailed information about a specific project including all its epics and stories
Inputs: project_id (required).
get_project_summaryA
Get a comprehensive summary of all projects with counts of epics and stories
Inputs: no named parameters.
get_status_updateB
Get a specific status update by ID
Inputs: status_update_id (required).
get_storyC
Get detailed information about a specific story
Inputs: story_id (required).
get_summaryC
Get a specific summary by ID
Inputs: summary_id (required).
list_contextC
List saved context entries with optional filters
Inputs: tag, limit, context_type, related_entity_id.
list_epicsC
List all epics for a specific project
Inputs: project_id (required), status.
list_issuesC
List issues for a project with optional filters
Inputs: tag, limit, status, severity, +3 more.
list_projectsC
List all projects with optional status filter
Inputs: status.
list_status_updatesC
List status updates with optional filters
Inputs: tag, limit, status_type, related_entity_id.
list_storiesC
List all stories for a specific epic
Inputs: epic_id (required), status.
list_summariesB
List summaries with optional filters for type, tags, or related entities
Inputs: tag, limit, summary_type, related_entity_id, +1 more.
search_contextB
Search context entries by keyword to find relevant conversations or knowledge
Inputs: keyword (required), limit.
search_issuesB
Search issues by keyword
Inputs: keyword (required), limit, project_id.
search_status_updatesC
Search status updates by keyword
Inputs: keyword (required), limit.
search_summariesC
Search summaries by keyword in title or content
Inputs: keyword (required), limit.
update_contextC
Update an existing context entry
Inputs: context_id (required), tags, title, content, +1 more.
update_epicC
Update epic information
Inputs: epic_id (required), name, status, priority, +1 more.
update_issueC
Update an existing issue
Inputs: issue_id (required), tags, title, status, +6 more.
update_projectD
Update project information
Inputs: project_id (required), name, status, description.
update_status_updateC
Update an existing status update
Inputs: status_update_id (required), tags, title, content, +1 more.
update_storyC
Update story information
Inputs: story_id (required), title, status, priority, +3 more.
update_summaryC
Update an existing summary
Inputs: summary_id (required), tags, title, content, +2 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 40 tools
Each tool maps to a distinct entity and action (project, epic, story, issue, summary, status_update, context), so overlap is minimal. However, get_summary vs. get_project_summary and list_summaries vs. get_project_summary could cause some selection confusion.
All tool names follow a consistent snake_case verb_noun pattern (create_issue, list_projects, get_epic, delete_story, etc.). Compound entities like status_update are handled uniformly.
40 tools is excessive for a project tracker, even with seven entity types. The full CRUD/listing/search surface for every entity creates bloat and increases the risk of agent misselection.
The tool set provides complete CRUD coverage for projects, epics, stories, issues, summaries, status updates, and context, plus search and summary operations. No obvious lifecycle operations appear to be missing.
Maintenance
Related MCP Connectors
Project management shared by people and AI agents, with persistent project state through MCP.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Project tracker for AI agents and teams: file, claim, update and hand off tickets over MCP.
Minimal issue tracker: projects, objectives and trackable plans, written by agents over MCP.
Related MCP Servers
- AlicenseAqualityDmaintenanceA local Model Context Protocol server providing backend tools for AI agents to manage projects and tasks with persistent storage in SQLite, enabling structured tracking of project tasks with dependencies, priorities, and statuses.127 npm25GPL 3.0
- AlicenseBqualityAmaintenanceA Jira-like project tracker MCP server for AI agents. SQLite-backed, per-project scoped, with full hierarchy and activity logging — so LLMs never lose track. No more scattered markdown files. saga-mcp gives your AI assistant a structured database to track projects, epics, tasks, subtasks, notes, and decisions across sessions.4183 npm42MIT
- AlicenseBqualityCmaintenance🧠 A high-performance PostgreSQL-backed MCP server acting as a super memory, task tracker, and dynamic database manager for AI agents. Features built-in connection pooling, a professional tasks schema, and a unique shared multi-agent coordination hub to prevent coding conflicts in real-time.124MIT
- AlicenseNot gradedqualityDmaintenanceA file-backed MCP server for hierarchical project management that enables AI assistants to create, claim, and complete tasks within a project→epic→feature→task structure, with dependency management and Markdown-based storage.MIT