Skip to main content
Glama
msoutumuro123

Restaurant365 MCP Server

README.md
# Restaurant365 MCP Server — Riviera Dining Group

MCP server for the Restaurant365 OData API (live, near-real-time read access).

## Portable Team MCP command

Use this in **Cursor Dashboard → Integrations & MCP → Team MCP Servers**:

| Field | Value |
|-------|-------|
| Name | `restaurant365` |
| Type | `stdio` |
| Command | `npx` |
| Args | `-y`, `github:msoutumuro123/r365-mcp-server` |

Environment variables:

| Variable | Description |
|----------|-------------|
| `R365_DOMAIN` | Instance subdomain (default: `rivieradining`) |
| `R365_USERNAME` | R365 username |
| `R365_PASSWORD` | R365 password |

Aliases also supported: `RESTAURANT365_ODATA_USERNAME`, `RESTAURANT365_ODATA_PASSWORD`, `RESTAURANT365_DOMAIN`.

Username is sent as `domain\username` per R365 OData requirements.

After saving the Team MCP server, click **Add to Team Marketplace** so teammates can install it from Customize in the IDE.

## Local config (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "restaurant365": {
      "command": "npx",
      "args": ["-y", "github:msoutumuro123/r365-mcp-server"],
      "env": {
        "R365_DOMAIN": "rivieradining",
        "R365_USERNAME": "your-user",
        "R365_PASSWORD": "your-password"
      }
    }
  }
}
```

## Tools

- `r365_test_connection` — Verify live OData connection
- `r365_list_entities` — List available OData views
- `r365_list_locations` — List all accessible locations
- `r365_query` — Generic OData query with $filter, $select, $top
- `r365_get_transactions` — Financial transactions
- `r365_get_gl_accounts` — GL account master data
- `r365_get_employees` — Employee records
- `r365_get_sales` — Sales ticket headers

## Build

```bash
npm install
npm run build
```

TDQS

A3.7/5.0

Scored across 5 tools

Disambiguation5/5

Each tool serves a distinct purpose: connection verification, entity enumeration, location listing, generic querying, and transaction retrieval. No overlap or ambiguity.

Naming Consistency5/5

All tools follow the 'r365_' prefix and snake_case naming convention. Most use verb_noun pattern (test_connection, list_entities, list_locations, get_transactions), with 'r365_query' being a concise verb form, maintaining overall consistency.

Tool Count5/5

Five tools is appropriate for a read-only OData API server, covering connection testing, schema discovery, location listing, generic querying, and a specific transaction query without being excessive or sparse.

Completeness4/5

The set provides essential read-only operations: test, list entities, list locations, generic query, and specific transaction query. While a dedicated get-by-ID tool is missing, the generic query can handle it via filters. No write operations are expected per scope.

Maintenance

ActivityStale
ResponsivenessNo issues