MCP Hub
Back to servers

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.

Stars
5
Forks
1
Updated
Feb 2, 2026
Validated
Feb 3, 2026

Food402 MCP Server

npm version

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.

Deployment Options

Food402 supports two deployment methods:

MethodBest ForTransportAuth
Local MCP ServerClaude Desktop, Claude Code, Cursor, Codex CLIstdioEnvironment variables
Remote MCP ServerClaude.ai (web), ChatGPT (Developer Mode)HTTPOAuth 2.0

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"
      }
    }
  }
}

ChatGPT (Developer Mode)

ChatGPT apps in Developer Mode can connect to local MCP servers over stdio. Use the same local server configuration and provide your credentials as environment variables.

  1. Open ChatGPT Settings > Developer (or your app’s Developer Mode settings)
  2. Add a Custom MCP Server
  3. Set the command to run the local server:
{
  "command": "npx",
  "args": ["-y", "food402"],
  "env": {
    "TGO_EMAIL": "your-email@example.com",
    "TGO_PASSWORD": "your-password"
  }
}

Tip: If your ChatGPT client supports project-level MCP config files, you can reuse the same JSON from Claude Code (.mcp.json) with the command above.

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"

Remote MCP Server (Claude.ai Web)

For Claude.ai web access, use the remote MCP server deployed on Cloudflare Workers.

Connect to Claude.ai

  1. Go to Claude.ai Settings > Connectors
  2. Click "Add Custom Connector"
  3. Enter the server URL: https://food402-remote.food402.workers.dev
  4. Complete the OAuth flow by logging in with your TGO Yemek credentials

No local setup required—your credentials are securely stored via OAuth.

Self-hosting? See remote/README.md for deployment instructions.


Prerequisites

Account Setup Required

Before using this MCP server, you must have a TGO Yemek account with:

  1. TGO Yemek account - Create one at tgoyemek.com if you don't have one
  2. Payment card saved to your account - The checkout process requires a saved card; you cannot enter card details during ordering
  3. 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

ToolDescriptionParameters
get_addressesGet user's saved delivery addressesNone
select_addressSelect delivery address (must call before ordering)addressId
get_restaurantsSearch restaurants near a locationlatitude, longitude, page?
search_restaurantsSearch restaurants and products by keywordsearchQuery, latitude, longitude, page?
get_restaurant_menuGet restaurant's full menurestaurantId, latitude, longitude
get_product_detailsGet product customization optionsrestaurantId, productId, latitude, longitude
get_product_recommendationsGet "goes well with" suggestionsrestaurantId, productIds[]
add_to_basketAdd items to cartstoreId, items[], latitude, longitude, etc.
get_basketGet current cart contentsNone
remove_from_basketRemove item from cartitemId
clear_basketClear entire cartNone
get_citiesGet list of all cities for address selectionNone
get_districtsGet districts for a citycityId
get_neighborhoodsGet neighborhoods for a districtdistrictId
add_addressAdd a new delivery addressname, surname, phone, addressName, addressLine, cityId, districtId, neighborhoodId, latitude, longitude, etc.
get_saved_cardsGet user's saved payment cards (masked)None
checkout_readyGet basket ready for checkout with payment contextNone
set_order_noteSet order note and delivery preferencesnote?, noServiceWare?, contactlessDelivery?, dontRingBell?
place_orderPlace order with 3D Secure (opens browser for verification)cardId
get_ordersGet user's order history with statuspage?
get_order_detailGet detailed order info including delivery statusorderId

Development

Repository Structure

food402/
├── src/                    # Local 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 code between local and remote
│   ├── api.ts              # Token-parameterized TGO API functions
│   └── types.ts            # TypeScript interfaces
├── remote/                 # Remote MCP server (HTTP transport)
│   ├── src/
│   │   ├── worker.ts       # Cloudflare Worker entry (Hono)
│   │   ├── server.ts       # MCP server with tool definitions
│   │   ├── auth/           # OAuth 2.0 provider + TGO login
│   │   ├── payment/        # 3DS verification page handler
│   │   └── session/        # Encrypted session management
│   ├── wrangler.toml       # CF Workers config
│   └── package.json        # Remote-specific dependencies
├── 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

Remote Server Development

cd remote

# Install dependencies
npm install

# Run local dev server (http://localhost:8787)
npm run dev

# Deploy to Cloudflare Workers
npm run deploy

See remote/README.md for full deployment instructions including KV namespace setup and secrets configuration.

License

MIT

Reviews

No reviews yet

Sign in to write a review