Restaurant Ops MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Restaurant Ops MCPWhich menu items have the best contribution margin after ingredient costs?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Restaurant Ops MCP
Menu sales, food-cost analysis, and contribution rankings through a local CLI and the Model Context Protocol (MCP).
Turn a menu sales export and per-portion ingredient costs into a repeatable operating review. Run reports locally or connect the same calculations to an MCP-compatible assistant.
Created and maintained by the operator of Balboa Poke, Restaurant Ops MCP brings restaurant operating knowledge to open-source tooling. The project uses deterministic Python calculations, documented assumptions, and automated checks to make menu economics inspectable and repeatable.
Release: v0.2.0a1 · Python 3.10–3.14 tested · MIT licensed.
Engineering and verification
Shared calculation logic: the CLI and MCP tools use the same menu metrics.
46 automated tests: arithmetic, CSV validation, command-line behavior, and an actual MCP client/server connection, including recovery after invalid input.
Compatibility checks: CI covers Python 3.10–3.14 and the minimum supported MCP SDK version.
Package verification: CI builds distribution archives, checks metadata, and tests an installed wheel.
Reviewable changes: feature branches, pull requests, and passing CI precede merges; release notes document supported behavior.
Related MCP server: mcp-csv-database
Why this exists
Restaurant operators often have useful data trapped in POS exports and spreadsheets, but turning that data into clear decisions usually requires manual analysis.
Restaurant Ops MCP exposes auditable tools that an MCP-compatible AI assistant can call to answer questions such as:
Which menu items contribute the most after ingredient costs?
What is the food-cost percentage for each item?
Which items sell well but have weak contribution margins?
Price-change scenarios and period comparisons are planned, not implemented yet.
Calculations run in Python, independently of the assistant, so operators and contributors can inspect and test how each result is produced.
Current tools
calculate_menu_item_metrics
Calculates:
food-cost percentage
contribution margin per unit
gross sales
total ingredient cost
total contribution margin
analyze_menu_csv
Accepts CSV text with these columns:
item,selling_price,ingredient_cost,units_soldIt returns a menu-level summary, item rankings by total contribution margin, and warnings for loss-making items or a period with no sales.
Synthetic example data is available in examples/menu.csv.
Review your week without an AI assistant
After installing, run:
restaurant-ops examples/menu.csvThe sample has sales of 8,152.50 across 615 units. The report shows theoretical ingredient cost, weighted food-cost percentage, and items ranked by contribution after ingredients. Amounts use the currency supplied in the CSV; do not mix currencies.
For machine-readable output:
restaurant-ops examples/menu.csv --jsonSee the weekly review guide for preparing your own data, interpreting results, and recording useful feedback. No AI account is needed for this local report.
Quick start
For a versioned source download, see GitHub releases.
Extract the source archive, open its folder, and follow the virtual-environment
and pip installation steps below (skip git clone when using an archive).
This project is not published to PyPI; install from this repository or its releases.
Requirements
Python 3.10+
uvrecommended, or any normal Python environmentNode.js/npm only if you want the optional browser-based MCP Inspector
Using uv
git clone https://github.com/vgdikyan-droid/restaurant-ops-mcp.git
cd restaurant-ops-mcp
uv sync --extra dev
uv run restaurant-ops examples/menu.csvFor the optional MCP Inspector, run uv run mcp dev src/restaurant_ops_mcp/server.py.
Using pip
git clone https://github.com/vgdikyan-droid/restaurant-ops-mcp.git
cd restaurant-ops-mcp
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
restaurant-ops examples/menu.csvOn Windows, activate with .venv\Scripts\Activate.ps1 in PowerShell.
Connect an MCP client
This project uses the official MCP Python SDK v2 (mcp>=2.0,<3.0) and
MCPServer. It is not the separate FastMCP package. See the
official SDK documentation.
The installed restaurant-ops-mcp command runs the server over standard
input/output (stdio). The client launches it when needed; it does not open a
web port. Running it by itself waits quietly for protocol messages.
For clients that accept an mcpServers JSON configuration, use your installed
environment's absolute executable path:
{
"mcpServers": {
"restaurant-ops": {
"command": "/absolute/path/to/restaurant-ops-mcp/.venv/bin/restaurant-ops-mcp",
"args": []
}
}
}On Windows the executable is .venv\\Scripts\\restaurant-ops-mcp.exe.
Configuration location varies by client. A client can also launch the virtual
environment's Python with arguments -m restaurant_ops_mcp.server.
Try: “Use the restaurant tools to calculate a menu item with selling price 20, ingredient cost 6, and 10 units sold.” Expected total contribution: 140. The CSV tool accepts CSV text, not a filename, and does not read arbitrary files. If you use an AI client, CSV content and results may be sent to that client's provider. The standalone CSV report runs locally.
What these numbers mean
Ingredient cost is the recipe cost per portion; units sold cover one period.
Food-cost percentage = ingredient cost / selling price × 100.
Weighted food-cost percentage = total ingredient cost / total sales × 100.
Contribution = sales minus ingredients. It excludes labor, rent, payment and delivery fees, waste, and other costs, so it is not net profit.
These are theoretical food costs, not actual inventory usage or purchase totals.
Amounts are rounded to two decimal places for display; this is an operating estimate, not an accounting ledger.
The JSON field
gross_salesis price × units. Use realized prices after discounts and before tax/tips to approximate your POS sales consistently.With no units sold, the text report shows food cost as N/A. The JSON field
weighted_food_cost_pctretains0.0for compatibility, alongside a warning.
Example CSV
item,selling_price,ingredient_cost,units_sold
Salmon Bowl,18.50,6.40,120
Chicken Bowl,15.00,4.10,180
Spicy Tuna Roll,13.50,4.70,95Project principles
Useful before clever — tools should answer real operating questions.
Auditable math — calculations should be easy to inspect and test.
Portable data — start with CSV and simple schemas instead of locking users into one POS vendor.
AI as an interface, not the source of truth — the model can reason over results, but the underlying calculations stay deterministic.
Roadmap
Menu-item margin calculator
CSV menu analysis
Automated tests
Local CSV report for weekly reviews
MCP connection test and CSV validation
Compare periods (week vs. week / month vs. month)
Ingredient price-change scenarios
Menu engineering quadrants
Inventory variance analysis
POS-specific import adapters
Example Claude Desktop / Claude Code configuration
Contributing
Contributions are welcome, especially from restaurant operators, hospitality technologists, and developers interested in practical MCP tooling.
See CONTRIBUTING.md.
To try a real workflow, follow the pilot checklist. Report a reproducible bug or operator feedback using the GitHub issue templates.
License
MIT
Available Tools
2 toolsTool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.1.0- First observed
analyze_menu_csv - First observed
calculate_menu_item_metrics
TDQS
Scored across 2 tools
The two tools operate at different granularities: one calculates metrics for a single item, while the other parses and analyzes a full menu CSV. There is minor conceptual overlap because both compute contribution margin, but the input format and output scope are sufficiently distinct.
Both names use snake_case and follow a verb_noun pattern (calculate_menu_item_metrics, analyze_menu_csv). The convention is consistent and readable throughout.
The server name implies broader restaurant operations, but only two narrow menu-economics tools are provided. While the pair covers single-item and batch analysis, the surface feels thin for the stated scope.
For menu economics, item-level and menu-level contribution analysis covers the core workflow. Minor gaps exist around period comparisons, pricing scenarios, or export/reporting, but agents can work around them.
Maintenance
Related MCP Connectors
MerchantFlow is a hosted, read-only ecommerce analytics MCP server for Shopify and WooCommerce. It gives AI assistants tenant-scoped access to revenue, profit and loss, product and SKU profitability, COGS coverage, fulfillment costs, advertising spend, ROAS, marketing performance, cohorts, LTV, and business valuation across connected commerce and marketing platforms. Connect with OAuth over Streamable HTTP. No local server installation is required.
Connect your ads, shop, analytics, social, CRM and finance platforms once, then let Claude, ChatGPT, Cursor or any MCP client read, join and explain your numbers. Public statistics from the World Bank, IMF, Eurostat, OECD, WHO and SEC filings come as context, searchable and chartable from the same tools. Read-only by design, every number carries its source.
Query your warehouse or a CSV with Claude/ChatGPT over MCP, governed by table-level ACL + audit.
Connects Amazon Seller Central and Amazon Advertising to any MCP client. Settlement-accurate P&L - every fee, refund and reimbursement as Amazon posted it - plus contribution margin and breakeven per product, per marketplace, per day. Full Sponsored Products, Brands and Display management: search terms, placements, keyword and competitor research, dayparting, automation rules. 110 tools: 78 read-only (P&L, PPC at every grain, SQP/Brand Analytics, inventory, forecasting), 28 staged writes (every change is a proposal you review and confirm before it reaches Amazon - there is no autonomous-write mode), and 4 confirmation & support tools. 4 additional AI Workforce tools appear once a client is connected.
Related MCP Servers
- AlicenseAqualityNot gradedmaintenanceAn MCP server that enables AI assistants to load, query, and analyze local CSV files using tools for filtering, aggregation, and grouping. It provides capabilities to describe schemas, calculate statistics, and sample data directly from CSV files.6-
- AlicenseBqualityCmaintenanceLoads CSV files into a temporary SQLite database and provides comprehensive data analysis tools via MCP, enabling AI assistants to query, analyze, and export data using natural language.14MIT
- FlicenseNot gradedqualityDmaintenanceA local MCP server for analyzing CSV files from your filesystem, particularly suited for chatbot conversation logs. Allows listing, reading, filtering, merging, and statistical analysis of CSV data via natural language.-
- FlicenseBqualityDmaintenanceEnables restaurant management through natural language, allowing import of Toast CSV data, labor/sales analysis, tip pool calculations, task management, and note-taking.14-