Skip to main content
Glama

@striderlabs/mcp-kfc

MCP (Model Context Protocol) connector for KFC fast food ordering. Uses Playwright browser automation to interact with kfc.com.

Tools

Tool

Description

search_menu

Search KFC menu items by keyword and category

get_item_details

Get details (price, calories, allergens) for an item

add_to_cart

Add items to your order cart

view_cart

View current cart with subtotals

checkout

Initiate checkout (pickup or delivery)

get_order_status

Check status of an existing order

find_locations

Find KFC restaurants near an address

Related MCP server: grocery-mcp

Installation

npm install -g @striderlabs/mcp-kfc
# Install Playwright browser
npx playwright install chromium

Usage with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "kfc": {
      "command": "mcp-kfc"
    }
  }
}

Or with npx (no global install needed):

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

Usage with Claude Code

claude mcp add kfc -- npx -y @striderlabs/mcp-kfc

Example Conversation

User: Find a KFC near 10001 and add a Famous Bowl to my cart

Claude: I'll help you find a KFC near 10001 and add a Famous Bowl. [uses find_locations then add_to_cart]

User: What's in my cart and how much will it cost?

Claude: [uses view_cart] You have 1x Famous Bowl ($7.99), estimated total $8.69 with tax.

User: Checkout for pickup

Claude: [uses checkout with delivery_method: "pickup"] Here's your order summary and checkout link...

Development

# Install dependencies
npm install

# Install Playwright browsers
npx playwright install chromium

# Build
npm run build

# Run in dev mode
npm run dev

Architecture

  • Transport: stdio (standard MCP transport)

  • Browser: Playwright Chromium (headless)

  • Cart state: in-memory per session

  • Bundle: esbuild (single dist/index.js, Playwright kept external for native binaries)

Notes

  • Prices shown are estimates based on typical KFC pricing. Exact prices vary by location and are confirmed at checkout on kfc.com.

  • Final order placement requires a KFC account and payment info at kfc.com.

  • Browser automation may be affected by KFC website updates or regional differences.

License

MIT

Available Tools

7 tools
add_to_cartB

Add a KFC menu item to the current order cart.

ParametersJSON Schema
NameRequiredDescriptionDefault
quantityYesNumber of items to add (default: 1)
item_nameYesName of the item to add
customizationsNoOptional special instructions (e.g. 'extra sauce', 'no pickles')

TDQS

B3.4/5.0
Behavior2/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 does not disclose side effects (e.g., whether items are appended or merged, or if the cart must exist), nor does it mention required preconditions or error behavior. The tool mutates state, but this is not emphasized beyond the verb 'Add'.

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

Conciseness4/5

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

The description is extremely concise—a single sentence front-loaded with the key action and context. However, it might be too sparse, missing details that could fit without harming conciseness. Still, it earns its place with no 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 simple tool and rich siblings, the description covers the minimum but omits return behavior (e.g., updated cart or confirmation), error handling, and any note on prerequisite steps (like having an active cart). An output schema is absent, so additional context would improve completeness.

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 coverage is 100%, with each parameter described in the schema. The description adds no extra meaning beyond 'Add a KFC menu item'; it does not elaborate on parameter formats, valid values, or how customizations interact with items. Baseline 3 is appropriate.

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 action ('Add'), the resource ('a KFC menu item'), and the context ('to the current order cart'). It effectively distinguishes this tool from siblings like checkout, find_locations, and search_menu by focusing on adding an item to the cart.

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 when the user wants to add an item to the cart, but it does not provide explicit guidance on when to use versus not use this tool (e.g., potential need to search_menu first or check cart status). No alternative tools are mentioned.

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

checkoutB

Initiate checkout for the current cart. Opens the KFC ordering page with a summary of items.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressNoDelivery address (required when delivery_method is 'delivery')
delivery_methodYesHow to receive the order

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for disclosing behavioral traits. It notes that the tool 'opens the KFC ordering page,' which suggests a UI transition, but fails to mention whether this is irreversible, requires user confirmation, or creates an order. Missing critical behavioral context.

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

Conciseness4/5

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

The description is a single sentence with no wasted words. It is front-loaded with the key action. However, it could be slightly more structured to include separate sentences for purpose versus side effects.

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?

For a simple tool with 2 parameters and no output schema, the description covers the basic purpose but omits important context like whether the action is final, whether it requires user interaction, or what happens after checkout. Adequate but with notable gaps.

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 baseline is 3. The description does not add any meaning beyond what the schema already provides for the parameters (address, delivery_method). No additional usage hints or parameter relationships are given.

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 action ('Initiate checkout') and the resource ('current cart'), and adds 'opens the KFC ordering page with a summary of items' for additional clarity. It is easily distinguishable from sibling tools like view_cart or add_to_cart.

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 when the cart is ready but provides no explicit guidance on when to use versus alternatives, nor does it mention prerequisites (e.g., items must be in the cart). No exclusions or alternatives are mentioned.

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

find_locationsA

Find KFC restaurant locations near a given address or zip code.

ParametersJSON Schema
NameRequiredDescriptionDefault
radiusNoSearch radius in miles (default: 10)
addressYesStreet address, city, or zip code to search near (e.g. '10001', 'Chicago IL', '123 Main St Atlanta GA')

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavioral traits. It only states the basic function without mentioning limitations, data source, or result handling (e.g., what if address is invalid or no locations found). Minimal 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?

Single sentence, no fluff. Efficiently conveys core purpose without 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?

