Skip to content

dharmateja03/Dandy-Hack-25

Repository files navigation

🧠 MCP - Model Context Protocol

AI Mission Control for Engineering Teams

MCP is an intelligent coordination system that maintains context of everything happening in your team, routes information intelligently, and provides managers with real-time visibility.

🎯 The Problem

  • Information overload: Slack has 100+ channels, critical updates get lost
  • Scattered context: No single source of truth for team activities
  • Blind managers: Hard to know what's blocking the team
  • Inefficient help: People @ mention the wrong person or nobody responds

✨ The Solution

One AI entity that:

  • 🧠 Knows everything - Maintains context of all team activities
  • 🎯 Routes intelligently - Connects the right people based on expertise
  • πŸ“Š Provides visibility - Managers get real-time insights
  • πŸ€– Learns continuously - Gets smarter from every interaction

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         MCP Core (The Brain)            β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  Vector DB (Qdrant)               β”‚  β”‚
β”‚  β”‚  - All context as embeddings      β”‚  β”‚
β”‚  β”‚  - Semantic search capability     β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  Intelligence (Gemini)            β”‚  β”‚
β”‚  β”‚  - Parse standups                 β”‚  β”‚
β”‚  β”‚  - Route help requests            β”‚  β”‚
β”‚  β”‚  - Generate insights              β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
β”‚  β”‚  Database (PostgreSQL)            β”‚  β”‚
β”‚  β”‚  - Users, tasks, hierarchy        β”‚  β”‚
β”‚  β”‚  - Structured data                β”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
              ↕️ REST API
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚          β”‚           β”‚          β”‚
β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”€β” β”Œβ”€β”€β–Όβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β–Όβ”€β”€β”€β”€β” β”Œβ”€β”€β–Όβ”€β”€β”€β”€β”€β”
β”‚ Slack  β”‚ β”‚  Web   β”‚ β”‚ Future β”‚ β”‚ Jira   β”‚
β”‚  Bot   β”‚ β”‚Dashboardβ”‚ β”‚Clients β”‚ β”‚Webhook β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Quick Start

Prerequisites

  • Docker and Docker Compose
  • Google Gemini API key (Get it here)
  • Slack workspace (for bot integration)

1. Clone and Setup

git clone <repository-url>
cd Dandy-Hack-25

# Copy environment template
cp .env.example .env

# Edit .env with your credentials
nano .env

2. Configure Slack Bot

  1. Go to api.slack.com/apps
  2. Click "Create New App" β†’ "From scratch"
  3. Name it "MCP" and select your workspace

Required Bot Token Scopes:

  • chat:write
  • im:write
  • im:history
  • users:read
  • channels:read
  • groups:write
  • mpim:write

Event Subscriptions:

  • Enable Socket Mode
  • Subscribe to: message.im, app_mention

Slash Commands:

  • /standup - Trigger daily standup
  • /mcp-summary - Get team summary (managers)
  • /mcp-assign - Assign tasks (managers)
  1. Copy Bot Token (xoxb-...) to .env as SLACK_BOT_TOKEN
  2. Enable Socket Mode and copy App Token (xapp-...) to .env as SLACK_APP_TOKEN

3. Start MCP

# Start all services
docker-compose up -d

# Check logs
docker-compose logs -f

# Verify services are running
docker-compose ps

Services:

4. Test the Bot

In Slack:

  1. DM the MCP bot
  2. Type /standup
  3. Answer the questions
  4. Watch MCP process your update!

πŸ“š Usage

Daily Standups

Trigger via command:

/standup

Or just DM MCP:

Yesterday: Completed user auth API
Today: Working on Redis caching, need help with session management
Blockers: Waiting on design mockups

MCP will:

  • βœ… Parse and extract structured data
  • βœ… Route help requests to experts
  • βœ… Alert manager about blockers
  • βœ… Update task statuses

Help Requests

In your standup, mention help needed:

Working on OAuth integration, need help from someone with OAuth experience

MCP will:

  1. πŸ” Search for team members with OAuth expertise
  2. βœ… Find available expert (not overloaded)
  3. πŸ’¬ Create 3-person group chat (you + expert + MCP)
  4. πŸ“ Learn from the conversation

Manager Commands

Get team summary:

/mcp-summary 7

Assign a task:

/mcp-assign @john Implement Redis caching high

Ask questions:

@MCP what's blocking Sarah?
@MCP who knows about Docker?
@MCP summarize this week

Natural Language Queries

Just ask MCP anything:

  • "Who worked on the authentication system?"
  • "Show me tasks blocked more than 2 days"
  • "What are the top blockers this week?"

πŸ› οΈ Development

Project Structure

mcp-product/
β”œβ”€β”€ backend/                # FastAPI backend (MCP Core)
β”‚   β”œβ”€β”€ main.py            # FastAPI app
β”‚   β”œβ”€β”€ config.py          # Configuration
β”‚   β”œβ”€β”€ services/          # Core services
β”‚   β”‚   β”œβ”€β”€ mcp_core.py   # MCP intelligence
β”‚   β”‚   β”œβ”€β”€ vector_db.py  # Qdrant interface
β”‚   β”‚   └── database.py   # PostgreSQL models
β”‚   └── routers/           # API endpoints
β”œβ”€β”€ slack-bot/             # Slack integration
β”‚   └── app.py            # Bolt app
β”œβ”€β”€ dashboard/             # Web dashboard
β”‚   └── index.html        # Minimal UI
└── docker-compose.yml     # Infrastructure

Adding Features

Add a new context source:

# Any service can add context to MCP
await mcp_core.add_context({
    "type": "github_commit",
    "user_id": "john",
    "text": "Fixed OAuth bug in user service",
    "metadata": {"repo": "backend", "commit": "abc123"}
})

Query context semantically:

# Semantic search across all context
results = await mcp_core.query(
    query="Who fixed OAuth bugs recently?",
    user_id="manager_id"
)

API Endpoints

Health Check:

curl http://localhost:8000/health

Submit Standup:

curl -X POST http://localhost:8000/api/standups/submit \
  -H "Content-Type: application/json" \
  -d '{"user_id": "john", "message": "Working on feature X"}'

Query MCP:

curl -X POST "http://localhost:8000/api/mcp/query?query=who%20knows%20React&user_id=john"

🎯 Roadmap

Phase 1: MVP (Current) βœ…

  • Core MCP backend
  • Vector DB for context storage
  • Gemini integration
  • Slack bot (standups, help routing)
  • Minimal dashboard

Phase 2: Intelligence

  • Advanced help routing (workload balancing)
  • Proactive blocker detection
  • Recurring issue tracking
  • Velocity analytics

Phase 3: Integrations

  • Jira two-way sync
  • GitHub webhook integration
  • Calendar integration
  • Linear, Asana support

Phase 4: Scale

  • Multi-team support
  • Advanced analytics dashboard
  • Dependency graph visualization
  • Predictive insights

🀝 Contributing

This is a YC application project. Contributions welcome!

  1. Fork the repo
  2. Create feature branch
  3. Make changes
  4. Submit pull request

πŸ“„ License

MIT License

πŸ™‹ Support


Built with ❀️ for engineering teams who want to move faster.

MCP - One AI that knows everything, so you don't have to.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages