Food402 MCP服务器
](https://www.npmjs.com/package/food402) 
MCP(模型上下文协议)服务器,使AI助手能够从TGO Yemek订购食物。只需与您的AI助手聊天,即可浏览餐厅、建立订单并完成结账。通过MCP与Claude、ChatGPT(开发人员模式)和Codex CLI配合使用。
______________________________________________________________________
Clawdbot/OpenClaw(代理技能)
Food402也可作为 ClawHub上的Agent技能 与Clawdbot(OpenClaw)、Claude Code、Cursor、Codex、Gemini CLI和其他与AgentSkills兼容的工具一起使用。
通过ClawHub安装:
clawhub install rersozlu/food402或手动: 复制 skill/ 文件夹到 ~/.openclaw/skills/food402/ 并在中配置您的凭据 ~/.openclaw/openclaw.json.
______________________________________________________________________
本地MCP服务器(npm包)
克劳德桌面版
添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"mcpServers": {
"food402": {
"command": "npx",
"args": ["-y", "food402"],
"env": {
"TGO_EMAIL": "your-email@example.com",
"TGO_PASSWORD": "your-password",
"GOOGLE_PLACES_API_KEY": "your-google-api-key"
}
}
}
}用您自己的凭据替换。 GOOGLE_PLACES_API_KEY 是可选的(请参见 可选功能).
克劳德代码
对于使用Claude Code的项目特定安装:
npm install food402这会自动添加 food402 给你的 .mcp.json。打开文件并更新您的凭据:
{
"mcpServers": {
"food402": {
"command": "node",
"args": ["./node_modules/food402/dist/src/index.js"],
"env": {
"TGO_EMAIL": "your-email@example.com",
"TGO_PASSWORD": "your-password",
"GOOGLE_PLACES_API_KEY": "your-google-api-key"
}
}
}
}GOOGLE_PLACES_API_KEY 是可选的(请参见 可选功能).
Codex CLI(终端)
Codex从您的全局配置读取MCP服务器 ~/.codex/config.toml.
选项A:通过CLI
codex mcp add food402 --env TGO_EMAIL=your-email@example.com --env TGO_PASSWORD=your-password --env GOOGLE_PLACES_API_KEY=your-google-api-key -- npx -y food402选项B:手动配置
添加到 ~/.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"
GOOGLE_PLACES_API_KEY = "your-google-api-key" # Optional______________________________________________________________________
先决条件
需要帐户设置
在使用此MCP服务器之前,您必须拥有TGO Yemek帐户:
- TGO餐饮账户 -如果你没有,可以在tgoyemek.com上创建一个
- 付款卡已保存到您的帐户 -结账过程需要保存一张卡;订购时不能输入卡详细信息
- 至少保存了一个收货地址 (推荐)-您可以通过MCP添加地址,但预先配置一个地址可以加快订购速度
快速入门:订购流程
以下是通过人工智能助手订购食物时的典型工作流程:
1.选择送货地址
"Show me my saved addresses"
"Select my home address for delivery"2.查找餐厅
"What restaurants are near me?"
"Search for pizza restaurants"
"Find places that serve lahmacun"3.浏览菜单并添加项目
"Show me the menu for [restaurant name]"
"Add 2 lahmacun to my cart"
"What customization options are available for this item?"4.审查和检查
"Show me my basket"
"Remove the drink from my order"
"I'm ready to checkout"5.下单
"Place my order using my saved card"*注意:将打开一个浏览器窗口进行3D安全验证。完成验证以最终确定您的订单。*
6.跟踪顺序
"What's the status of my order?"
"Show me my recent orders"可用工具
| 工具 | 说明 | 参数 |
|---|---|---|
get_addresses | 获取用户保存的送货地址 | 无 |
select_address | 选择送货地址(订购前必须致电) | addressId |
get_restaurants | 搜索某个地点附近的餐馆 | latitude, longitude, page? |
search_restaurants | 按关键字搜索餐厅和产品 | searchQuery, latitude, longitude, page? |
get_restaurant_menu | 获取餐厅的完整菜单 | restaurantId, latitude, longitude |
get_product_details | 获取产品定制选项 | restaurantId, productId, latitude, longitude |
get_product_recommendations | 获得“配合良好”的建议 | restaurantId, productIds[] |
add_to_basket | 将商品添加到购物车 | storeId, items[], latitude, longitude等等。 |
get_basket | 获取当前购物车内容 | 无 |
remove_from_basket | 从购物车中删除商品 | itemId |
clear_basket | 清空整个购物车 | 无 |
get_cities | 获取所有城市的地址选择列表 | 无 |
get_districts | 为城市划分区域 | cityId |
get_neighborhoods | 为一个地区寻找社区 | districtId |
add_address | 添加新的收货地址 | name, surname, phone, addressName, addressLine, cityId, districtId, neighborhoodId, latitude, longitude等等。 |
get_saved_cards | 获取用户保存的支付卡(已屏蔽) | 无 |
checkout_ready | 使用付款上下文准备购物篮结账 | 无 |
set_order_note | 设置订单说明和交货偏好 | note?, noServiceWare?, contactlessDelivery?, dontRingBell? |
place_order | 使用3D Secure下订单(打开浏览器进行验证) | cardId |
get_orders | 获取用户的订单历史记录及其状态 | page? |
get_order_detail | 获取包括交货状态在内的详细订单信息 | orderId |
可选功能
谷歌评论集成
这 get_google_reviews 该工具允许您获取餐厅的谷歌评论,从而可以比较TGO评级和谷歌评级。此功能 可选的 并且需要Google Places API密钥。
要启用谷歌评论:
- 从获取Google Places API密钥 谷歌云控制台
- 启用这两个API 对于您的项目(两者都是必需的):
- 地点API(新增) -用于文本搜索以查找餐厅 - 地点API -用于获取地点详细信息和评论
- 将密钥添加到MCP服务器配置中:
{
"mcpServers": {
"food402": {
"command": "npx",
"args": ["-y", "food402"],
"env": {
"TGO_EMAIL": "your-email@example.com",
"TGO_PASSWORD": "your-password",
"GOOGLE_PLACES_API_KEY": "your-google-api-key"
}
}
}
}如果没有API密钥: 该工具将返回一条有用的消息,指示该功能不可用,但不会导致任何错误。其余的点餐功能在没有它的情况下正常工作。
______________________________________________________________________
发展
存储库结构
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
├── test/ # Test suite
│ ├── integration/ # API integration tests
│ ├── security/ # Security validation tests
│ └── setup/ # Test utilities and fixtures
├── package.json # Root package (npm: food402)
├── README.md
└── CLAUDE.md本地服务器开发
# Install dependencies
npm install
# Run in development mode
npm start
# Build TypeScript
npm run build测试
该项目包括使用Vitest的集成测试和安全测试。
# Run all tests
npm test
# Run security tests only
npm run test:security
# Run tests with coverage
npm run test:coverage测试设置:
- 复制
test/.env.test.example到test/.env.test - 将您的TGO凭据添加到
test/.env.test - 跑
npm test
测试包括:
- 地址管理(城市、地区、社区)
- 餐厅发现和菜单浏览
- 篮子/购物车操作
- 支付卡检索和结账准备就绪
- 订单历史
- 凭证处理的安全检查
许可证
麻省理工学院

