Food402
An MCP server that enables AI assistants to order food from TGO Yemek by browsing restaurants, managing carts, and completing checkouts. It allows users to handle address selection and order tracking directly through natural language interactions.
README
Food402 MCP Server
An MCP (Model Context Protocol) server that enables AI assistants to order food from TGO Yemek. Simply chat with your AI assistant to browse restaurants, build your order, and complete checkout. Works with Claude, ChatGPT (Developer Mode), and Codex CLI via MCP.
Local MCP Server (npm package)
Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"food402": {
"command": "npx",
"args": ["-y", "food402"],
"env": {
"TGO_EMAIL": "your-email@example.com",
"TGO_PASSWORD": "your-password"
}
}
}
}
Replace your-email@example.com and your-password with your TGO Yemek credentials.
Claude Code
For project-specific installation with Claude Code:
npm install food402
This automatically adds food402 to your .mcp.json. Open the file and update your credentials:
{
"mcpServers": {
"food402": {
"command": "node",
"args": ["./node_modules/food402/dist/src/index.js"],
"env": {
"TGO_EMAIL": "your-email@example.com",
"TGO_PASSWORD": "your-password"
}
}
}
}
Codex CLI (Terminal)
Codex reads MCP servers from your global config at ~/.codex/config.toml.
Option A: Via CLI
codex mcp add food402 --env TGO_EMAIL=your-email@example.com --env TGO_PASSWORD=your-password -- npx -y food402
Option B: Manual config
Add to ~/.codex/config.toml:
[mcp_servers.food402]
command = "npx"
args = ["-y", "food402"]
[mcp_servers.food402.env]
TGO_EMAIL = "your-email@example.com"
TGO_PASSWORD = "your-password"
Prerequisites
Account Setup Required
Before using this MCP server, you must have a TGO Yemek account with:
- TGO Yemek account - Create one at tgoyemek.com if you don't have one
- Payment card saved to your account - The checkout process requires a saved card; you cannot enter card details during ordering
- At least one delivery address saved (recommended) - You can add addresses through the MCP, but having one pre-configured makes ordering faster
Quick Start: Ordering Flow
Here's the typical workflow when ordering food through the AI assistant:
1. Select Delivery Address
"Show me my saved addresses"
"Select my home address for delivery"
2. Find Restaurants
"What restaurants are near me?"
"Search for pizza restaurants"
"Find places that serve lahmacun"
3. Browse Menu & Add Items
"Show me the menu for [restaurant name]"
"Add 2 lahmacun to my cart"
"What customization options are available for this item?"
4. Review & Checkout
"Show me my basket"
"Remove the drink from my order"
"I'm ready to checkout"
5. Place Order
"Place my order using my saved card"
Note: A browser window will open for 3D Secure verification. Complete the verification to finalize your order.
6. Track Order
"What's the status of my order?"
"Show me my recent orders"
Available Tools
| Tool | Description | Parameters |
|---|---|---|
get_addresses |
Get user's saved delivery addresses | None |
select_address |
Select delivery address (must call before ordering) | addressId |
get_restaurants |
Search restaurants near a location | latitude, longitude, page? |
search_restaurants |
Search restaurants and products by keyword | searchQuery, latitude, longitude, page? |
get_restaurant_menu |
Get restaurant's full menu | restaurantId, latitude, longitude |
get_product_details |
Get product customization options | restaurantId, productId, latitude, longitude |
get_product_recommendations |
Get "goes well with" suggestions | restaurantId, productIds[] |
add_to_basket |
Add items to cart | storeId, items[], latitude, longitude, etc. |
get_basket |
Get current cart contents | None |
remove_from_basket |
Remove item from cart | itemId |
clear_basket |
Clear entire cart | None |
get_cities |
Get list of all cities for address selection | None |
get_districts |
Get districts for a city | cityId |
get_neighborhoods |
Get neighborhoods for a district | districtId |
add_address |
Add a new delivery address | name, surname, phone, addressName, addressLine, cityId, districtId, neighborhoodId, latitude, longitude, etc. |
get_saved_cards |
Get user's saved payment cards (masked) | None |
checkout_ready |
Get basket ready for checkout with payment context | None |
set_order_note |
Set order note and delivery preferences | note?, noServiceWare?, contactlessDelivery?, dontRingBell? |
place_order |
Place order with 3D Secure (opens browser for verification) | cardId |
get_orders |
Get user's order history with status | page? |
get_order_detail |
Get detailed order info including delivery status | orderId |
Development
Repository Structure
food402/
├── src/ # MCP server (stdio transport)
│ ├── index.ts # MCP entry point with tool definitions
│ ├── auth.ts # TGO auth with token caching
│ ├── api.ts # Thin wrapper around shared/api.ts
│ └── postinstall.ts # Auto-configures .mcp.json on npm install
├── shared/ # Shared API code
│ ├── api.ts # Token-parameterized TGO API functions
│ └── types.ts # TypeScript interfaces
├── package.json # Root package (npm: food402)
├── README.md
└── CLAUDE.md
Local Server Development
# Install dependencies
npm install
# Run in development mode
npm start
# Build TypeScript
npm run build
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.