Skip to main content
Glama

@striderlabs/mcp-wingstop

An MCP (Model Context Protocol) server for Wingstop — find nearby locations, browse the wing menu with all 13 flavors, build your order, apply coupons, check out, and view Wing Club rewards using Playwright browser automation.

Features

  • Find Locations — Locate nearby Wingstop restaurants with address, hours, distance, and delivery availability

  • Browse Menu — Full menu by category: wings, tenders, combos, sides, drinks, and dips — with flavors and prices

  • Order Management — Create orders, add items with flavor selections, remove items

  • Coupons — Apply promo codes for discounts

  • Checkout — Review and submit orders for pickup or delivery

  • Wing Club Rewards — Check points balance, tier status, and available reward offers

Related MCP server: DoorDash MCP Server

Installation

npm install @striderlabs/mcp-wingstop
npx playwright install chromium

Usage

As an MCP server (Claude Desktop / Cursor / etc.)

Add to your MCP client config (e.g. ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "wingstop": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-wingstop"]
    }
  }
}

Run directly

npx @striderlabs/mcp-wingstop

Tools

find_locations

Find nearby Wingstop locations.

Input:

Parameter

Type

Required

Description

location

string

Yes

Address, city, or ZIP code

Example:

{ "location": "Dallas, TX" }

get_menu

Browse the Wingstop menu with prices and flavors.

Input:

Parameter

Type

Required

Description

category

string

No

Filter by category: wings, tenders, combos, sides, drinks, dips

Example:

{ "category": "wings" }

create_order

Start a new order at a selected Wingstop location.

Input:

Parameter

Type

Required

Description

locationId

string

Yes

Location ID from find_locations

locationName

string

Yes

Location name/address

orderType

string

No

"pickup" or "delivery" (default: "pickup")

Example:

{
  "locationId": "ws_loc_001",
  "locationName": "Wingstop - 123 Main St",
  "orderType": "pickup"
}

add_item

Add a menu item to the current order.

Input:

Parameter

Type

Required

Description

menuItemId

string

Yes

Item ID from get_menu

name

string

Yes

Display name

price

number

Yes

Price per item (USD)

quantity

number

No

Quantity (default: 1)

flavor

string

No

Wing flavor (e.g. "Lemon Pepper", "Mango Habanero")

size

string

No

Size (e.g. "6-piece", "10-piece")

customizations

object

No

Extra key-value customizations

Example:

{
  "menuItemId": "classic-wings-10",
  "name": "10-Piece Classic Wings",
  "price": 14.99,
  "quantity": 1,
  "flavor": "Lemon Pepper",
  "size": "10-piece"
}

remove_item

Remove an item from the current order.

Input:

Parameter

Type

Required

Description

itemId

string

Yes

Order item ID (shown in add_item response)


apply_coupon

Apply a promo code to the current order.

Input:

Parameter

Type

Required

Description

code

string

Yes

Coupon or promo code

Example:

{ "code": "WINGFAN10" }

checkout

Submit the order for pickup or delivery.

Input:

Parameter

Type

Required

Description

customerName

string

Yes

Customer name

phone

string

No

Phone number

pickupTime

string

No

Pickup time (default: "ASAP")

deliveryAddress

string

No

Delivery address (required for delivery)

notes

string

No

Special instructions

Example:

{
  "customerName": "Alex Smith",
  "phone": "555-123-4567",
  "pickupTime": "6:30 PM"
}

Note: Full order placement requires authentication with Wingstop. The server generates an order ID and summary — complete payment at wingstop.com or in the Wingstop app.


get_rewards

Check Wing Club rewards balance and offers.

Input:

Parameter

Type

Required

Description

includeOffers

boolean

No

Include reward offers (default: true)


Supported Flavors

Wingstop's 13 signature flavors:

Flavor

Heat Level

Lemon Pepper

None

Garlic Parmesan

None

Hickory Smoked BBQ

None

Hawaiian

Mild

Mild

Mild

Butter Garlic

None

Cajun

Medium

Louisiana Rub

Medium

Cajun Garlic

Medium

Original Hot

Hot

Spicy Korean Q

Hot

Mango Habanero

Extra Hot

Atomic

Extra Hot

Session Persistence

The server saves browser cookies to ~/.wingstop-mcp-cookies.json for persistent sessions across restarts. If you're logged in to Wingstop in the automated browser, your session will be preserved.

