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
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
2. 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:
Edit .env and replace your-api-key-here with your actual API key:
4. Build the Project
5. 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:
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
Scripts
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 - It contains your API key
Never 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