Skip to main content
Glama
README.md
[![MseeP.ai Security Assessment Badge](https://mseep.net/pr/jatinderbhola-mcp-taskflow-tracker-api-badge.png)](https://mseep.ai/app/jatinderbhola-mcp-taskflow-tracker-api)

# Project Tracker API with MCP Integration

[![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue.svg)](https://www.typescriptlang.org/)
[![Node.js](https://img.shields.io/badge/Node.js-18+-green.svg)](https://nodejs.org/)
[![Express](https://img.shields.io/badge/Express-4.18-red.svg)](https://expressjs.com/)
[![PostgreSQL](https://img.shields.io/badge/PostgreSQL-15-blue.svg)](https://www.postgresql.org/)
[![Prisma](https://img.shields.io/badge/Prisma-5.10-orange.svg)](https://www.prisma.io/)
[![Redis](https://img.shields.io/badge/Redis-5.6-red.svg)](https://redis.io/)
[![Jest](https://img.shields.io/badge/Jest-29.0-yellow.svg)](https://jestjs.io/)
[![MCP](https://img.shields.io/badge/MCP-1.17-purple.svg)](https://modelcontextprotocol.io/)
[![License](https://img.shields.io/badge/License-ISC-blue.svg)](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](https://github.com/jatinderbhola) | [LinkedIn](https://www.linkedin.com/in/jatinderbhola)

> *"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."*

## šŸš€ **Quick Start (For Interviewers)**

### **One-Command Setup**
```bash
# 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**
```bash
# 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**

- **[Technical Deep-Dive](docs/ASSESSMENT_DEMONSTRATION.md)** - Complete MCP implementation details
- **[Production Guide](docs/PRODUCTION.md)** - Enterprise deployment and scaling
- **[Security Roadmap](docs/SECURITY_TODO.md)** - Production security considerations

### **System Design**

#### Top Level
![Architecture System Diagram](docs/ARCHITECTURE_DESIGN.png)

#### High Level
![High Level System Diagram](docs/HIGH_LEVEL_ARCHITECTURE_DESIGN.png)

#### Detail Level

Detailed internal processing pipeline and decision flow

![Detailed Internal Flow](docs/DETAILED_ARCHITECTURE_DESIGN.png)


### **API Documentation**

Once the server is running, visit the interactive API documentation:
- **Swagger UI**: http://localhost:3000/api-docs/

![Swagger](docs/SWAGGER.png)

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**
```bash
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**
```bash
npm run prisma:generate  # Generate Prisma client
npm run prisma:migrate   # Run database migrations
npm run prisma:studio    # Open Prisma Studio
```

### **Testing**
```bash
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
```bash
    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)
```bash
# 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 

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.

Maintenance

ActivityInactive
ResponsivenessNo issues