IIITH Mess MCP Server
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., "@IIITH Mess MCP Server what's for lunch today at Kadamba Veg?"
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.
Mess MCP Server
An MCP (Model Context Protocol) server for the IIIT Mess Management System. This allows AI assistants like Claude to interact with the mess portal through natural language.
Features
π½οΈ View Menus - Get menus for any date at all messes
π Manage Registrations - Register, cancel, or uncancel meals
π° Check Bills - View your monthly mess bill with projections
β Submit Feedback - Rate and review meals
π Extra Items - View and register for extra items
π Monthly Plans - Manage monthly mess registrations
βοΈ Preferences - Control notification and meal settings
π€ Profile - View your user information
Related MCP server: Mealie MCP Server
Prerequisites
Node.js 18+ (Download from nodejs.org)
Claude Desktop (Download from claude.ai/download)
Mess Portal API Key (Get from mess.iiit.ac.in)
Installation
1. Clone and Install
git clone <your-repo-url>
cd mess-mcp
npm install2. Get Your API Key
Log into https://mess.iiit.ac.in
Navigate to Settings β API Keys
Click Create New Key
Give it a name (e.g., "MCP Server") and set an expiry date
Copy the key immediately (it's only shown once!)
3. Configure Environment
Copy the example environment file and add your API key:
cp .env.example .envEdit .env and replace your-api-key-here with your actual API key:
MESS_API_KEY=your-actual-api-key-here
MESS_API_URL=https://mess.iiit.ac.in/api4. Build the Project
npm run build5. Configure Claude Desktop
Find your Claude Desktop config file:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS/Linux:
~/Library/Application Support/Claude/claude_desktop_config.json
Add the MCP server configuration:
{
"mcpServers": {
"mess": {
"command": "node",
"args": ["/absolute/path/to/mess-mcp/dist/index.js"],
"env": {
"MESS_API_KEY": "your-actual-api-key-here",
"MESS_API_URL": "https://mess.iiit.ac.in/api"
}
}
}
}Important: Replace /absolute/path/to/mess-mcp with the actual path to your project.
Example paths:
Windows:
"args": ["C:/Users/YourName/mess-mcp/dist/index.js"]macOS/Linux:
"args": ["/home/yourname/mess-mcp/dist/index.js"]
6. Restart Claude Desktop
Close Claude Desktop completely (check system tray/menu bar) and reopen it. The MCP server will load automatically.
Usage
Once set up, you can interact with the mess system using natural language in Claude Desktop:
Example Conversations
View Today's Menu:
"What's for lunch today?" "Show me today's menu at Kadamba Veg"
Register for Meals:
"Register me for dinner tomorrow at Yuktahar" "Sign me up for breakfast on Friday at Palash"
Cancel/Manage Registrations:
"Cancel my breakfast for tomorrow" "Show my registrations for this week" "Uncancel my lunch on December 5th"
Check Bills:
"What's my mess bill this month?" "How much have I spent so far?"
View Capacities:
"Is there space at Kadamba for dinner tonight?" "Show me available spots for lunch tomorrow"
Submit Feedback:
"Rate today's lunch 4 stars with remark 'Good food'"
Manage Preferences:
"Turn off meal reminder notifications" "Enable unregistered meal access"
Available Tools
The MCP server exposes 30+ tools organized into categories:
π’ Mess Information
Get mess info, menus, rates, capacities, and timings
π Registrations
View, create, cancel, and manage meal registrations
π° Billing & Feedback
Check bills, submit feedback, view ratings
π Extra Items
Browse and register for extra food items
π Monthly Plans
Manage monthly mess subscriptions
βοΈ Configuration
View/update preferences, check windows and limits
π€ User Profile
View profile, reset QR token
Development
Project Structure
mess-mcp/
βββ src/
β βββ index.ts # Main MCP server entry point
β βββ client.ts # HTTP client for Mess API
β βββ types.ts # TypeScript type definitions
β βββ tools/
β βββ auth.ts # User authentication tools
β βββ mess.ts # Mess information tools
β βββ registrations.ts # Registration management
β βββ billing.ts # Bills and feedback
β βββ extras.ts # Extra items
β βββ monthly.ts # Monthly registrations
β βββ config.ts # Preferences and settings
βββ dist/ # Compiled JavaScript (generated)
βββ package.json
βββ tsconfig.json
βββ .env # Your config (not in git)
βββ .env.example # Template for .env
βββ README.mdScripts
npm run build- Compile TypeScript to JavaScriptnpm run dev- Build and run in development modenpm start- Run the compiled server
Troubleshooting
"Command not found" or "node not found"
Make sure Node.js is installed and in your system PATH
Try using the full path to
node.exein the Claude config
"Unauthorized" errors
Verify your API key is correct in
.envand Claude configCheck if your API key has expired in the mess portal
MCP server not loading
Ensure the path in
claude_desktop_config.jsonis absolute and correctCheck Claude Desktop logs for errors
Restart Claude Desktop after config changes
Menu not showing items
The menu might not be updated for the current week
Try a different date or mess
Security
Never commit
.envfile - It contains your API keyNever share your API key - It provides full access to your account
The
.gitignorefile is configured to exclude sensitive filesRotate your API keys periodically in the mess portal settings
Contributing
Contributions are welcome! Please:
Fork the repository
Create a feature branch
Make your changes
Submit a pull request
License
MIT
Acknowledgments
Built for students of IIIT Hyderabad using the Mess Management System API.
Support
For issues or questions:
Open an issue on GitHub
Check the MCP Documentation
Review the Mess Portal API docs
Available Tools
29 toolscancel_mealC
Cancel a meal registration
Inputs: meal_date (required), meal_type (required).
create_monthly_registrationC
Register at a mess for an entire month
Inputs: month (required), year (required), mess (required).
delete_extra_registrationC
Delete an extra item registration
Inputs: registration_id (required).
delete_monthly_registrationC
Delete a monthly registration
Inputs: month (required), year (required).
get_billC
Get your mess bill for a month
Inputs: month, year.
get_cancellation_countC
Get how many cancellations you've used this month
Inputs: meal (required), month, year.
get_cancellation_windowB
Get how late you can cancel a meal
Inputs: no named parameters.
get_extra_registrationsC
Get your registered extra items
Inputs: meal (required), date.
get_extrasB
List available extra items for a meal
Inputs: meal (required), date.
get_max_cancellationsC
Get the maximum allowed cancellations per month for a meal
Inputs: meal (required).
get_meal_capacitiesC
Get available capacity at each mess for a meal
Inputs: meal (required), date.
get_meal_ratesC
Get meal rates for all messes
Inputs: meal (required), date.
get_meal_ratingB
Get average ratings for a meal
Inputs: meal (required), date, mess.
get_meal_timingsB
Get meal serving times at each mess
Inputs: date.
get_mess_infoB
List all available messes with their status (open/closed)
Inputs: no named parameters.
get_monthly_registrationC
Get your monthly registration for a mess
Inputs: month, year.
get_preferencesB
Get your notification and meal preferences
Inputs: no named parameters.
get_registrationC
Get your registration for a specific meal on a date
Inputs: meal, date.
get_registrationsB
Get all your meal registrations in a date range (max 2 months)
Inputs: from (required), to (required).
get_registration_windowB
Get how far in advance you can register for meals
Inputs: no named parameters.
get_user_infoB
Get your profile information including name, email, roll number, and last login
Inputs: no named parameters.
register_extraC
Register for an extra item
Inputs: extra_id (required), meal_date (required), meal_type (required), meal_mess (required).
register_mealC
Register for a meal at a specific mess
Inputs: meal_date (required), meal_type (required), meal_mess (required), guests.
reset_qr_tokenB
Reset your QR code token used for meal verification at the mess
Inputs: no named parameters.
skip_mealC
Mark a meal as skipped (you will still be charged)
Inputs: meal_date (required), meal_type (required), meal_mess (required), skipping.
submit_feedbackC
Submit anonymous feedback for a meal you've availed
Inputs: meal_date (required), meal_type (required), rating (required), remarks.
uncancel_mealB
Uncancel a previously cancelled meal registration
Inputs: meal_date (required), meal_type (required).
update_preferencesC
Update your preferences
Inputs: notify_not_registered, notify_malloc_happened, auto_reset_token_daily, enable_unregistered, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
TDQS
Scored across 29 tools
Each tool has a clearly distinct purpose with no ambiguity; for example, cancel_meal vs. uncancel_meal, get_registration vs. get_registrations, and register_meal vs. create_monthly_registration are well-differentiated. The descriptions specify unique actions on specific resources, preventing misselection.
All tool names follow a consistent verb_noun pattern using snake_case, such as cancel_meal, get_bill, and update_preferences. There are no deviations in naming conventions, making the set predictable and readable.
With 29 tools, the count is too high for the apparent scope of a mess management system, making it feel heavy and potentially overwhelming. A more focused set of 15-20 tools would better suit the domain without sacrificing functionality.
The tool surface provides complete CRUD/lifecycle coverage for mess operations, including registration, cancellation, billing, preferences, and feedback. There are no obvious gaps, and agents can handle all core workflows without dead ends.
Maintenance
Related MCP Connectors
Persistent food journal for AI assistants. Log meals, save recipes, plan meals and track nutrition.
Connect AI assistants to Gastrosync for catering and event management.
AI-powered kitchen management β pantry, recipes, meal plans, shopping lists
Household-aware cooking brain: pantry, meal suggestions, dietary safety, recipes, shopping lists.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceConnects AI assistants to the FAST-NUCES Flex Student Portal, enabling students to query their academic data including attendance, marks, transcript, and fee reports through natural language conversations.6-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Mealie recipe databases, allowing users to manage and query their recipes through natural language conversations.17 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides real-time access to menus from all six MIT Bon AppΓ©tit dining halls. It enables users to query daily or weekly schedules and filter options by specific dietary requirements such as vegan, halal, or gluten-free.62 npm1MIT
- AlicenseAqualityCmaintenanceEnables LLMs to interact with the IIIT Hyderabad Mess System to manage meal registrations, view menus, and track billing. It supports conversational commands for tasks like cancelling meals, estimating nutrition, and checking account balances.455AGPL 3.0