关于 Tapsi Food
Tapsi Food 是连接伊朗 Tapsi Food 外卖服务的非官方只读 MCP 服务,供 Agent 按位置查找餐品、餐厅和杂货店。它还可查看菜单、评价、配送费用、最低订单金额及促销,但不能下单或付款。
主要功能
- 01按地点搜索餐品和商家
- 02浏览餐厅及杂货店
- 03查看实时菜单、价格和库存
- 04查询配送费、最低订单和配送时间
- 05查看评价及限时促销
适用场景
- 01比较附近餐品价格和配送费用
- 02查看商家菜单、营业状态和最低订单
- 03查找附近折扣及 Tap Time 促销
MCP 相关
它通过 MCP 向客户端提供 11 个只读工具,用于查询 Tapsi Food 的位置、餐品、商家、菜单、评价和促销信息;不支持登录、购物车、下单或付款。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx tapsifood-mcpTAPSIFOOD_MCP_PROXYOptional HTTP proxy URL. Tapsi Food does not answer non-Iranian exit IPs (connections hang); system proxy settings are ignored. Also accepts a comma-separated list: one is used until it gets blocked or fails to connect, then the next.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
tapsifood-mcp:面向 AI Agent 的 Tapsi Food MCP 服务
让你的 AI Agent 在 Tapsi Food(تپسیفود)上选购美食。
一个非官方、只读的 Tapsi Food MCP 服务。Tapsi Food 是伊朗的美食和杂货配送服务:
通过 Claude、Cursor 或 Copilot,搜索地址附近的菜品和餐厅、查看实时菜单和评价、查询配送费和最低订单金额,还能发现 Tap Time 限时优惠。
面向 AI Agent · 为何使用 · 功能 · 快速开始 · 工具 · 工作原理 · 须知 · 常见问题 · 配置 · فارسی · 开发 · 相关服务
面向 AI Agent
- 简介: 面向 Tapsi Food(tapsi.food)的非官方 MCP 服务(模型上下文协议),提供伊朗美食和杂货配送服务。不是 Snappfood。使用波斯语查询效果最佳;价格以托曼计。
- 安装:
uvx tapsifood-mcp或claude mcp add tapsifood -- uvx tapsifood-mcp。传输方式:stdio。需要 uv(Python 3.10+)。 - 身份验证: 无需验证,无需 API 密钥或账户。Tapsi Food 会阻断来自伊朗以外 IP 的连接:请在伊朗境内运行且不要使用 VPN,或将
TAPSIFOOD_MCP_PROXY设置为出口位于伊朗的 HTTP 代理。 - 访问权限: 只读。无需登录,不能使用购物篮、下单或付款,因此调用任何工具前都不需要确认。
- 工具: 共 11 个,名称均以
tf_开头。大多数工具需要lat和long(tf_reviews、tf_find_location、tf_list_cities除外)。 典型调用顺序:tf_find_location->tf_search_dishes->tf_vendor_info(->tf_menu、tf_reviews)。 - 适用场景: 用户想要在德黑兰、马什哈德或设拉子按地址查找菜品或餐厅、比较价格和费用、查看菜单或评价,或查找折扣。
- 不适用场景: 用户想要下单、付款或登录,或询问 Tapsi Food 未覆盖的城市。
- 覆盖范围: 德黑兰、马什哈德、设拉子。其他地区的 API 会返回 404 或
OutOfCoverage。 - 输出: 紧凑的 JSON。价格以托曼计,评分范围为 0–5。会省略值为 null 或空的字段(缺少
rating表示尚未评分)。菜单描述截断为 100 个字符,评价内容截断为 250 个字符(设置full_text: true可获取完整文本)。即使limit设为最大值,回复也会控制在约 15 KB 以内。 - 机器可读信息:
server.json和 iran-mcp 目录(TOOLS.md、servers.json、llms.txt)。
为什么需要它
在外卖应用上挑晚餐,意味着要打开餐厅页面、翻看菜单,然后才知道配送费和起送金额。想问“我附近现在营业的餐厅里,哪家汉堡最便宜?实际总价是多少?”需要点很多次。使用 tapsifood-mcp,Agent 会先找到菜品,再查询餐厅配送到你所在地址的配送费、包装费和起送金额,并给出实际价格:菜品价格减去折扣,再加上包装费和配送费。
你: 瓦利亚斯尔广场附近最便宜的披萨是什么?配送费值不值得?
Agent: 调用
tf_find_location->tf_search_dishes(sort="cheapest")->tf_vendor_info它会列出价格最低且正在营业的匹配结果及其折扣,然后查询选定餐厅配送到你所在位置的配送费、起送金额和营业状态。
功能
- 地理编码:将地点名称或地址转换为坐标,将坐标反查为地址,并列出 Tapsi Food 支持的城市
- 搜索菜品:按名称搜索配送范围内的菜品,并按相关性、价格最低、折扣最大、评分或距离排序
- 搜索餐厅和商店:按名称或菜系搜索地点附近的餐厅和商店
- 浏览:按评分、配送费、起送金额和预计送达时间浏览餐厅或杂货店,并按菜系、折扣、配送员或新商家筛选
- 查找优惠:Tap Time(تپ تایم)限时优惠和 Food Shots(فودشات)折扣活动
- 查看实时菜单:列出每道菜的价格、折扣和库存情况
- 下单前查询商家:配送到你所在位置的配送费、起送金额、包装费、预计送达时间、营业或歇业状态、营业时间、地址和评分分布
- 查看评论:包括每道已点菜品的评分
- 专为只读而设计:无需登录、不使用购物车、不下单、不付款
提示词示例:
- “找出德黑兰革命广场附近现在营业的最便宜汉堡。”
- “我附近哪些餐厅有折扣,且配送费低于 30,000 Toman?”
- “显示这家餐厅的菜单,并告诉我起送金额。”
- “现在阿扎迪塔附近有哪些 Tap Time 限时优惠?”
- “查看这家餐厅的最新评论。大家对配送满意吗?”
- ارزانترین پیتزا نزدیک میدان ولیعصر کدام است؟
- رستورانهای تخفیفدار نزدیک من را با هزینه ارسال و حداقل سفارش نشان بده.
- تپ تایم امروز چه غذاهایی دارد؟
快速开始
你需要安装 uv。无需 API 密钥或账户。请在伊朗境内运行,或添加 TAPSIFOOD_MCP_PROXY(参见配置)。
Claude Code
claude mcp add tapsifood -- uvx tapsifood-mcp
# behind a proxy that exits in Iran:
claude mcp add tapsifood -e TAPSIFOOD_MCP_PROXY=http://127.0.0.1:8080 -- uvx tapsifood-mcp
Claude Desktop
设置 → Developer → Edit Config,然后添加:
{
"mcpServers": {
"tapsifood": { "command": "uvx", "args": ["tapsifood-mcp"] }
}
}
Cursor
将上方 Claude Desktop 配置块添加到 ~/.cursor/mcp.json(或项目中的 .cursor/mcp.json)。
VS Code(Copilot Agent 模式)
点击上方的 Install in VS Code,或添加到 .vscode/mcp.json:
{
"servers": {
"tapsifood": { "type": "stdio", "command": "uvx", "args": ["tapsifood-mcp"] }
}
}
Codex CLI
codex mcp add tapsifood -- uvx tapsifood-mcp
或者添加到 ~/.codex/config.toml:
[mcp_servers.tapsifood]
command = "uvx"
args = ["tapsifood-mcp"]
Gemini CLI
添加到 ~/.gemini/settings.json:
{
"mcpServers": {
"tapsifood": { "command": "uvx", "args": ["tapsifood-mcp"] }
}
}
Windsurf
将 Claude Desktop 配置块添加到 ~/.codeium/windsurf/mcp_config.json。
其他客户端
这是标准的 stdio MCP 服务:运行 uvx tapsifood-mcp,或执行 pip install tapsifood-mcp 后运行 tapsifood-mcp。
先确定地点:tf_find_location 或 tf_list_cities 会提供其他工具所需的 lat 和 long。商家代码的格式类似 2y97wk。
地点(3)
| 工具 | 功能 |
|---|---|
tf_find_location | 将地点名称或地址转换为纬度/经度 |
tf_reverse_geocode | 将坐标转换为包含省份和城市的地址描述 |
tf_list_cities | 列出 Tapsi Food 显示的城市,并提供中心点及该地区是否可配送的信息 |
查找美食和餐厅(5)
| 工具 | 功能 |
|---|---|
tf_search_dishes | 按名称搜索某个地点附近的菜品;可按相关性、价格最低、折扣最大、评分或距离排序 |
tf_search_vendors | 按名称或菜系搜索某个地点附近的餐厅和商店 |
tf_restaurants | 列出餐厅或杂货店,并提供评分、配送费、最低订单金额和预计送达时间;可按菜系、折扣、配送员筛选 |
tf_deals | 列出 Tap Time(تپ تایم)限时特惠:库存有限的折扣菜品 |
tf_discounted_vendors | 列出参与 Food Shots(فودشات)折扣活动的商家 |
商家详情(3)
| 工具 | 功能 |
|---|---|
tf_menu | 查看商家的实时菜单,包括价格、折扣和库存 |
tf_vendor_info | 获取商家配送到指定地点的配送费、最低订单金额、包装、预计送达时间、状态、营业时间、地址和评分分布 |
tf_reviews | 查看商家的客户评价及各菜品评分 |
全部 11 个工具均标注为 readOnlyHint: true,并返回精简的 JSON。
工作原理
AI agent (Claude, Cursor, Copilot, ...)
│
│ MCP over stdio
▼
tapsifood-mcp (runs on your machine)
│
│ HTTPS
└──────▶ api.tapsi.food dishes, vendors, menus, reviews, deals
tapsifood-mcp 在本地运行,并调用 tapsi.food 网页应用使用的相同端点。中间没有托管服务,也不需要 API 密钥。请求通过模拟 Chrome 的客户端发出,每次最多 2 个请求,间隔带有少量随机抖动。GET 响应会缓存 60 秒;超时、网络错误、5xx 或 429 最多重试两次,并且只会与 api.tapsi.food 通信。它只读取数据。
注意事项
- 价格以 Toman 计价,与 API 返回的一致。评分范围为 0-5。
- 能否配送取决于地点。 菜单、配送费和配送范围会随你传入的纬度和经度而变化。HTTP 200 不代表商家能配送到该地点:
delivery_fee: null表示超出配送范围。 - 配送范围: 德黑兰、马什哈德和设拉子。其他地区的动态内容会返回 404,搜索不会找到结果,菜单会显示
OutOfCoverage。 - 网络: Tapsi Food 会挂起来自伊朗境外 IP 的连接(每次调用都超时即是迹象)。请在伊朗境内且不使用 VPN 运行,或设置
TAPSIFOOD_MCP_PROXY。系统代理变量会被有意忽略。 - 搜索结果只包含营业中的商家。 菜品和商家搜索只会列出当前营业的餐厅(网站也是如此),因此夜间
total可能为 0。tf_restaurants和tf_discounted_vendors也会列出已关闭的商家,并标记为open: false。 - 搜索索引中的价格可能滞后于菜单: 请使用
tf_menu确认。菜单和商家资料中的最低订单金额有时不同;tf_vendor_info会同时返回两者(min_order、min_order_profile)。 - 菜品排序:
top_rated、cheapest和biggest_discount只会对前 100 条匹配结果排序,而非整个结果集。 - 预计送达时间是上限:
eta_max是网站所说的“最多 N 分钟”;API 不会提供下限。 - 评价:
total会统计所有评价,包括仅有评分的评价;列表中只包含带评论的评价,因此一页可能少于limit条(当has_more为真时继续翻页)。出于隐私考虑,不会返回作者姓名。 - 浏览页面: 第 1 页还包含筛选和横幅组件,因此列出的商家数少于
page_size。 - 不支持的功能: 不支持登录、购物篮、订单或付款。网站的匿名 API 不会公开优惠券。
常见问题
有面向 AI Agent 的 Tapsi Food API 或 MCP 服务吗?
Tapsi Food 没有公开的文档化 API。tapsifood-mcp 是一个非官方的 MCP 服务,提供 11 个只读工具,会调用 tapsi.food Web 应用使用的相同端点,并为 AI Agent 返回精简的 JSON。
如何在 Claude、Cursor 或 Copilot 中使用 Tapsi Food?
运行 claude mcp add tapsifood -- uvx tapsifood-mcp 添加服务,或使用快速开始中的相应配置,然后用波斯语或英语自然地提出请求。
它是官方、安全且免费的吗?
它是非官方项目,与 Tapsi 没有关联。它仅提供只读功能(无需登录,不涉及购物篮或付款),在你的设备上运行,并采用 MIT 许可证免费提供。
它能帮我点餐吗?
不能,这是有意为之。它无需登录,也绝不会调用购物篮、订单或付款端点。Agent 会找到最佳选项;你可以在 Tapsi 应用中下单。
我需要伊朗 IP 地址吗?
实际上需要。对于非伊朗 IP 地址,Tapsi Food 会使连接挂起,因此每次调用都会超时。请在伊朗境内且不使用 VPN 运行,或将 TAPSIFOOD_MCP_PROXY 设置为一个出口位于伊朗的 HTTP 代理。
支持哪些城市?
德黑兰、马什哈德和设拉子。tf_list_cities 会显示 Tapsi Food 列出的城市以及是否提供配送。对于覆盖范围以外的地点,信息源会返回 404,tf_menu 会报告 OutOfCoverage。
为什么夜间搜索没有结果?
菜品和商家搜索只会返回当前营业的餐厅,与网站自己的搜索一样。使用 tf_restaurants 也可以列出已打烊的商家;这些商家会标记为 open: false。
配送费和最低订单金额准确吗?
tf_vendor_info 会提供 Tapsi 针对你指定地点收取的费用、最低订单金额、包装费和预计送达时间。菜单和商家资料中的最低订单金额有时不一致,因此会同时返回。预计送达时间是最长时限。
如何调试 Agent 看到的内容?
npx @modelcontextprotocol/inspector uvx tapsifood-mcp
配置
| 变量 | 默认值 | 说明 |
|---|---|---|
TAPSIFOOD_MCP_PROXY | 未设置 | 可选的 HTTP 代理 URL。Tapsi Food 不响应出口 IP 位于伊朗以外的请求(连接会挂起);系统代理设置会被忽略。也接受以逗号分隔的列表:一个代理被屏蔽或连接失败后,会尝试下一个 |
波斯语
tapsifood-mcp 是一款非官方、只读的 تپسیفود(Tapsi Food)MCP 服务。تپسیفود 是伊朗的在线订餐和超市服务。此服务允许您的 AI 助手(Claude、Cursor、Copilot 等)搜索某个地址附近的美食和餐厅、查看实时菜单和评价,并查询配送费和最低起订金额。
功能
- 查找地址:将地点名称或地址转换为坐标,并显示 تپسیفود 的城市列表。
- 搜索美食:搜索您所在地址附近的美食,并按最低价格、最大折扣、评分或距离排序。
- 搜索餐厅和商店:按名称或菜系搜索,并查看餐厅和超市列表及其评分、配送费、最低起订金额和配送时间。
- 优惠:查看 تپ تایم 优惠和 فودشات 餐厅。
- 实时菜单:查看每家餐厅的菜单、价格、折扣和库存。
- 下单前查看餐厅信息:查询到您所在地址的配送费、最低起订金额、包装费、营业时间以及营业状态。
- 顾客评价:查看已点菜品的评分。
注意事项
- 仅供读取:不会登录账号、创建购物车或提交订单。
- 所有价格均以托曼计,评分满分为 5 分。
- 覆盖德黑兰、马什哈德和设拉子。
- تپسیفود 不会响应来自伊朗境外 IP 的请求:请在伊朗境内不使用 VPN 运行,或将
TAPSIFOOD_MCP_PROXY变量设为一个出口位于伊朗的 HTTP 代理。 - 美食和餐厅搜索只会显示营业中的餐厅,因此夜间可能没有搜索结果。
- 无需 API 密钥,可在您自己的系统上运行。
关键词: تپسیفود、تپسی فود、tapsi food、在线订餐、订餐、披萨、汉堡、附近的餐厅、تپ تایم、فودشات、在线超市、تپسیفود MCP 服务。
安装(先安装 uv)。在 Claude Code 中:
claude mcp add tapsifood -- uvx tapsifood-mcp
在 Claude Desktop、Cursor 和其他应用中,使用 Quick start 部分的相同配置。
示例问题
- “ولیعصر 广场附近最便宜的披萨是哪家?”
- “显示我附近有折扣的餐厅,以及配送费和最低起订金额。”
- “给我这家餐厅的菜单,并告诉我最低起订金额是多少。”
- “تپ تایم 今天有哪些菜?”
- “读一下这家餐厅的近期评价;顾客对配送满意吗?”
开发
git clone https://github.com/sepehr071/tapsifood-mcp && cd tapsifood-mcp
uv sync
uv run ruff check . && uv run ruff format --check .
uv run python -m pytest -q # offline unit tests
uv run python -m pytest -m live -q # real API; needs an Iranian IP
uv build
工具位于 src/tapsifood_mcp/location.py、discover.py 和 vendor.py 中;每个工具都是一个带类型注解的异步函数,并包含说明何时使用该工具的文档字符串。欢迎提交 Issue 和 PR。
发布:更新 pyproject.toml 和 server.json 中的版本,然后推送一个 v* 标签。GitHub Actions 会运行测试、发布到 PyPI 和 MCP Registry,并创建 GitHub Release。
相关服务
- iran-mcp:伊朗所有服务的 MCP 服务目录
- Snapp MCP 服务:用于 Snappfood 和 SnappMarket 的餐饮与杂货配送
- Okala MCP 服务:用于在线购买杂货
- Digikala MCP 服务:用于伊朗最大的在线商店
- Torob MCP 服务:用于比较伊朗各商店的价格
免责声明
本项目为非官方项目,与 Tapsi 无关联,也未获其认可。本项目为只读工具,使用 tapsi.food Web 应用的接口;这些接口可能在未通知的情况下发生变化。请合理控制请求频率。
作者
由 Sepehr Radmard(سپهر رادمرد)构建并维护。欢迎通过 LinkedIn 联系,或在 GitHub 上关注 @sepehr071,获取更多面向伊朗网站的 MCP 服务,所有服务均列于 iran-mcp。如果这为你节省了时间,欢迎给仓库点个星,帮助其他人发现它。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
