Project Tracker MCP Server
[](https://mseep.ai/app/jatinderbhola-mcp-taskflow-tracker-api)
# Project Tracker API with MCP Integration
[](https://www.typescriptlang.org/)
[](https://nodejs.org/)
[](https://expressjs.com/)
[](https://www.postgresql.org/)
[](https://www.prisma.io/)
[](https://redis.io/)
[](https://jestjs.io/)
[](https://modelcontextprotocol.io/)
[](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

#### High Level

#### Detail Level
Detailed internal processing pipeline and decision flow

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

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
Scored across 3 tools
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.
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.
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.
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.