Tool is simple with only 2 parameters and no output schema. Description covers the basic action but misses usage guidelines and behavioral details. Adequate but could be more complete.

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 coverage is 100% and fully describes both parameters. The description adds no additional meaning beyond repeating 'near a given address or zip code'. Baseline score of 3.

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 tool's purpose: find KFC restaurant locations using an address or zip code. The verb 'find' and resource 'KFC restaurant locations' are specific and distinguishable from sibling tools like add_to_cart or checkout.

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?

No explicit guidance on when to use this tool versus alternatives. While siblings are clearly e-commerce focused, the description does not state use cases or exclusions. Implied but not explicit.

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

get_item_detailsA

Get detailed information about a specific KFC menu item including description, price, calories, and allergens.

ParametersJSON Schema
NameRequiredDescriptionDefault
item_nameYesExact name of the menu item (e.g. 'Original Recipe Chicken')

TDQS

A3.6/5.0
Behavior3/5

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

No annotations exist, so the description carries full burden. It discloses the type of information returned but omits read-only hint, error behavior for invalid items, or permission requirements. The added detail about specific fields is beneficial but leaves 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?

Single sentence of 16 words, front-loaded with the verb 'Get detailed information'. No redundancy or filler.

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 simple tool with one parameter, the description covers its purpose and output contents (price, calories, allergens). It lacks output schema details and error handling but is largely sufficient given the low complexity.

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 coverage is 100% and the schema description for item_name is clear (exact name, example). The overall description's listing of returned fields adds value beyond schema but does not significantly enhance parameter understanding.

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?

Description clearly states the tool retrieves detailed information about a specific KFC menu item, listing attributes like description, price, calories, and allergens. This distinguishes it from sibling tools like search_menu which likely provides summarized results for multiple items.

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?

No guidance is provided on when to use this tool versus alternatives such as search_menu. The description does not specify prerequisites, when-not-to-use, or recommend switching to another tool for broader queries.

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

get_order_statusB

Check the status of an existing KFC order by order ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesOrder ID from your KFC order confirmation (e.g. 'KFC-ABCD1234')

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Only states it checks status, but doesn't disclose read-only nature, authorization needs, or error behavior.

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?

Single sentence with no wasted words. Front-loaded with verb and resource.

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?

Adequate for simple one-param tool, but missing return value description and behavioral context. No output schema, so description could elaborate on possible statuses.

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 coverage is 100% with clear parameter description. Description adds no extra meaning beyond schema, but baseline is 3 due to high coverage.

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?

Clear verb 'check' and resource 'order status', specific about using order ID. Distinct from siblings like 'view_cart' which deals with cart, not orders.

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?

No mention of when to use this tool versus alternatives like 'view_cart' or 'checkout'. No context on prerequisites or exclusions.

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

search_menuB

Search KFC menu items by keyword and optional category. Returns matching items with names, descriptions, prices, and categories.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch keyword (e.g. 'chicken sandwich', 'spicy', 'combo')
categoryNoOptional category filter (e.g. 'sandwiches', 'sides', 'drinks', 'meals')

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so description carries full burden. It only mentions return fields but lacks details on pagination, ordering, error handling, or whether the search is case-sensitive. As a search tool, it is likely read-only, but this is not stated.

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?

Two clear sentences, front-loaded with key information. No unnecessary words or repetition.

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?

Adequate for a simple search tool with two parameters and no output schema. However, could be improved by mentioning behavior for empty results, case sensitivity, or sorting.

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 coverage is 100% with descriptions for both parameters. Description adds return field information but does not significantly expand on parameter semantics beyond what the schema already 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 action (Search), target (KFC menu items), and parameters (keyword and optional category). It distinguishes from sibling tools like add_to_cart or get_item_details which have 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?

No guidance on when to use this tool vs alternatives. For instance, it does not mention that get_item_details is more appropriate for specific item details, or that search_menu is for broad discovery.

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

view_cartA

View all items currently in the cart with quantities, prices, and estimated total.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description carries burden. It discloses return fields (quantities, prices, total) but does not state that it is read-only or idempotent. Missing typical behavioral emphasis for a view 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?

Single sentence efficiently conveys purpose and output. No wasted words, front-loaded with action and resource.

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?

No output schema, but description lists expected return fields (quantities, prices, estimated total). Could hint at handling empty carts, but not necessary. Adequate for a simple read tool.

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

Parameters4/5

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

No parameters in schema, and description correctly implies no input needed. Baseline for 0-param tools is 4; description adds no parameter info, but none is required.

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?

Description clearly states 'view all items currently in the cart', specifying verb and resource. Differentiates from siblings like add_to_cart or checkout.

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?

Describes what the tool does but no guidance on when to use it versus siblings. For example, it could mention 'Use before checkout to review items' or 'Use instead of get_item_details for cart overview'.

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

TDQS

A3.8/5.0
Disambiguation5/5

Each tool targets a distinct function: cart management (add, view), search (menu, locations), item details, checkout, and order status. No overlapping purposes.

Naming Consistency5/5

All tools use consistent snake_case with a verb_noun pattern (e.g., add_to_cart, find_locations, get_item_details). 'checkout' is a single verb but fits the pattern as an imperative action.

Tool Count5/5

7 tools cover the essential operations for a KFC ordering system: menu browsing, cart management, checkout, location finding, and order tracking. This is well-scoped without being overwhelming.

Completeness4/5

Core CRUD operations are covered for menu items and cart, but missing update/delete for cart items (e.g., remove_from_cart, update_quantity) is a minor gap. Order management lacks cancellation or update.

Maintenance

ActivityInactive
ResponsivenessSyncing

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-kfc'

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