KFC MCP Server
Enables interaction with KFC's online ordering system, allowing users to search the menu for items, find nearby restaurant locations, manage a shopping cart, and initiate the checkout process via browser automation.
Click on "Install 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., "@KFC MCP ServerFind a KFC near 10001 and add a Famous Bowl to my cart"
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.
@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 KFC menu items by keyword and category |
| Get details (price, calories, allergens) for an item |
| Add items to your order cart |
| View current cart with subtotals |
| Initiate checkout (pickup or delivery) |
| Check status of an existing order |
| Find KFC restaurants near an address |
Related MCP server: grocery-mcp
Installation
npm install -g @striderlabs/mcp-kfc
# Install Playwright browser
npx playwright install chromiumUsage 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-kfcExample 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_locationsthenadd_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
checkoutwithdelivery_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 devArchitecture
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 toolsadd_to_cartB
Add a KFC menu item to the current order cart.
| Name | Required | Description | Default |
|---|---|---|---|
| quantity | Yes | Number of items to add (default: 1) | |
| item_name | Yes | Name of the item to add | |
| customizations | No | Optional special instructions (e.g. 'extra sauce', 'no pickles') |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| address | No | Delivery address (required when delivery_method is 'delivery') | |
| delivery_method | Yes | How to receive the order |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| radius | No | Search radius in miles (default: 10) | |
| address | Yes | Street address, city, or zip code to search near (e.g. '10001', 'Chicago IL', '123 Main St Atlanta GA') |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| item_name | Yes | Exact name of the menu item (e.g. 'Original Recipe Chicken') |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| order_id | Yes | Order ID from your KFC order confirmation (e.g. 'KFC-ABCD1234') |
TDQS
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.
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.
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.
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.
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.
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.
view_cartA
View all items currently in the cart with quantities, prices, and estimated total.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
Each tool targets a distinct function: cart management (add, view), search (menu, locations), item details, checkout, and order status. No overlapping purposes.
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.
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.
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
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
- mcpOAuthcom.zomato
An MCP server that exposes functionalities to use Zomato's services.
Unified MCP server for 70+ eCommerce platforms: products, orders, customers, and more.
Flight search MCP server providing search, pagination, and itinerary details for AI assistants.
MCP server for Boson Protocol — on-chain agentic commerce for physical & digital goods.
Related MCP Servers
- AlicenseBqualityNot gradedmaintenanceA MCP server that provides browser automation tools, allowing users to navigate websites, take screenshots, click elements, fill forms, and execute JavaScript through Playwright.82
- FlicenseNot gradedqualityCmaintenanceMCP server for grocery-related web automation using Playwright, enabling AI assistants to interact with grocery websites.
- AlicenseAqualityDmaintenanceMCP server for Uber Eats that lets AI agents search restaurants, browse menus, place orders, and track deliveries using Playwright browser automation.11643MIT
- AlicenseAqualityDmaintenanceMCP server that enables AI agents to interact with Chick-fil-A via browser automation for menu search, nutrition info, location finder, and mobile ordering.719MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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