mcpField
M
mit-dining

mit-dining

Local
github.com/hongnoulHealth1Updated 33w ago

About mit-dining

mit-dining-mcp is an MCP server for people planning meals at MIT, providing current menus from six Bon Appétit dining halls. It supports per-hall and weekly lookups as well as dietary filtering, using menu data scraped from the dining website.

Key features

  1. 01Today's menus across six dining halls
  2. 02Menu lookup by hall and date
  3. 03Seven-day menu lookahead
  4. 04Filters for five dietary preferences

Use cases

  1. 01Check tonight's options across MIT dining halls
  2. 02Plan meals for a week at one hall
  3. 03Find vegan, halal, or other dietary options

MCP support

Exposes tools to retrieve today's, dated, and weekly hall menus, and filter menus by dietary preference to MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"hongnoul-mit-dining": {
"command": "npx",
"args": [
"-y",
"mit-dining-mcp"
]
}
}
}
Run commandnpx -y mit-dining-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmmit-dining-mcp1.0.1

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project 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

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

Node.js

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

Deno

claude mcp add mit-dining -- deno run -A npm:mit-dining-mcp
From source
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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.