Skip to main content
Glama

Project Tracker API with MCP Integration

TypeScript Node.js Express PostgreSQL Prisma Redis Jest MCP License

A TypeScript-based REST API for project and task management with MCP (Model Context Protocol) integration, featuring enterprise-level AI agent capabilities.

šŸ‘Øā€šŸ’» Author

Jatinder (Jay) Bhola - Engineering Leader & Tech Lead

  • šŸ  Location: Toronto, ON, Canada

  • šŸŽÆ Expertise: Cloud-Native & Event-Driven Architectures, Building Scalable Systems

  • šŸ”— Connect: GitHub | LinkedIn

"Engineering leader with 10+ years of experience improving developer workflows and scaling cloud-native systems. Proven track record in leading and delivering high-impact, customer-facing platforms and empowering engineering teams to build fast, resilient web applications."

Related MCP server: MCP Server

šŸš€ Quick Start (For Interviewers)

One-Command Setup

# Clone the repo 
git clone https://github.com/jatinderbhola/mcp-taskflow-tracker-api.git

# setup everything in one command
npm run setup

This will:

  • āœ… Install all dependencies

  • āœ… Start PostgreSQL and Redis services

  • āœ… Create databases and run migrations

  • āœ… Seed test data

  • āœ… Build the project

  • āœ… Run tests to verify everything works

Test the MCP Integration

# Start the API server
npm run dev

# In another terminal, test MCP
npm run mcp:test

# Interactive testing with MCP Inspector
npm run mcp:inspector

Demo Scenarios

Try these natural language queries:

  • "Show Alice's overdue tasks"

  • "Analyze Bob's workload"

  • "Assess risk for project Alpha"

šŸ¤– MCP Tools Available

Tool

Purpose

Example

Natural Language Query

Process natural language queries

"Show Alice's overdue tasks"

Workload Analysis

Analyze team member capacity

"Analyze Bob's workload"

Risk Assessment

Assess project health

"Assess risk for project Alpha"

šŸ“ Project Structure

src/
ā”œā”€ā”€ routes/                     # API routes
ā”œā”€ā”€ controllers/                # API route handlers
ā”œā”€ā”€ services/                   # Business logic layer  
ā”œā”€ā”€ models/                     # Database models (single source of truth)
ā”œā”€ā”€ middleware/                 # API routing middleware
ā”œā”€ā”€ mcp/                        # MCP server implementation
│   ā”œā”€ā”€ tools/                  # MCP tools
│   ā”œā”€ā”€ promptEngine/           # AI prompt processing
│   └── server.ts               # MCP server
ā”œā”€ā”€ config/                     # Database and app configuration
└── test/                       # Test setup and utilities
└── utils/                      # Utility functions

šŸ“š Documentation

System Design

Top Level

Architecture System Diagram

High Level

High Level System Diagram

Detail Level

Detailed internal processing pipeline and decision flow

Detailed Internal Flow

API Documentation

Once the server is running, visit the interactive API documentation:

Swagger

The Swagger documentation provides:

  • āœ… Interactive API testing - Try endpoints directly from the browser

  • āœ… Request/Response examples - See expected data formats

  • āœ… Authentication details - Understand required headers and tokens

  • āœ… Error responses - View possible error codes and messages

  • āœ… Schema definitions - Complete data models for all endpoints

šŸ› ļø Available Scripts

Development

npm run dev          # Start development server
npm run build        # Build for production
npm run mcp:start    # Start MCP server
npm run mcp:test     # Test MCP integration
npm run mcp:inspector # Interactive MCP testing

Database

npm run prisma:generate  # Generate Prisma client
npm run prisma:migrate   # Run database migrations
npm run prisma:studio    # Open Prisma Studio

Testing

npm test              # Run all tests
npm run test:unit     # Unit tests only
npm run test:integration # Integration tests only

šŸ”§ Configuration

Environment Variables

Create a .env file if does not exists

    cp .env.example .env

āš ļø Warning: THIS .env.example IS CARRYING JUST DEFAUTL ENV KEYS TO KEEP IT SIMPLE FOR THE ASSESSMENT

Manual Setup (if needed)

# Create databases
createdb taskflow
createdb taskflow_test

# Install dependencies
npm install

# Run migrations
npm run prisma:migrate

# Seed test data
node scripts/seed-test-data.js

# Build and test
npm run build
npm run mcp:test

šŸ“Š Performance

  • Response Time: < 50ms for simple queries

  • Accuracy: 95%+ intent recognition

  • Scalability: 100+ concurrent requests

  • Cache Hit Rate: 85%+ for repeated queries

šŸŽÆ Assessment Ready

This implementation demonstrates:

  • āœ… Modern AI Integration: MCP protocol with natural language processing

  • āœ… Professional Code Quality: Clean TypeScript with proper error handling

  • āœ… System Design Excellence: Layered architecture with clear separation

  • āœ… Enterprise Features: Production-ready with comprehensive testing

  • āœ… User-Friendly Design: Name-based queries instead of email addresses

šŸ“„ License

āš ļø Note: Portions of this codebase were co-authored with the help of AI-assisted code completion tools to accelerate development.

ISC

Available Tools

3 tools
Natural Language QueryC

Process natural language queries with enhanced entity discovery and intelligent analysis

Inputs: prompt (required).

Risk AssessmentC

Comprehensive project risk assessment with pattern detection and predictive analytics

Inputs: projectId (required).

Workload AnalysisC

Comprehensive workload analysis with proactive insights and predictive recommendations

Inputs: assignee (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.9/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: Natural Language Query handles query processing, Risk Assessment focuses on risk analysis, and Workload Analysis deals with workload insights. There is no overlap in their described functions, making them easily distinguishable.

    Naming Consistency3/5

    The tool names use a mixed convention: 'Natural Language Query' and 'Risk Assessment' are multi-word phrases with spaces, while 'Workload Analysis' follows a similar pattern but with slight stylistic variation. They are readable but lack a strict verb_noun or other consistent naming pattern.

    Tool Count3/5

    With 3 tools, the count is borderline for a project tracker server. It feels thin, as typical project management domains might require more operations (e.g., task creation, status updates, reporting). However, the tools cover high-level analysis functions, so it's not severely lacking.

    Completeness2/5

    For a project tracker domain, there are significant gaps in the tool surface. Missing are core CRUD operations like creating/updating projects or tasks, tracking progress, or managing resources. The existing tools focus only on analysis, leaving agents unable to perform basic project management actions.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A TypeScript implementation of Model Context Protocol that provides integration tools for JIRA ticket creation and TODO management, allowing users to manage tasks through natural language interfaces.
      599 npm
      ISC
    • A
      license
      A
      quality
      D
      maintenance
      A TypeScript-based MCP server that enables users to manage tasks through natural conversation with Claude. Features complete CRUD operations, priority management, tagging, search functionality, and intelligent productivity insights with robust Zod validation.
      6
      45
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A TypeScript-based MCP server that provides backend API handling and facilitates communication between microservices. Features an organized structure with controllers, routes, and models for easy extensibility and maintenance.
      512 npm
      1
      MIT