RestaurantDoctorAI

Free restaurant tools: a profit check with a grade, recipe costing and six restaurant calculators.

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
95%
命名の品質
70%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(1)

  • LOWTool 'restaurantdoctor_run_free_check' name length outside 3-30 rangerestaurantdoctor_run_free_check 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~2,660トークン数(ツール定義)
~13.9 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 2.08%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "profit-check": {
      "url": "https://restaurantdoctorai.com/api/mcp"
    }
  }
}

リモートエンドポイント

https://restaurantdoctorai.com/api/mcpstreamable-http

できること

ツール一覧

ツール(2)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢restaurantdoctor_get_questions(country)

Lists the 12 multiple-choice questions of the free restaurant profit check, with the answer values each one accepts. Money ranges, delivery apps and review sites follow the restaurant's country (default US).

入力スキーマ

{
  "type": "object",
  "properties": {
    "country": {
      "description": "Where the restaurant is: a two-letter ISO 3166-1 code such as US, CA, AU or DE (GB for the United Kingdom). Sets the currency and local wording. Defaults to US.",
      "default": "US",
      "type": "string",
      "pattern": "^[A-Za-z]{2}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string"
    },
    "countryName": {
      "type": "string"
    },
    "currency": {
      "type": "string",
      "description": "Of the money ranges (ISO 4217)."
    },
    "questions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "The answer's name in restaurantdoctor_run_free_check."
          },
          "section": {
            "type": "string"
          },
          "question": {
            "type": "string"
          },
          "options": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                }
              },
              "required": [
                "value",
                "label"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "key",
          "section",
          "question",
          "options"
        ],
        "additionalProperties": false
      }
    },
    "countries": {
      "type": "object",
      "properties": {
        "note": {
          "type": "string"
        }
      },
      "required": [
        "note"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "country",
    "countryName",
    "currency",
    "questions",
    "countries"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢restaurantdoctor_run_free_check(serviceModel, monthlyRevenue, primeCostAwareness, plateCostingFrequency, wasteTrackingMethod, ...)

Scores a restaurant's 12 answers against industry benchmarks for its type of restaurant and returns the free result the website shows: an overall grade, grades by area, the estimated yearly profit leak, the biggest leak or opportunity and the first fix. Includes a link that opens the same result on restaurantdoctorai.com. The result also notes the paid full report on the website, its price and what it adds. Takes only the 12 answers and the country; restaurantdoctor_get_questions gives the wording of each answer value. The answers aren't stored; only an anonymous daily count of checks is kept.

入力スキーマ

{
  "type": "object",
  "properties": {
    "serviceModel": {
      "type": "string",
      "enum": [
        "quick_service",
        "fast_casual",
        "full_service",
        "fine_dining",
        "bar_lounge"
      ],
      "description": "What kind of restaurant do you run? quick_service = Quick service (Counter or kiosk, fast turnover); fast_casual = Fast casual (Order at the counter, food brought to the table); full_service = Full service / casual dining (Servers, moderate check); fine_dining = Fine dining (Chef-driven, higher check); bar_lounge = Bar, taproom or lounge (Drinks are about half of sales or more)."
    },
    "monthlyRevenue": {
      "type": "string",
      "enum": [
        "under_25k",
        "25k_60k",
        "60k_120k",
        "over_120k"
      ],
      "description": "About how much do you sell in a typical month? Amounts are in US dollars, or in the local currency where that's the euro, pound sterling, Swiss franc, or Canadian, Australian or New Zealand dollar; restaurantdoctor_get_questions shows the exact ranges for a country. under_25k = Under $25,000 (Under $300K a year); 25k_60k = $25,000 – $60,000 ($300K – $720K a year); 60k_120k = $60,000 – $120,000 ($720K – $1.44M a year); over_120k = Over $120,000 (Over $1.44M a year)."
    },
    "primeCostAwareness": {
      "type": "string",
      "enum": [
        "under_58",
        "58_to_64",
        "over_65",
        "not_tracked_weekly"
      ],
      "description": "What's your prime cost: food, drink and labor costs as a share of sales? under_58 = Under 58%; 58_to_64 = 58% – 64%; over_65 = 65% or more; not_tracked_weekly = I don't track it regularly."
    },
    "plateCostingFrequency": {
      "type": "string",
      "enum": [
        "live_monthly_software",
        "6_to_12m_manual",
        "new_menu_only",
        "rarely_gut_feeling"
      ],
      "description": "How often do you update recipe costs with current supplier prices? live_monthly_software = Monthly or live, with software (Synced to supplier invoices); 6_to_12m_manual = Once or twice a year (In a spreadsheet); new_menu_only = Only when the menu changes; rarely_gut_feeling = Rarely (Prices are set by feel or by competitors)."
    },
    "wasteTrackingMethod": {
      "type": "string",
      "enum": [
        "daily_signed_log",
        "weekly_visual_estimate",
        "bulk_loss_only",
        "no_formal_logging"
      ],
      "description": "How do you track kitchen waste and spoilage? daily_signed_log = A daily log the chef signs off; weekly_visual_estimate = A rough estimate during weekly inventory; bulk_loss_only = Only when a big batch or case goes bad; no_formal_logging = We don't track it."
    },
    "beverageMonitoring": {
      "type": "string",
      "enum": [
        "no_alcohol",
        "measured_pour_keg_audits",
        "occasional_spot_checks",
        "free_pour_no_audit"
      ],
      "description": "How do you control drink pours? no_alcohol = We don't serve alcohol; measured_pour_keg_audits = Measured pours, plus weekly pour-cost checks; occasional_spot_checks = Spot checks when bottles run out early; free_pour_no_audit = Free pours, no pour-cost checks."
    },
    "laborFlexing": {
      "type": "string",
      "enum": [
        "realtime_cuts_splh",
        "fixed_shifts_regardless",
        "overtime_above_8_percent",
        "chronic_understaffing_owner_covers"
      ],
      "description": "When a shift gets slow, what happens to staffing? realtime_cuts_splh = We cut staff based on sales per labor hour; fixed_shifts_regardless = Everyone works their scheduled shift anyway; overtime_above_8_percent = Overtime is common (More than 8% of hours); chronic_understaffing_owner_covers = We're short-staffed (The owner or GM works the line)."
    },
    "occupancyCostRatio": {
      "type": "string",
      "enum": [
        "under_8_percent",
        "8_to_12_percent",
        "over_12_percent",
        "unsure_ratio"
      ],
      "description": "What share of sales goes to rent, property costs and utilities? under_8_percent = Under 8%; 8_to_12_percent = 8% – 12%; over_12_percent = More than 12%; unsure_ratio = I'm not sure."
    },
    "deliveryDependency": {
      "type": "string",
      "enum": [
        "zero_direct_only",
        "under_15_with_markup",
        "15_to_35_standard_cut",
        "over_35_heavy_drag"
      ],
      "description": "How much of your sales come through DoorDash, Uber Eats or similar apps? zero_direct_only = None (Dine-in and our own ordering only); under_15_with_markup = Under 15% (With higher app prices to cover fees); 15_to_35_standard_cut = 15% – 35% (At regular menu prices); over_35_heavy_drag = More than 35%."
    },
    "seatingDynamics": {
      "type": "string",
      "enum": [
        "consistent_weekround",
        "packed_weekends_dead_midweek",
        "strong_lunch_weak_dinner",
        "erratic_unpredictable"
      ],
      "description": "How full is your dining room across the week? consistent_weekround = Steady all week; packed_weekends_dead_midweek = Packed on weekends, quiet midweek; strong_lunch_weak_dinner = Busy lunches, slow dinners; erratic_unpredictable = Hard to predict week to week."
    },
    "contactCapture": {
      "type": "string",
      "enum": [
        "automated_pos_loyalty_50plus",
        "occasional_checkout_emails",
        "no_database_social_only",
        "paid_ads_no_list"
      ],
      "description": "How do you bring guests back? automated_pos_loyalty_50plus = Loyalty or email list with automatic campaigns (50+ new contacts a week); occasional_checkout_emails = We collect some emails but rarely use them; no_database_social_only = Social media and walk-ins only; paid_ads_no_list = Paid ads, but no guest list of our own."
    },
    "reputationHealth": {
      "type": "string",
      "enum": [
        "4_5_to_5_0",
        "4_0_to_4_4",
        "3_5_to_3_9",
        "under_3_5"
      ],
      "description": "What's your average rating on Google and Yelp? 4_5_to_5_0 = 4.5 – 5.0 stars; 4_0_to_4_4 = 4.0 – 4.4 stars; 3_5_to_3_9 = 3.5 – 3.9 stars; under_3_5 = Below 3.5 stars."
    },
    "country": {
      "description": "Where the restaurant is: a two-letter ISO 3166-1 code such as US, CA, AU or DE (GB for the United Kingdom). Sets the currency and local wording. Defaults to US.",
      "default": "US",
      "type": "string",
      "pattern": "^[A-Za-z]{2}$"
    }
  },
  "required": [
    "serviceModel",
    "monthlyRevenue",
    "primeCostAwareness",
    "plateCostingFrequency",
    "wasteTrackingMethod",
    "beverageMonitoring",
    "laborFlexing",
    "occupancyCostRatio",
    "deliveryDependency",
    "seatingDynamics",
    "contactCapture",
    "reputationHealth"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

出力スキーマ

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string"
    },
    "countryName": {
      "type": "string"
    },
    "grade": {
      "type": "string",
      "enum": [
        "A",
        "B",
        "C",
        "D",
        "F"
      ],
      "description": "A (best) to F."
    },
    "risk": {
      "type": "string"
    },
    "needsAttention": {
      "type": "integer",
      "minimum": 0,
      "maximum": 12
    },
    "needsAttentionText": {
      "type": "string"
    },
    "areas": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "area": {
            "type": "string"
          },
          "grade": {
            "type": "string",
            "enum": [
              "A",
              "B",
              "C",
              "D",
              "F"
            ]
          }
        },
        "required": [
          "area",
          "grade"
        ],
        "additionalProperties": false
      }
    },
    "areasNote": {
      "anyOf": [
        {
          "type": "string",
          "description": "Why the overall grade differs from the area letters."
        },
        {
          "type": "null"
        }
      ]
    },
    "yearlyLeak": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "low": {
              "type": "number"
            },
            "high": {
              "type": "number"
            },
            "currency": {
              "type": "string"
            },
            "text": {
              "type": "string"
            }
          },
          "required": [
            "low",
            "high",
            "currency",
            "text"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ],
      "description": "null when no major leak was found."
    },
    "leakText": {
      "type": "string"
    },
    "biggest": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "kind": {
              "type": "string",
              "enum": [
                "leak",
                "opportunity"
              ]
            },
            "title": {
              "type": "string"
            }
          },
          "required": [
            "kind",
            "title"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ],
      "description": "The biggest leak, or the biggest sales opportunity when nothing leaks."
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "What the result assumes."
    },
    "dayOneFix": {
      "anyOf": [
        {
          "type": "string",
          "description": "Day 1 of the plan."
        },
        {
          "type": "null"
        }
      ]
    },
    "link": {
      "type": "string",
      "description": "Opens this result on the website."
    },
    "fullReport": {
      "type": "object",
      "properties": {
        "note": {
          "type": "string"
        },
        "prices": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "standard": {
                  "type": "string"
                },
                "premium": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "With the owner's own numbers and a check-up."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "standard",
                "premium"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ],
          "description": "null when they couldn't be read."
        }
      },
      "required": [
        "note",
        "prices"
      ],
      "additionalProperties": false
    },
    "fullReportAdds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "What the paid full report adds."
    },
    "disclaimer": {
      "type": "string"
    }
  },
  "required": [
    "country",
    "countryName",
    "grade",
    "risk",
    "needsAttention",
    "needsAttentionText",
    "areas",
    "areasNote",
    "yearlyLeak",
    "leakText",
    "biggest",
    "notes",
    "dayOneFix",
    "link",
    "fullReport",
    "fullReportAdds",
    "disclaimer"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 2 件