IIITH Mess MCP Server
Enables AI assistants to interact with the IIIT Hyderabad Mess Management System through natural language, allowing students to view menus, manage meal registrations, check bills, submit feedback, and configure preferences.
README
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
git clone <your-repo-url>
cd mess-mcp
npm 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:
cp .env.example .env
Edit .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/api
4. Build the Project
npm run build
5. Configure Claude Desktop
Find your Claude Desktop config file:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS/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.md
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 config - Check if your API key has expired in the mess portal
MCP server not loading
- Ensure the path in
claude_desktop_config.jsonis absolute and correct - Check 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 key - Never share your API key - It provides full access to your account
- The
.gitignorefile is configured to exclude sensitive files - Rotate 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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.