Mess MCP Server
# Mess MCP Server
A Model Context Protocol (MCP) server for the IIIT-H Mess portal. This server provides robust, real-time integration enabling AI assistants to securely interact with the institution's mess dining and marketplace systems over standard STDIO transports.
## Architecture & Features
The server interfaces via the official Anthropic `mcp` SDK, abstracting the `mess.iiit.ac.in/api` into easily digestible Resources, Tools, and Prompts.
- **Resources**: Exposes static read-only constraints such as system capacities, current multi-week menus, available extras, operating hours, and standard meal rates.
- **Tools**: Authorizes state mutations including modifying registrations (cancel, skip, un-cancel, register), applying for extras, and seamlessly filing formal qualitative feedback.
- **Prompts**: Provides pre-programmed reasoning flows, assisting agents with weekly meal planning and historic billing analysis, mitigating overspending on non-essential items.
## Prerequisites
- **Python 3.10+**
- **uv** (recommended for seamless environments) or **pip**
## Installation
1. Clone the repository to your local environment:
```bash
git clone https://github.com/shrey715/mess-mcp.git
cd mess-mcp
```
2. Sync the dependencies and build the virtual environment:
```bash
uv sync
# Or using standard pip
pip install .
```
## Configuration
The server operations are authenticated. You must set the correct environment variables before launch, preventing API tokens from passing unnecessarily through the language model context window.
```bash
export MESS_API_KEY="your-api-token"
```
## Usage Integration
The server operates exclusively via standard `stdio`, assuring strong compatibility with high-performance desktop clients.
### Claude Desktop Integration
Locate your Claude Desktop JSON configuration and append the following:
```json
{
"mcpServers": {
"mess-mcp": {
"command": "uv",
"args": ["run", "--directory", "/path/to/mess-mcp", "mess-mcp"],
"env": {
"MESS_API_KEY": "your-api-key"
}
}
}
}
```
### Cursor or VS Code Integration
Use standard integration settings inside Cursor or VS Code Copilot to register local MCPs. Provide the exact executable invocation:
**Command Path**: `uv run --directory /path/to/mess-mcp mess-mcp`
## Documentation
Full architectural insights are encoded directly into the MCP introspection system (`mcp list`). Endpoints trace the official OpenAPI 3.0 specification available from the institution portal.
## License
This software is released under the GNU General Public License v3.0 (GPLv3). Review the `LICENSE` file for strict distribution and modification stipulations.
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.