Inspiration

Over 10 lakh people sit Tamil Nadu's TNPSC exams every year. Most prepare from photocopied notes on a bus, a phone, or in a kitchen — hands busy, eyes tired. Brain Grain (braingrain.in) already serves thousands of learners with bilingual Tamil/English practice for TNPSC, UPSC, CTET and school exams. The missing piece was voice: the moment when someone is cooking dinner and says, "Alexa, quiz me on Indian Polity" — and gets a real previous-year question, in Tamil or English, with an explanation and a running streak.

Alexa+ with MCP makes that possible without building a skill from scratch: the exam engine becomes a set of tools the assistant can call.

What it does

braingrain-alexa-mcp is a self-hosted MCP server (spec 2025-11-25) that exposes Brain Grain's exam engine as tools:

  • start_quiz(exam, subject, language, count) — pulls questions from the live bank (TNPSC, UPSC, CTET, NEET, Class 6–12)
  • answer(question_id, choice) — scores, returns the explanation, and adapts the next question to the learner's weak topics
  • get_streak() / daily_test() — the same daily test loop learners use on the site, now hands-free
  • explain(concept) — short plain-language explanation, Tamil or English

Every question is a real previous-year or textbook question, never generated on the fly — accuracy matters when someone's rank depends on it.

How I built it

  • Runtime: Node.js + the official @modelcontextprotocol/sdk, Streamable HTTP transport, pinned to spec 2025-11-25
  • Content: questions served from Brain Grain's existing Supabase/Postgres bank via a thin read-only API; the repo ships a sample bank so judges can run it offline
  • Adaptivity: reuses the site's retry/weak-topic logic — a wrong answer schedules a sibling question on the same concept
  • Bilingual: every tool takes language: "ta" | "en"; Tamil questions come from OCR-verified PYQs, not machine translation
  • Hosting: stateless server on a small VPS behind HTTPS; judges get a URL and a one-command local run

Challenges I ran into

(to be filled from the build log — see friction-log.md in the repo)

Accomplishments that I'm proud of

Turning an existing product into an agent surface in weeks, without forking the content pipeline — the MCP server is ~zero new content, all new reach.

What I learned

(to be filled from the build log)

What's next

Alexa+ routines ("every morning at 7, five polity questions"), a voice-first Tamil-medium mode for first-generation aspirants, and shipping the same MCP server to Claude, ChatGPT and Gemini clients so one integration covers every assistant.

Built With

Share this project:

Updates

Submission history