Inspiration

Every developer wastes 5-10 minutes every morning typing standups from memory. Half the time they forget what they actually worked on. Important blockers get missed. We wanted to fix this -- not with a bot that asks generic questions, but with an agent that already knows what you did.

What it does

Context Standup reads your actual GitHub commits, pull requests, and open issues through a custom MCP server with 3 tools, then uses AI to draft your standup automatically. Each morning at 9:45 AM, every team member gets a personalized DM with their draft pre-filled from real data. Review, edit if needed, and post with one click.

Key features:

  • Custom MCP server with 3 tools: get_github_context, detect_blockers, get_standup_summary
  • Auto blocker detection — flags PRs with no reviews for 2+ days
  • Real-Time Search API integration for personalized Slack context
  • /standup-all triggers personalized drafts for the entire team at once
  • Block Kit edit modal with 3 editable sections before posting
  • Cron scheduler fires automatically at 9:45 AM on weekdays

How we built it

We built a custom MCP server in Node.js that exposes GitHub tools over the stdio protocol. The Slack agent (Bolt SDK, Socket Mode) acts as the MCP client, calling the server tools to fetch real GitHub data. Groq LLaMA 3.3 70B generates the standup draft from real context. Block Kit delivers the interactive DM.

Challenges we ran into

  • MCP server runs as a subprocess spawned by the Bolt app -- coordinating stdio transport while handling concurrent Slack requests required careful async management
  • GitHub search API rate limits needed proper error handling for team-wide triggers
  • Slack bot tokens cannot call search.messages -- only user tokens can -- so we focused on GitHub data plus Real-Time Search for personalization
  • Deploying a persistent Socket Mode WebSocket connection on Railway required ensuring the process stayed alive across container restarts

Accomplishments we're proud of

  • The MCP server works end-to-end with real tools returning real data
  • Auto blocker detection caught a real PR that had been waiting 110 days with no reviews
  • The standup draft references actual commit messages and real issue numbers -- not generic AI content
  • Zero configuration for most teams -- connect GitHub once, drafts start immediately

What we learned

MCP is genuinely powerful for AI agent tool use. Real data makes AI outputs dramatically more useful -- the difference between "Completed assigned tasks" and "Fixed welcome back email in xyz(private repository that's why not mentioned project name) project " is the difference between a toy and a real tool.

What's next

  • Jira/Linear MCP tool for ticket tracking in the Today section
  • Slack user token flow for message history personalization
  • Team dashboard showing standup completion and blocker trends

Built With

  • block-kit
  • groq
  • gthub-api
  • llama-3.3-70b
  • mcp
  • node-cron
  • node.js
  • railway
  • real-time-search-api
  • slack-bolt-sdk
  • socket-mode
Share this project:

Updates