Skip to main content
Glama
README.md
# IIITH Mess MCP

MCP server for the IIIT Hyderabad Mess System. Lets LLMs check registrations, view menus, manage meals, and track billing — all conversationally.

Requires IIIT VPN or intranet access.

## Examples of what you can ask

- "What am I eating today?"
- "Cancel all my Friday lunches"
- "Register me for dinner at Kadamba tomorrow"
- "What's on the menu tonight?"
- "Every week, register my favourite meals for the week"
- "Estimate the nutrition for tonight's dinner"
- "How much is my mess bill this month?"

## Prerequisites

- An auth key from [mess.iiit.ac.in](https://mess.iiit.ac.in) (Settings > Auth Keys), or a session cookie
- uv

## Adding to Claude Code

### Via uv (recommended)

```bash
claude mcp add iiith-mess -e MESS_AUTH_KEY=your-auth-key -- uvx iiith-mess-mcp
```

### Via local clone

```bash
git clone https://github.com/Kallind/IIITH-Mess-MCP
claude mcp add iiith-mess -e MESS_AUTH_KEY=your-auth-key -- uv run --directory IIITH-Mess-MCP python iiith_mess_mcp/server.py
```

Verify it connected:

```bash
claude mcp list
```

## Adding to GitHub Copilot (VS Code)

Simplest way: Just ask Copilot to set it up by providing this repository URL.

### Via uvx

Create or edit `.vscode/mcp.json` in your workspace:

```json
{
  "servers": {
    "iiith-mess": {
      "type": "stdio",
      "command": "uvx",
      "args": ["iiith-mess-mcp"],
      "env": {
        "MESS_AUTH_KEY": "your-auth-key-here"
      }
    }
  }
}
```

### Via local clone

```json
{
  "servers": {
    "iiith-mess": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "--directory", "/path/to/IIITH-Mess-MCP", "python", "iiith_mess_mcp/server.py"],
      "env": {
        "MESS_AUTH_KEY": "your-auth-key-here"
      }
    }
  }
}
```

---

Made with <3 at IIITH by [Kallind Soni](https://github.com/Kallind) and [Arihant Tripathy](https://github.com/Arihant25)

TDQS

A3.6/5.0

Scored across 45 tools

Disambiguation4/5

Most tools have distinct purposes, but there is some overlap between cancellation-related tools (e.g., mess_cancel_registration, mess_get_cancellations_count, mess_get_cancellation_window) and registration tools (e.g., mess_create_registration, mess_get_registration, mess_get_registrations), which could cause minor confusion. However, descriptions are clear enough to differentiate them in most cases.

Naming Consistency5/5

All tools follow a consistent 'mess_verb_noun' naming pattern with snake_case throughout, such as mess_create_registration and mess_get_auth_keys. This uniformity makes the tool set predictable and easy to navigate.

Tool Count2/5

With 45 tools, the count is excessive for a mess management system, making it cumbersome for agents to navigate. A more focused set of 10-20 tools would better cover the domain without overwhelming complexity.

Completeness5/5

The tool set provides comprehensive coverage for mess operations, including registration, cancellation, billing, authentication, preferences, and feedback. It supports full CRUD and lifecycle management with no apparent gaps for the domain.

Maintenance

ActivityInactive
ResponsivenessNo issues