关于 market-fiyati-mcp
market-fiyati-mcp 是面向土耳其杂货价格查询的非官方 stdio MCP 服务,可搜索商品并比较门店报价、购物篮和价格历史。实时模式访问真实价格,并提供离线开发模式。
主要功能
- 01搜索杂货商品
- 02比较门店商品报价
- 03比较最多 5 种商品的购物篮
- 04查询价格历史
- 05查找附近门店及替代商品
适用场景
- 01比较附近门店的牛奶价格
- 02按门店比较购物篮总价
- 03查看商品价格历史
- 04查找商品的相似替代项
MCP 相关
通过 stdio JSON-RPC 向 MCP 客户端提供 15 个工具、3 个资源和 3 个提示词。服务可查询商品、门店报价、购物篮及价格历史;近店发现等部分工具需启用实验选项。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y market-fiyati-mcpMARKET_FIYATI_MODELive price requests by default. Select offline for development and tests to block remote requests.MARKET_FIYATI_ENABLE_EXPERIMENTALEnables experimental endpoints, including nearby branch discovery. Set true on first setup when branch IDs are unknown; restart after changing it.MARKET_FIYATI_LATITUDE密钥Default latitude (-90..90). Optional as a group with LONGITUDE and DISTANCE; calls may override the coordinate pair.MARKET_FIYATI_LONGITUDE密钥Default longitude (-180..180). Set together with MARKET_FIYATI_LATITUDE and MARKET_FIYATI_DISTANCE.MARKET_FIYATI_DISTANCEDefault radius in km (>0..50). Set together with latitude and longitude; no implicit radius.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
15收录的工具列表 · 更新于 4 天前
此工具无需参数。
详细介绍
Market Fiyatı MCP
非官方。 本项目与 Market Fiyatı、TÜBİTAK 或任何连锁超市均无关联,也未获其认可。 使用条款由运营方负责:目的与使用许可。
开始使用: 将以下配置添加到您的 MCP 客户端。
用于在土耳其比较商品、门店价格和购物篮的 MCP 服务。
需要 Node.js 22+。 正常使用时,请选择用于查询实时价格的 live 模式;
offline 模式用于开发和测试。以下示例显式选择了模式,以确保在早期版本中也能运行。
1. 添加到客户端
发现门店: 商品搜索需要门店 ID;查找附近门店的工具需要启用实验性功能。
此设置会启用查找附近门店、超市列表、按地址/坐标搜索、批量更新商品和替代商品等工具。
因此,示例中包含 "MARKET_FIYATI_ENABLE_EXPERIMENTAL": "true"。该设置默认仍为 false;
如果您已知道门店 ID,可以删除此行。
{
"mcpServers": {
"market-fiyati": {
"command": "npx",
"args": ["-y", "[email protected]"],
"env": {
"MARKET_FIYATI_MODE": "live",
"MARKET_FIYATI_LATITUDE": "41.025591",
"MARKET_FIYATI_LONGITUDE": "28.974075",
"MARKET_FIYATI_DISTANCE": "4",
"MARKET_FIYATI_ENABLE_EXPERIMENTAL": "true"
}
}
}
}
示例:加拉塔塔 — 41.025591, 28.974075。
distance=4 表示以中心点为圆心、半径 4 km(直径 8 km)。
数字类型: 工具输入中的坐标和半径是无引号的 JSON 数字。
只有 env 值带引号,因为它们是环境变量;服务会将其转换为数字。
market_find_nearby_depots 的相同示例,使用无引号数字:
{ "latitude": 41.025591, "longitude": 28.974075, "distance": 4 }
配置文件在哪里?
将上面的 market-fiyati 条目添加到客户端的文件中,然后重启客户端。
| 客户端 | 文件 | 备注 |
|---|---|---|
| Claude Desktop | macOS:~/Library/Application Support/Claude/claude_desktop_config.jsonWindows: %APPDATA%\Claude\claude_desktop_config.json | mcpServers 键 |
| Claude Code | 项目:.mcp.json · 命令:claude mcp add · 用户级:claude mcp add-json -s user | mcpServers 键 |
| Cursor | 全局:~/.cursor/mcp.json · 项目:.cursor/mcp.json | mcpServers 键 |
| VS Code | 项目:.vscode/mcp.json | 顶层键为 servers;请在条目中添加 "type": "stdio" |
| Codex | ~/.codex/config.toml | TOML:[mcp_servers.market-fiyati] 和 .env 表 |
请将坐标替换为您所在位置的坐标。请将个人位置保存在客户端的私有配置中;不要提交到 Git。
自 1.0.6 起支持 env 位置(半径迁移)。如果无法安装软件包,请从源代码运行。
npx 会下载软件包;如果找不到软件包,请使用其绝对路径。可直接使用的加拉塔配置。
2. 验证连接
重启服务,然后向 AI 输入:
调用
market_status。显示模式以及位置设置是否已就绪。
预期结果: data.mode=live、data.liveRequestsEnabled=true、data.locationDefaults.configured=true。
Status 只会检查设置;要获取实际价格,请在下一步执行搜索。
3. 查询价格
告诉 AI 您想查询的商品和超市。如果位置设置已就绪,就无需再次提供。
如果尚未确定门店,则会使用您在上方开启的实验性访问调用一次 market_find_nearby_depots;
产品搜索中返回的门店 ID 将用于后续查询。步骤见:使用实时价格查询。
示例请求
附近门店中,1 升半脱脂牛奶的最低价格是多少?
按价格排序 3 千克酸奶;将完全匹配的商品和替代商品分开显示。
比较各门店 500 克白奶酪的价格,并提供地图链接。
按门店比较包含 1 千克土豆、2 升牛奶和 10 枚鸡蛋的购物篮。
总结 1 千克细砂糖的价格历史。
请明确写出商品名称和包装规格。请注明“仅限完全匹配”等严格条件; 否则,AI 可能会在单独的标题下说明并推荐相似商品。
位置如何运作?
| 状况 | 规则 |
|---|---|
| 我使用 Env | 请同时设置这三个值;AI 不会在每次查询时重复询问。 |
| 我不使用 Env | 请移除这三个值;每次带位置的调用都要提供纬度、经度和半径。 |
| 我在查询其他位置 | 请同时提供纬度和经度。如果没有 Distance,则使用 Env 中的半径。 |
| 缺少或无效的值 | 如果 Env 无效,服务将无法启动;如果调用无效,该调用将被拒绝。没有默认半径。 |
| 我更改了设置 | Env 需要重启后生效。调用中的更改仅适用于该次调用。 |
产品调用还需要提供门店(depots);MCP 不会保存这些信息。
同一进程共享 Env 位置;不同用户应使用独立进程或在调用时明确提供位置值。
所有位置规则和限制。
您可以执行的操作
| 目的 | 工具 |
|---|---|
| 搜索商品 | market_search_products |
| 比较门店价格 | market_compare_product_offers |
| 比较购物篮 | market_compare_basket |
| 查看价格历史 | market_get_price_history |
| 了解调用流程 | market://guide |
15 个工具 · 3 个资源 · 3 个提示词。 不支持购买、下单和条码查询。
正确理解结果
- 价格单位为 TRY。
percentage不是折扣比例;请参阅 API 的discount标记。 - 缺少 offer 表示未知;不能据此断定“无库存”或“已扫描所有价格”。
- 购物篮不完整时,
total=null;subtotal仅包含已找到的商品。 - 要比较实体门店,请使用
groupBy=depot;连锁品牌不等于单个门店。 - 购物篮最多可添加 5 件商品;预算为 5 次 HTTP 尝试(包含重试)。启用重试时,商品数量上限会降低
(见
market_status中的limits.basketItems)。请勿通过拆分列表或更换工具绕过限制。
故障排除
| 错误或症状 | 原因和解决方法 |
|---|---|
NETWORK_DISABLED | 客户端设置中包含 MARKET_FIYATI_MODE=offline,或安装的是 1.0.7 或更早版本。将值设为 live 并重启服务。只有在 1.0.8 及更高版本中,删除此变量才有效。在无网络的开发环境中应保持为 offline。 |
EXPERIMENTAL_DISABLED | 附近分店、地址搜索等实验性工具已关闭。在设置中添加 "MARKET_FIYATI_ENABLE_EXPERIMENTAL": "true" 并重启,或自行提供分店 ID。 |
OUTPUT_TOO_LARGE | 响应超出本地大小限制;不会返回部分数据。请勿重复相同查询:减少页面大小(size)、分店数量或购物车商品数量。 |
sh: market-fiyati-mcp: command not found / Claude Code Connection closed | 客户端是在一个 package.json 中固定的版本与 market-fiyati-mcp 相同的文件夹(此仓库的检出目录)中启动的;npx 会解析本地项目,而非已发布的软件包。在 args 列表中 -y 之前添加 "--prefix", "<文件夹>"。<文件夹> 是一个不包含 market-fiyati-mcp package.json 的文件夹的绝对路径(例如,您的主目录)。 |
| Claude Code 将大型结果移至文件 | 响应大小会随商品和分店数量增长。在 2026-10-07 的实时会话中,25 件商品 × 25 家分店的搜索超出客户端输出限制,而 15 件商品 × 25 家分店的搜索则未超出。请使用较少的分店或较小的 size,或者在客户端环境中提高 MAX_MCP_OUTPUT_TOKENS 的值。 |
| 列表中未显示服务(Windows) | 如果 Claude Desktop 是通过 MSIX 软件包(Microsoft Store、WinGet 或官方安装程序)安装的,据报告,应用会从 %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\claude_desktop_config.json 路径读取文件。Settings > Developer > "Edit Config" 可能会打开 %APPDATA% 下的文件。如果 %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc 文件夹存在,请将 mcpServers 条目添加到此文件,然后完全退出并重新打开应用;如果文件夹不存在,则此说明不适用于您。官方文档中未提及此路径。 |
| 其他错误代码:API。 |
从源代码开发
克隆仓库并运行:
npm ci --ignore-scripts
MARKET_FIYATI_MODE=offline npm run check
check 也会执行构建。在客户端中,将 command: "node" 设置为命令,并在 args 中使用
dist/src/index.js 文件的绝对路径。开发时,请在客户端环境设置中明确设置
MARKET_FIYATI_MODE=offline;测试的网络禁用也会得到保留。如有需要,也可将 node 路径写为绝对路径。
服务使用 stdio JSON-RPC;不会开放 HTTP 端口。开发时,MARKET_FIYATI_MODE=offline npm start
会等待 MCP 消息。未设置模式时,启动会选择 live;仅启动不会发送 HTTP 请求。
stdout 仅包含 MCP 流量。npm 安装可能会使用网络;应用测试不会连接 API。
需要更多详情时
| 需求 | 文档 |
|---|---|
| 查询真实价格 | 使用真实价格进行查询 |
| 工具、筛选器和响应规则 | API |
| 设置和代码结构 | 架构 |
| 测试及其限制 | 验证 · 离线验收 |
| 发布版本 | 发布指南 · CHANGELOG |
目的和使用许可
本项目是一项独立工作,开发时不以商业收益或其他利益为目的。 它不是 Market Fiyatı、TÜBİTAK 或任何连锁超市的官方产品,也不声称获得任何认可、赞助或合作。
评估Market Fiyatı 使用条款并取得适合使用目的的许可,
是运营者的责任。本仓库不授予访问第三方服务的权限;live 设置仅决定技术访问方式。
如需报告安全漏洞,请使用私密报告指南。
许可证
MIT — 版权所有 (c) 2026 Gökhan Çavuş。
许可证仅涵盖软件及随附文档,不授予访问第三方数据、商标、徽标或服务的权利。上述目的声明不会更改 MIT 许可证, 也不会为代码添加商业用途限制。第三方组件受其各自许可证约束。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。