Campus Buddy
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Campus BuddyWhat classes do I have tomorrow, and are any assignments due this week?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Campus Buddy
A voice-first university schedule assistant, built as a simulated Alexa+ experience for the Build, Ship, Shape: Amazon Developer Hackathon (Alexa+ track), in English and Bangla (বাংলা). It also ships as a self-hosted MCP server (Streamable HTTP, spec 2025-11-25) so any MCP client or agent can use the same assistant.
Live demo: https://iamsajid0010.github.io/campus-buddy/ (use Chrome or Edge for voice)
Students can ask, by voice or text:
English | বাংলা |
"When is my next class?" | "আমার পরের ক্লাস কখন?" |
"What classes do I have tomorrow?" | "কাল আমার কী কী ক্লাস আছে?" |
"Which assignments are due this week?" | "এই সপ্তাহে কোন অ্যাসাইনমেন্ট জমা দিতে হবে?" |
"Where is the Object Oriented Programming class held?" | "অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ক্লাস কোথায় হয়?" |
"Who is the instructor for Electronic Devices and Circuits?" | "ইলেকট্রনিক ডিভাইসেস অ্যান্ড সার্কিটস এর শিক্ষক কে?" |
"When is my next exam?" | "আমার পরের পরীক্ষা কবে?" |
"What events are coming up?" | "আসছে কী কী ইভেন্ট আছে?" |
"Are there any hackathons this month?" | "এই মাসে কি কোনো হ্যাকাথন আছে?" |
"Where is the Tech Talk being held?" | "টেক টক কোথায় হচ্ছে?" |
Campus events: it also answers questions about seminars, workshops, contests, hackathons and fests: when, where, who organizes them. It checks each event against the student's class routine and warns about clashes, e.g. "clashes with your Electronic Devices and Circuits Lab".
Project description
Campus Buddy is a conversational schedule assistant for university students, built as a simulated Alexa+ experience in a web app. Instead of opening a portal or scrolling through screenshots of a routine, a student simply asks, "When is my next class?" or "Which assignments are due this week?", and the assistant answers out loud with the time, room, and teacher. It also tracks campus events such as tech seminars, workshops, contests and hackathons, tells students when and where they are, and warns them when an event clashes with one of their classes.
It works in English and Bangla: ask in Bangla (by voice or text) and it answers in Bangla, with Bangla times ("সকাল ৮:৩০"), Bangla digits and day names, and spoken replies when the browser has a Bangla voice. All schedule data lives in a single editable data file, so any student can make it their own in minutes, with no database or account. The same logic is also exposed as an MCP server with eight read-only tools, so an agent can answer "do I have a clash with the Tech Talk?" through the open standard that Alexa+ integrations use. Campus Buddy shows how a voice assistant can remove everyday friction for students who juggle many classes and deadlines, in their own language.
Related MCP server: MCP-Server-CollageAI
How it works
index.html- the page: orb, chat, microphone button.app.js- the interface. Uses the browser's Web Speech API for voice input (speech recognition) and spoken replies (speech synthesis). Replies come back in the language of the question.engine.js- the assistant's logic. Understands a question with keyword and intent matching, then looks up the answer in the data and builds a reply in English or Bangla. Pure logic, so it runs in the browser and in Node.data.js- your schedule (classes, assignments, exams, campus events). The class routine comes from a real department routine; assignments, exams and events are sample data to replace. Fields starting withbnhold the Bangla names.mcp/- the MCP server (see below). It importsengine.jsanddata.js, so the web app and the MCP tools always agree.
The web app needs no server, no database and no API keys. Everything runs in the browser.
Run the web app
Download or clone this repository.
Open
index.htmlin Google Chrome or Microsoft Edge (voice input needs one of them).Click the microphone and speak, or type a question. Pick বাংলা in the language menu for Bangla.
Optional: serve it locally with python -m http.server and open http://localhost:8000.
MCP server (self-hosted, Streamable HTTP)
cd mcp
npm install
TZ=Asia/Dhaka npm start # http://127.0.0.1:3333/mcp (health check: /health)Transport: Streamable HTTP, endpoint
POST /mcp, stateless. Built with the official@modelcontextprotocol/sdk; the protocol version2025-11-25is negotiated (older clients are supported by the SDK).Binds to
127.0.0.1by default and rejects browser requests from foreign origins (DNS-rebinding guard). SetHOST,PORTorALLOWED_ORIGINSto change that.All tools are read-only and return both readable text and structured content (
say,items,language).
Tool | What it does |
| Any free-form question, English or Bangla (language auto-detected) |
| The next class, with room and teacher |
| Classes on |
| Upcoming assignments, optionally by course and/or day |
| The next exam or quiz, optionally for one course |
| Seminars, workshops, contests, hackathons, with clash warnings; filter by type and window |
| A course's teacher, or its days, times and rooms |
| Whether an event overlaps any class, with the clashing classes listed |
Every tool takes an optional language (en or bn) and an optional now (ISO date-time, for testing).
Try it with plain HTTP:
curl -s localhost:3333/mcp -H 'content-type: application/json' -H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"next_class","arguments":{"language":"bn"}}}'Or point any MCP client at http://127.0.0.1:3333/mcp (for example the MCP Inspector:
npx @modelcontextprotocol/inspector, transport "Streamable HTTP").
Tests
node test/engine.test.js # engine: every suggestion in English and Bangla, clash detection
cd mcp && npm install && npm test # MCP: starts the server and calls every tool with the official MCP clientUse your own schedule
Open data.js and replace the sample courses, classes, assignments and exams. Days use
0 = Sunday ... 6 = Saturday, and times use 24-hour "HH:MM". Add the bn... fields if you want
Bangla replies to use Bangla names; without them the English text is used.
Limitations (honest notes)
This is a simulation of an Alexa+ experience; it does not run on an Alexa device. The MCP server follows the open MCP spec, but it has not been registered with or tested on a real Alexa+ device.
Question understanding uses keyword matching, so unusual phrasings may not be understood.
Bangla spoken replies need a Bangla voice installed in the browser (Microsoft Edge often includes one). Without it, Bangla replies are shown as text and the app says so once.
Bangla course and teacher names in
data.jsare transliterations; check the spellings.Assignments, exams and events are sample data. The MCP server computes sample dates when it starts.
License
MIT, see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Search university course materials, your flashcards, quizzes, streak and quota. All tools read-only.
Read-only access to Epivo's live course catalogue for AI agents.
Calendar API for AI agents: events, availability, Google/Microsoft setup, scheduling, and iCal.
Read-only IELTS and CELPIP question banks, learner practice, progress, scores, and feedback.
Related MCP Servers
- FlicenseNot gradedqualityNot gradedmaintenanceEnables University of Toronto students to access academic data from ACORN and Quercus via AI assistants. It provides tools to retrieve course schedules, enrollment details, syllabi, assignments, and announcements.-
- FlicenseNot gradedqualityCmaintenanceProvides tools for querying student academic data such as subjects, marks, performance reports, timetable, exams, fees, events, holidays, and assignments via natural language.-
- AlicenseAqualityCmaintenanceProvides read-only access to BIT101 community posts, course reviews, personal schedules, grades, and Lexue calendar events, enabling natural language queries for Beijing Institute of Technology students.101MIT
- AlicenseAqualityAmaintenanceA local, read-only MCP server that connects Claude to Monash University Moodle and Ed, providing access to deadlines, announcements, grades, lecture slides, course content, and Ed discussions.1017MIT