How It Works

The server uses Playwright to automate a headless Chromium browser with stealth settings, navigating wingstop.com to fetch live location data, menu items, and rewards information. A comprehensive static fallback dataset is used when live scraping is unavailable.

Order state is maintained in-memory for the duration of the MCP session.

Development

git clone https://github.com/markswendsen-code/mcp-wingstop
cd mcp-wingstop
npm install
npx playwright install chromium
npm run dev      # watch mode
npm run build    # production build

License

MIT

Available Tools

8 tools
add_itemA

Add a menu item to the current order. Use get_menu to find item IDs, prices, and available flavors. For wings, always specify a flavor.

ParametersJSON Schema
NameRequiredDescriptionDefault
menuItemIdYesMenu item ID from get_menu results
nameYesDisplay name of the item
quantityNoQuantity to add (default: 1)
priceYesPrice per item in USD
flavorNoWing or tender flavor (e.g. 'Lemon Pepper', 'Mango Habanero', 'Garlic Parmesan')
sizeNoSize if applicable (e.g. '6-piece', '10-piece', 'Large')
customizationsNoExtra customizations as key-value pairs

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the dependency on 'get_menu' for finding item details and the requirement to specify flavors for wings, which adds useful context. However, it doesn't address potential side effects like order total updates, error conditions, or what happens if invalid parameters are provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly concise with just two sentences that both earn their place. The first sentence states the core purpose, while the second provides essential usage guidance. There's no wasted language or unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description does well by explaining the dependency on 'get_menu' and the flavor requirement. However, it could be more complete by mentioning what the tool returns or how it affects the order state, especially since there's no output schema to provide this information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly. The description adds minimal value beyond the schema by mentioning 'get_menu' as the source for item IDs and emphasizing the flavor requirement for wings, but doesn't provide additional parameter semantics that aren't already in the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Add a menu item') and resource ('to the current order'), distinguishing it from siblings like 'remove_item' or 'create_order'. It provides a concrete verb+resource combination that leaves no ambiguity about the tool's function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly provides when-to-use guidance by directing users to 'get_menu to find item IDs, prices, and available flavors' and specifies 'For wings, always specify a flavor.' It also implies this tool is for adding items to an existing order rather than creating a new one, distinguishing it from 'create_order'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

apply_couponC

Apply a coupon or promo code to the current order for a discount.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesCoupon or promo code (e.g. 'WINGFAN10', 'SAVE5', 'FREEDIP')

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states the action without behavioral details. It doesn't disclose if this requires authentication, has side effects (e.g., modifies order state), rate limits, or error conditions (e.g., invalid codes). For a mutation tool, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's function without redundancy. It's front-loaded with the core action and purpose, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a mutation tool with no annotations and no output schema, the description is incomplete. It lacks crucial context like success/failure behavior, return values, or interaction with other tools (e.g., order state changes). For a tool that modifies data, more detail is needed to guide the agent effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% description coverage, with the 'code' parameter well-documented in the schema itself. The description adds no additional parameter meaning beyond implying it's for discounts, which is already clear from the tool name and context. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('apply') and target ('coupon or promo code to the current order for a discount'), making the purpose understandable. However, it doesn't explicitly differentiate from siblings like 'get_rewards' or 'checkout', which might also involve discounts or order modifications, so it misses full sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minimal guidance by implying usage on 'the current order', but offers no explicit when-to-use rules, prerequisites (e.g., order must exist), or alternatives (e.g., vs. 'checkout' or 'get_rewards'). This leaves the agent with little context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

checkoutA

Review the current order and submit it for pickup or delivery. Returns a full order summary with confirmation ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
customerNameYesCustomer name for the order
phoneNoCustomer phone number (optional but recommended)
pickupTimeNoRequested pickup time (e.g. 'ASAP', '6:30 PM'). Defaults to ASAP.
deliveryAddressNoDelivery address — required if order type is 'delivery'
notesNoSpecial instructions or notes for the order

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the tool submits orders and returns a summary with confirmation ID, which is useful behavioral context. However, it doesn't mention potential side effects like order charges, authentication needs, or error conditions, leaving gaps for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences that efficiently convey the action and outcome. Every word earns its place: the first sentence states the purpose, and the second describes the return value. No wasted words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description provides basic purpose and return information but lacks details on behavioral traits like error handling, side effects, or prerequisites. For a tool that likely involves financial transactions or order changes, this is minimally adequate but leaves important context uncovered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema (e.g., it doesn't explain parameter interactions or dependencies). Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Review the current order and submit it for pickup or delivery.' It specifies the verb ('review and submit') and resource ('current order'), distinguishing it from siblings like 'add_item' or 'create_order'. However, it doesn't explicitly differentiate from 'create_order' which might also involve order submission.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by mentioning 'pickup or delivery', suggesting this tool is for finalizing orders. However, it doesn't explicitly state when to use this versus alternatives like 'create_order' (which might initiate orders) or provide clear exclusions. The guidance is present but not comprehensive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_orderA

