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.