Mit Dining

io.github.hongnoulPublished by GitHub account hongnoulv1.0.1Updated Oct 24, 2026

Real-time MIT dining hall menus with dietary filtering across all 6 halls

Overview

AI-generated overview

A local MCP server that fetches real-time MIT dining hall menus from all six Bon Appétit locations and lets an assistant filter them by dietary preference.

What you can do
Retrieve today's menus for all six MIT dining halls at once, or a single hall's menu for a chosen date in YYYY-MM-DD format. Get a seven-day lookahead for one hall to plan meals for the week. Filter menus by dietary preference such as vegetarian, vegan, halal, kosher or gluten-free, optionally limited to one hall and date. Menus are scraped from the Bon Appétit site and cached in memory for one hour.
When to use it
Useful for MIT community members or visitors who want to ask an assistant what is being served at a specific dining hall, check dietary options before heading out, or plan meals across the week.
Requirements
Runs as a local process over stdio. Needs one of Node.js 18+, Bun, or Deno 2+; the npm package can be launched with npx, bunx or deno run. No API key, account, environment variables or headers are required. Network access to the Bon Appétit dining site is needed to fetch menus.
Before you install
Read-only: it retrieves menus and does not place orders, reserve meals or change any data. Menu data comes from scraping a third-party dining website, so results depend on that site's structure and may break or be stale within the one-hour cache. No credentials are requested.

Installation

In SourceWeft

  1. Open Mit Dining in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

mit-dining-mcp

An MCP server that provides real-time MIT dining hall menus from all 6 Bon Appétit locations. Ask Claude what's for dinner, filter by dietary needs, plan your meals for the week, or whether if the menus are mid.

[Demo]

Install

Pick whichever runtime you have:

Bun

bash
claude mcp add mit-dining -- bunx mit-dining-mcp

Node.js

bash
claude mcp add mit-dining -- npx mit-dining-mcp

Deno

bash
claude mcp add mit-dining -- deno run -A npm:mit-dining-mcp

From source

bash
git clone https://github.com/hongnoul/mit-dining-mcp.gitcd mit-dining-mcpnpm install  # or bun installclaude mcp add mit-dining -- npx tsx src/index.ts

Tools

ToolDescriptionExample prompt
get_todays_menusAll 6 halls, today's menus"What's for dinner at MIT tonight?"
get_hall_menuSingle hall, optional date"What's on the menu at Maseeh tomorrow?"
get_weekly_menus7-day lookahead for one hall"What's the menu at Simmons this week?"
filter_menus_by_dietFilter by dietary preference"Find vegan options at Next House"

Parameters

get_hall_menu

  • hall (required): baker, maseeh, mccormick, new-vassar, next-house, simmons
  • date (optional): YYYY-MM-DD format

get_weekly_menus

  • hall (required): same as above

filter_menus_by_diet

  • diet (required): vegetarian, vegan, halal, kosher, gluten-free
  • hall (optional): limit to one hall
  • date (optional): YYYY-MM-DD format

Dining halls

KeyName
bakerBaker Dining
maseehThe Howard Dining Hall at Maseeh
mccormickMcCormick Dining
new-vassarNew Vassar Dining
next-houseNext Dining
simmonsSimmons Dining

Examples

Discord Bot

A ready-to-run Discord bot with /dinner, /menu, and /diet slash commands. See examples/discord-bot for setup instructions.

iOS Shortcut

A tiny HTTP server that returns Siri-friendly plain text. Point an iOS Shortcut at it to ask "Hey Siri, what's for dinner at MIT?" See examples/ios-shortcut.

Google Calendar Sync

A script that creates calendar events for each meal period with the full menu in the description. Run it on a cron to keep your week synced. See examples/gcal-sync.

How it works

MIT's dining is run by Bon Appétit, whose website embeds structured menu data (Bamco.menu_items and Bamco.dayparts) as JSON in <script> tags. This server scrapes and parses that data — no API key needed.

Menus are cached in-memory for 1 hour to avoid repeated requests.

Requirements

One of:

License

MIT

Source: README.md at commit 432f347

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.1LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.