Start a new order at a selected Wingstop location. Must be called before adding items. Use find_locations to get a location ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
locationIdYesID of the Wingstop location (from find_locations results)
locationNameYesName or address of the location
orderTypeNoOrder type: 'pickup' or 'delivery' (default: 'pickup')pickup

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions the prerequisite of calling find_locations first, which is useful context, but lacks details on permissions, error handling, or what the tool returns (e.g., order ID). For a mutation tool with zero annotation coverage, this leaves gaps in behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, followed by essential usage guidelines in two concise sentences. Every sentence earns its place by providing critical information without waste, making it highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity as a mutation tool with no annotations and no output schema, the description is incomplete. It covers purpose and sequencing well but lacks details on return values, error conditions, or behavioral traits like idempotency. For a tool that initiates an order, more context is needed to be fully helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description does not add any meaning beyond what the schema provides, such as explaining interactions between parameters or usage nuances. Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Start a new order') and resource ('at a selected Wingstop location'), distinguishing it from siblings like add_item or checkout by emphasizing it must be called before adding items. This provides precise verb+resource differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states when to use this tool ('Must be called before adding items') and provides an alternative ('Use find_locations to get a location ID'), giving clear context and exclusions for proper sequencing and prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_locationsB

Find nearby Wingstop restaurant locations. Returns address, hours, phone, distance, and delivery availability.

ParametersJSON Schema
NameRequiredDescriptionDefault
locationYesAddress, city, or ZIP code to search near (e.g. '75001', 'Dallas, TX', '123 Main St')

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the return data (address, hours, etc.) but lacks critical details: whether this requires authentication, rate limits, pagination for results, how 'nearby' is defined (e.g., radius), or error handling. The description adds some value but leaves significant gaps for a tool with no annotation support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise and front-loaded: two sentences efficiently convey the core functionality and return data. Every word earns its place with zero waste, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (1 parameter, no output schema, no annotations), the description is adequate but not complete. It covers the basic purpose and return format, but lacks details on behavioral aspects like authentication or result limits. For a simple lookup tool, this is minimally viable but could be improved with more context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the 'location' parameter well-documented in the schema itself. The description adds minimal semantics by implying the parameter is for searching 'near' a location, but this is redundant with the schema's examples. Baseline 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Find nearby Wingstop restaurant locations' specifies the verb ('find') and resource ('Wingstop restaurant locations'). It distinguishes from siblings by focusing on location search rather than ordering or menu functions, though it doesn't explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through 'nearby' and the location parameter, suggesting this tool is for finding restaurants based on proximity. However, it provides no explicit guidance on when to use this versus other tools like 'get_menu' or 'create_order', nor does it mention any prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_menuA

Browse the Wingstop menu. Returns items with name, description, price, calories, available flavors, and sizes. Optionally filter by category.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoCategory filter: 'wings', 'tenders', 'combos', 'sides', 'drinks', 'dips'. Omit for full menu.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses the tool returns menu items with specific attributes and supports optional filtering, which is useful behavioral context. However, it doesn't mention potential limitations like rate limits, authentication needs, or pagination behavior for large menus.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured in two sentences: the first states the purpose and detailed output, the second adds the optional filtering capability. Every sentence earns its place with no wasted words, and key information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (one optional parameter, no annotations, no output schema), the description is reasonably complete. It covers purpose, output details, and filtering. However, without an output schema, it could benefit from more explicit return format clarification, though the listed attributes provide good guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the single optional parameter with its description and allowed values. The description adds marginal value by mentioning 'Optionally filter by category' but doesn't provide additional syntax or format details beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Browse') and resource ('Wingstop menu'), with detailed output content listed. It distinguishes from siblings like 'add_item' or 'create_order' by being a read-only browsing operation rather than transactional.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool ('Browse the Wingstop menu') and includes an optional filtering capability. However, it doesn't explicitly state when NOT to use it or name specific alternatives among siblings, though the purpose naturally differentiates it from transactional tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_rewardsB

