119 lines
2.6 KiB
Markdown
119 lines
2.6 KiB
Markdown
# TouchBistro MCP Server
|
|
|
|
MCP server for integrating with [TouchBistro](https://www.touchbistro.com/) restaurant POS and management system.
|
|
|
|
## Features
|
|
|
|
- **Orders**: List and retrieve order details
|
|
- **Menu Items**: Access menu item catalog
|
|
- **Reservations**: List and create reservations
|
|
- **Staff**: List staff members
|
|
- **Reports**: Get sales reports
|
|
|
|
## Setup
|
|
|
|
### Prerequisites
|
|
|
|
- Node.js 18+
|
|
- TouchBistro account with API access
|
|
- API credentials and Venue ID
|
|
|
|
### Getting API Access
|
|
|
|
Contact TouchBistro for API access through their integrations program. Visit [TouchBistro Integrations](https://www.touchbistro.com/features/integrations/) for more information.
|
|
|
|
### Installation
|
|
|
|
```bash
|
|
npm install
|
|
npm run build
|
|
```
|
|
|
|
### Environment Variables
|
|
|
|
```bash
|
|
export TOUCHBISTRO_API_KEY="your-api-key-here"
|
|
export TOUCHBISTRO_VENUE_ID="your-venue-id"
|
|
```
|
|
|
|
## Usage
|
|
|
|
### Run the server
|
|
|
|
```bash
|
|
npm start
|
|
```
|
|
|
|
### Configure in Claude Desktop
|
|
|
|
Add to your `claude_desktop_config.json`:
|
|
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"touchbistro": {
|
|
"command": "node",
|
|
"args": ["/path/to/touchbistro/dist/index.js"],
|
|
"env": {
|
|
"TOUCHBISTRO_API_KEY": "your-api-key",
|
|
"TOUCHBISTRO_VENUE_ID": "your-venue-id"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
## Available Tools
|
|
|
|
| Tool | Description |
|
|
|------|-------------|
|
|
| `list_orders` | List orders with filters for status, type, date range |
|
|
| `get_order` | Get detailed order info including items, payments, discounts |
|
|
| `list_menu_items` | List menu items by category and availability |
|
|
| `list_reservations` | List reservations by date, status, party size |
|
|
| `create_reservation` | Create a new reservation |
|
|
| `list_staff` | List staff by role and active status |
|
|
| `get_sales_report` | Generate sales reports with various groupings |
|
|
|
|
## Order Types
|
|
|
|
- `dine_in` - Dine-in orders
|
|
- `takeout` - Takeout orders
|
|
- `delivery` - Delivery orders
|
|
- `bar` - Bar orders
|
|
|
|
## Reservation Statuses
|
|
|
|
- `pending` - Awaiting confirmation
|
|
- `confirmed` - Confirmed by restaurant
|
|
- `seated` - Guest seated
|
|
- `completed` - Reservation completed
|
|
- `cancelled` - Cancelled
|
|
- `no_show` - Guest didn't show up
|
|
|
|
## Staff Roles
|
|
|
|
- `server` - Server
|
|
- `bartender` - Bartender
|
|
- `host` - Host/Hostess
|
|
- `manager` - Manager
|
|
- `kitchen` - Kitchen staff
|
|
- `cashier` - Cashier
|
|
|
|
## Report Groupings
|
|
|
|
- `day` - Daily breakdown
|
|
- `week` - Weekly breakdown
|
|
- `month` - Monthly breakdown
|
|
- `category` - By menu category
|
|
- `item` - By menu item
|
|
- `server` - By server
|
|
|
|
## API Reference
|
|
|
|
Base URL: `https://cloud.touchbistro.com/api/v1`
|
|
|
|
Authentication: Bearer token + Venue ID header
|
|
|
|
See TouchBistro partner documentation for full API details.
|