Mess MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MESS_API_KEY | Yes | Your API token for the IIIT-H Mess portal |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_capacitiesA | Return available seat counts and maximum capacity for every mess for a meal. Call this before registering to verify a mess is not full. Args: meal: One of 'breakfast', 'lunch', 'snacks', 'dinner'. date: Target date (YYYY-MM-DD). Defaults to today. api_key: API key. Falls back to MESS_API_KEY environment variable. |
| get_meal_timingsA | Return official meal serving timings for each mess. Args: date: Target date (YYYY-MM-DD). Defaults to today. api_key: API key. Falls back to MESS_API_KEY environment variable. |
| check_registrationsA | List all meal registrations (past and upcoming) within a date range (max 2 months). Args: from_date: Range start date (YYYY-MM-DD), inclusive. to_date: Range end date (YYYY-MM-DD), inclusive. api_key: API key. Falls back to MESS_API_KEY environment variable. |
| get_registrationA | Look up the registration for a single meal. If meal is omitted, returns registrations for all meals on that date. If date is omitted, today is assumed. Args: meal: One of 'breakfast', 'lunch', 'snacks', 'dinner'. Optional. date: Target date (YYYY-MM-DD). Optional. api_key: API key. Falls back to MESS_API_KEY environment variable. |
| register_mealA | Create or update a meal registration. If the registration already exists it will be updated. Use check_registrations to confirm the registration or cancellation window is open before calling this. Args: meal_date: Target date (YYYY-MM-DD). meal_type: One of 'breakfast', 'lunch', 'snacks', 'dinner'. meal_mess: Mess identifier, e.g. 'yuktahar', 'kadamba-nonveg', 'north'. guests: Number of external guests (0–5, billed additionally). api_key: API key. Falls back to MESS_API_KEY environment variable. |
| cancel_mealA | Cancel a meal registration. Monthly cancellation limits may apply. Check get_cancellation_count first. Args: meal_date: Target date (YYYY-MM-DD). meal_type: One of 'breakfast', 'lunch', 'snacks', 'dinner'. api_key: API key. Falls back to MESS_API_KEY environment variable. |
| uncancel_mealB | Reverse a meal cancellation. Args: meal_date: Target date (YYYY-MM-DD). meal_type: One of 'breakfast', 'lunch', 'snacks', 'dinner'. api_key: API key. Falls back to MESS_API_KEY environment variable. |
| manage_skippingA | Mark a registered meal as skipped (or un-skipped). Notifying the kitchen reduces food waste. Must be submitted before the skip window closes (typically 3 hours before the meal). Args: meal_date: Target date (YYYY-MM-DD). meal_type: One of 'breakfast', 'lunch', 'snacks', 'dinner'. meal_mess: The mess at which the user is registered. skipping: True to mark as skipping, False to undo. api_key: API key. Falls back to MESS_API_KEY environment variable. |
| get_cancellation_countA | Return how many cancellations the user has used for a meal in a given month. Compares this against the system maximum (from get_config_windows) to determine remaining budget before penalties apply. Args: meal: One of 'breakfast', 'lunch', 'snacks', 'dinner'. month: Month (1-12). Defaults to current month. year: Year (YYYY). Defaults to current year. api_key: API key. Falls back to MESS_API_KEY environment variable. |
| get_meal_scan_countA | Return aggregated meal scan/availment counts for a mess on a given day. This is public data — no authentication is required, but an api_key can be provided for consistency. Args: meal: One of 'breakfast', 'lunch', 'snacks', 'dinner'. mess: Mess identifier, e.g. 'yuktahar'. date: Target date (YYYY-MM-DD). Defaults to today. api_key: API key. Optional. |
| get_monthly_registrationA | Return the current monthly registration status. Args: month: Month (1-12). Defaults to current month. year: Year (YYYY). Defaults to current year. api_key: API key. Falls back to MESS_API_KEY environment variable. |
| create_monthly_registrationA | Enrol in a mess for an entire calendar month. Args: month: Month number (1-12). year: Year (YYYY). mess_id: Mess identifier, e.g. 'yuktahar'. api_key: API key. Falls back to MESS_API_KEY environment variable. |
| delete_monthly_registrationA | Remove the monthly registration for a given month. Args: month: Month number (1-12). year: Year (YYYY). api_key: API key. Falls back to MESS_API_KEY environment variable. |
| submit_feedbackA | Submit quality feedback for a consumed meal. Args: meal_date: Date the meal was consumed (YYYY-MM-DD). meal_type: One of 'breakfast', 'lunch', 'snacks', 'dinner'. rating: Star rating out of 5 (1 = poor, 5 = excellent). remarks: Optional free-text comment on taste, hygiene, temperature, etc. api_key: API key. Falls back to MESS_API_KEY environment variable. |
| list_available_extrasA | List extra items (e.g. omelettes, special dishes) available to book for a meal. Args: meal_type: One of 'breakfast', 'lunch', 'snacks', 'dinner'. date: Target date (YYYY-MM-DD). Defaults to today. mess: Filter results to a specific mess. Optional. api_key: API key. Falls back to MESS_API_KEY environment variable. |
| list_registered_extrasA | List extra items the user has already booked for a meal. Args: meal_type: One of 'breakfast', 'lunch', 'snacks', 'dinner'. date: Target date (YYYY-MM-DD). Defaults to today. api_key: API key. Falls back to MESS_API_KEY environment variable. |
| list_extras_in_rangeA | List all extra registrations within a date range (max 2 months). Args: from_date: Range start date (YYYY-MM-DD), inclusive. to_date: Range end date (YYYY-MM-DD), inclusive. api_key: API key. Falls back to MESS_API_KEY environment variable. |
| register_extraA | Book an extra item for a meal. The user must have an existing regular registration at the same mess for that meal before booking extras. Args: extra_id: Identifier of the extra item (from list_available_extras). meal_date: Target date (YYYY-MM-DD). meal_type: One of 'breakfast', 'lunch', 'snacks', 'dinner'. meal_mess: Mess where the extra will be served. api_key: API key. Falls back to MESS_API_KEY environment variable. |
| delete_extraA | Cancel an extra item booking. Extra registrations cannot be modified — delete and recreate if needed. Args: registration_id: ID of the extra registration (from list_registered_extras). api_key: API key. Falls back to MESS_API_KEY environment variable. |
| list_auth_keysA | List all API keys belonging to the authenticated user, including expired ones. Args: api_key: API key. Falls back to MESS_API_KEY environment variable. |
| create_auth_keyA | Create a new named API key. The returned key value is only shown once — store it securely. Args: name: A unique human-readable name for the key. expiry: Expiry date in YYYY-MM-DD format. api_key: API key. Falls back to MESS_API_KEY environment variable. |
| delete_auth_keyA | Delete an API key by name. The key is identified by its human-readable name, not its token value. Args: name: The name of the key to delete. api_key: API key. Falls back to MESS_API_KEY environment variable. |
| get_config_windowsA | Return all system operational windows in seconds. Includes registration, cancellation, feedback, extras, and skip windows, as well as the registration maximum date. Args: api_key: API key. Falls back to MESS_API_KEY environment variable. |
| get_monthly_billA | Return the projected and confirmed mess bill for a calendar month. Bills are returned in paise (1 INR = 100 paise). Args: month: Month (1-12). Defaults to current month. year: Year (YYYY). Defaults to current year. api_key: API key. Falls back to MESS_API_KEY environment variable. |
| get_all_billsA | Return a full historical breakdown of mess bills across all recorded months. Bills are returned in paise (1 INR = 100 paise) and include food, extras, and infrastructure costs. Args: api_key: API key. Falls back to MESS_API_KEY environment variable. |
| get_preferencesA | Fetch all saved user preferences from the Mess portal. Args: api_key: API key. Falls back to MESS_API_KEY environment variable. |
| update_preferencesB | Update all user preferences in the Mess portal. Args: preferences: A dictionary of preference keys and their new values. api_key: API key. Falls back to MESS_API_KEY environment variable. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| plan_my_week | Guide the assistant to plan optimal meals for a week. Loads menus and existing registrations, then suggests a varied, healthy meal schedule and optionally books them upon confirmation. Args: start_date: Range start date (YYYY-MM-DD). end_date: Range end date (YYYY-MM-DD). |
| review_monthly_expenses | Guide the assistant to analyse billing history and identify cost drivers. Loads bill history and extra registrations, then provides a structured breakdown and recommendations for reducing future spending. |
| submit_recent_feedback | Guide the assistant to collect and submit structured meal feedback. Looks up which meals the user ate, asks targeted quality questions, then files formal feedback through the API. Args: date: The date to review (YYYY-MM-DD). |
| check_cancellation_budget | Guide the assistant to report remaining cancellation allowance for a meal. Fetches the current cancellation count and system maximum, then clearly states how many cancellations remain before penalties apply. Args: meal: One of 'breakfast', 'lunch', 'snacks', 'dinner'. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| mess_info_resource | Static information about all messes: names, identifiers, and locations. |
| todays_menu_resource | Today's food menu for every mess. |
| meal_timings_resource | Official meal serving timings for each mess (today's date). |
| my_profile_resource | The authenticated user's profile and account details. |
| auth_keys_resource | All API keys associated with the authenticated user, including expired ones. |
| config_windows_resource | All system operational windows: registration, cancellation, feedback, extras, skip. |
| preferences_resource | The authenticated user's saved preferences. |
| bill_history_resource | Full historical breakdown of mess bills across all recorded months. |
TDQS
Scored across 27 tools
Most tools target distinct resource-action pairs (capacities, meal registration, extras, bills, auth, preferences), and descriptions clarify the scope. A few read operations overlap in name and intent, such as check_registrations vs get_registration and list_registered_extras vs list_extras_in_range, but the descriptions are sufficient to disambiguate.
The server consistently uses snake_case and mostly follows a verb_noun pattern. However, verb selection is inconsistent: check_registrations vs get_registration, register_meal vs create_monthly_registration, cancel_meal vs delete_extra, and manage_skipping as a gerund all break the pattern slightly.
27 tools exceeds the 25+ threshold and will feel heavy for an agent to navigate, even though the broad mess-management scope justifies some of the count. The number is high enough that an agent may struggle to choose efficiently among overlapping read operations.
The tool surface provides thorough lifecycle coverage: capacity checks, meal timings, meal and monthly registration CRUD, cancellation/skip workflows, extras booking, feedback, bills, config windows, auth key management, and preferences. No critical dead-end operations are missing.