Skip to main content
Glama
aserper

grubhub-mcp

by aserper

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
loginC

Log in to Grubhub with email and password. Returns session info on success.

logoutA

Log out of the current Grubhub session.

get_session_infoA

Get current authentication state and session info.

send_login_otpB

Send a one-time passcode to the given email for login.

verify_login_otpA

Verify a one-time passcode and complete login.

create_accountC

Create a new Grubhub account.

send_password_resetC

Send a password reset OTP to the given email.

search_restaurantsB

Search for restaurants near a location.

Args: latitude: Latitude of the delivery address longitude: Longitude of the delivery address query: Optional search query (cuisine, restaurant name, dish) page_size: Number of results per page (default 20) page_num: Page number for pagination (1-based, default 1) sort_type: Optional sort — leave empty for default relevance location_mode: DELIVERY or PICKUP (default DELIVERY)

autocomplete_searchB

Get autocomplete suggestions for a search query.

Args: query: The partial search text latitude: Latitude for location context longitude: Longitude for location context location_mode: DELIVERY or PICKUP (default DELIVERY)

get_restaurantB

Get restaurant details including menu, hours, ratings, and delivery info.

Args: restaurant_id: The Grubhub restaurant ID latitude: Optional latitude for delivery estimates longitude: Optional longitude for delivery estimates order_type: Order type - standard, catering (default standard)

get_menuA

Get the full menu for a restaurant including categories, items, and prices.

This is the same as get_restaurant — the v4 endpoint returns the full menu.

Args: restaurant_id: The Grubhub restaurant ID latitude: Optional latitude for availability longitude: Optional longitude for availability

get_menu_itemB

Get details for a specific menu item including options, add-ons, and pricing.

Args: restaurant_id: The Grubhub restaurant ID item_id: The menu item ID order_type: Order type - standard, catering (default standard) latitude: Optional latitude for availability longitude: Optional longitude for availability

create_cartB

Create a new cart with the first item.

Args: restaurant_id: The restaurant ID to order from menu_item_id: The menu item ID to add quantity: Number of this item (default 1) special_instructions: Special preparation instructions options: List of selected options/add-ons, each with {id, quantity} latitude: Delivery latitude longitude: Delivery longitude is_delivery: True for delivery, False for pickup

get_cartB

Get the current state of a cart including items, totals, and fees.

Args: cart_id: The cart ID

add_to_cartB

Add an item to an existing cart.

Args: cart_id: The cart ID to add to menu_item_id: The menu item ID to add quantity: Number of this item (default 1) special_instructions: Special preparation instructions options: List of selected options/add-ons, each with {id, quantity}

update_cart_itemB

Update the quantity of an item in the cart.

Args: cart_id: The cart ID line_item_id: The line item ID to update quantity: New quantity (0 to remove)

remove_from_cartC

Remove an item from the cart.

Args: cart_id: The cart ID line_item_id: The line item ID to remove

apply_promo_codeC

Apply a promotion code to the cart.

Args: cart_id: The cart ID promo_code: The promotion code to apply

set_tipC

Set the tip amount on the cart.

Args: cart_id: The cart ID tip_amount: Tip amount in dollars

place_orderB

Place an order from a cart. Requires authentication.

Args: cart_id: The cart ID to submit as an order payment_method_id: ID of the payment method to use (uses default if not specified) tip_amount: Optional tip amount in dollars

get_orderC

Get details for a specific order.

Args: order_id: The order ID

get_order_historyA

Get past order history (paginated). Requires authentication.

Pagination is server-side via the search_listing endpoint, so the full history is reachable -- iterate page_num from 1 up to pagination.total_pages in the response.

Args: page_size: Orders per page (default 20) page_num: 1-based page number (default 1)

track_orderB

Get real-time tracking info for an active order.

Args: order_id: The order ID to track

reorderB

Create a new cart from a previous order for easy reordering.

Args: order_id: The order ID to reorder

post_delivery_tipB

Add or update the tip after delivery.

Args: order_id: The order ID tip_amount: Tip amount in dollars

get_profileA

Get the current user's profile information. Requires authentication.

update_profileC

Update user profile information. Requires authentication.

Args: first_name: New first name last_name: New last name phone: New phone number

get_addressesA

Get saved delivery addresses. Requires authentication.

add_addressB

Add a new delivery address. Requires authentication.

Args: street_address: Street address line city: City name state: State abbreviation (e.g. NY, CA) zip_code: ZIP code apt_suite: Apartment/suite number delivery_instructions: Special delivery instructions label: Label for the address (e.g. Home, Work)

get_favoritesB

Get favorite/saved restaurants. Requires authentication.

add_favoriteB

Add a restaurant to favorites. Requires authentication.

Args: restaurant_id: The restaurant ID to favorite

remove_favoriteB

Remove a restaurant from favorites. Requires authentication.

Args: restaurant_id: The restaurant ID to unfavorite

change_passwordC

Change account password. Requires authentication.

Args: current_password: Current password new_password: New password

get_payment_methodsB

Get saved payment methods. Requires authentication.

get_gift_card_balanceC

Check the balance of a Grubhub gift card.

Args: card_number: Gift card number pin: Gift card PIN

apply_gift_cardC

Apply a gift card to a cart.

Args: cart_id: The cart ID card_number: Gift card number pin: Gift card PIN

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.3/5.0

Scored across 36 tools

Disambiguation4/5

Most tools target distinct resources and actions, but get_restaurant and get_menu are explicitly documented as returning the same data ('This is the same as get_restaurant'), creating a real selection ambiguity. The set_tip vs post_delivery_tip and create_cart vs add_to_cart pairs are reasonably differentiated by context.

Naming Consistency5/5

Nearly all tools follow a consistent snake_case verb_noun pattern (get_restaurant, create_cart, apply_promo_code, send_login_otp). The bare login/logout exceptions are conventional and unambiguous.

Tool Count3/5

36 tools is heavy for this domain. The cart, order, search, and profile groups each earn their place, but the eight auth/account tools (login, logout, get_session_info, two OTP flows, create_account, reset, change_password) are bloated relative to need.

Completeness4/5

Strong lifecycle coverage: auth, search, restaurant/menu browsing, cart management, ordering, tracking, reorder, profile, addresses, payment, and favorites. Minor gaps like no remove/update address, no add payment method, and no order cancellation keep it short of full coverage.

Maintenance

ActivityMaintained
ResponsivenessResponsive