MCP server: One MCP server.

MIT dining

@hongnoulMCP server · External

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

Nutritionv1.0.1TypeScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: only reads or looks up information.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npmmit-dining-mcpv1.0.1

Run

npx -y mit-dining-mcp

MCP client config

{
  "mcpServers": {
    "mit-dining": {
      "command": "npx",
      "args": [
        "-y",
        "mit-dining-mcp"
      ]
    }
  }
}
README2 min read

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.git
cd mit-dining-mcp
npm install  # or bun install
claude 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

Similar modules

Browse Nutrition