Check Wing Club loyalty rewards: points balance, tier status, and available offers.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeOffersNoInclude available Wing Club reward offers (default: true)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes what information is retrieved but doesn't mention whether this is a read-only operation, if it requires authentication, rate limits, error conditions, or response format. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loaded with all necessary information in a single, efficient sentence. Every word earns its place, clearly communicating the tool's purpose without unnecessary elaboration or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (one optional parameter, no output schema, no annotations), the description is minimally adequate. It covers what the tool does but lacks context about authentication, response structure, or error handling. For a simple read operation, this might be sufficient, but there are clear gaps in behavioral transparency.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with the single parameter 'includeOffers' fully documented in the schema. The description mentions 'available offers' which aligns with this parameter but doesn't add meaningful semantic context beyond what the schema already provides. The baseline score of 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Check Wing Club loyalty rewards' with specific details about what information is retrieved (points balance, tier status, and available offers). It uses a specific verb ('Check') and identifies the resource ('Wing Club loyalty rewards'), but doesn't explicitly differentiate from sibling tools like 'get_menu' or 'find_locations' which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., authentication), timing considerations, or relationships with sibling tools like 'apply_coupon' or 'create_order' that might involve rewards. The usage context is implied but not explicitly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_itemC

Remove an item from the current order by its order item ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemIdYesOrder item ID to remove (shown in add_item and checkout responses)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('Remove') but doesn't explain critical traits: whether this is a destructive mutation (implied but not explicit), if it requires specific permissions, what happens on success/failure (e.g., order updates, error messages), or side effects (e.g., price recalculations). For a mutation tool with zero annotation coverage, this is inadequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action ('Remove an item') and includes essential details (target and ID source). There is no wasted text, and every word contributes to understanding the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a mutation tool with no annotations and no output schema, the description is incomplete. It lacks information on behavioral traits (e.g., destructiveness, error handling), usage context (e.g., order state requirements), and output expectations. This leaves significant gaps for an agent to operate safely and effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with the parameter 'itemId' fully documented in the schema. The description adds minimal value beyond the schema by mentioning the source ('shown in add_item and checkout responses'), which provides context but no new syntax or format details. This meets the baseline of 3 when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Remove') and resource ('an item from the current order'), making the purpose unambiguous. It specifies the target ('by its order item ID'), which helps distinguish it from siblings like 'add_item' or 'checkout'. However, it doesn't explicitly differentiate from all siblings (e.g., 'apply_coupon' might also modify orders), so it's not a perfect 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., requires an existing order or item), exclusions (e.g., cannot remove items after checkout), or comparisons to siblings like 'add_item' or 'checkout'. This leaves the agent to infer usage from context alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 8 tool updatesv0.1.0
    • First observedadd_item
    • First observedapply_coupon
    • First observedcheckout
    • First observedcreate_order
    • First observedfind_locations
    • First observedget_menu
    • First observedget_rewards
    • First observedremove_item

TDQS

A3.8/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: find_locations for location search, create_order for order initiation, get_menu for menu browsing, add_item/remove_item for order modification, apply_coupon for discounts, checkout for order submission, and get_rewards for loyalty program. The descriptions clearly differentiate their functions, making misselection unlikely.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case: find_locations, create_order, get_menu, add_item, remove_item, apply_coupon, checkout, get_rewards. The naming is predictable and readable throughout, with no deviations in style or convention.

Tool Count5/5

With 8 tools, this server is well-scoped for its purpose of ordering from Wingstop. Each tool earns its place by covering essential steps: location selection, menu browsing, order creation/modification, discounts, checkout, and rewards. The count is neither too thin nor bloated, fitting typical use cases efficiently.

Completeness5/5

The tool set provides complete coverage for the domain of ordering food from Wingstop. It includes all necessary operations: finding locations, viewing the menu, managing orders (create, add, remove, apply discounts, checkout), and checking loyalty rewards. There are no obvious gaps, ensuring agents can handle the full workflow without dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/markswendsen-code/mcp-wingstop'

If you have feedback or need assistance with the MCP directory API, please join our Discord server