mcpField
M
market-fiyati-mcp

market-fiyati-mcp

本地服务
github.com/gokhancvs商业与营销04 天前更新

关于 market-fiyati-mcp

market-fiyati-mcp 是面向土耳其杂货价格查询的非官方 stdio MCP 服务,可搜索商品并比较门店报价、购物篮和价格历史。实时模式访问真实价格,并提供离线开发模式。

主要功能

  1. 01搜索杂货商品
  2. 02比较门店商品报价
  3. 03比较最多 5 种商品的购物篮
  4. 04查询价格历史
  5. 05查找附近门店及替代商品

适用场景

  1. 01比较附近门店的牛奶价格
  2. 02按门店比较购物篮总价
  3. 03查看商品价格历史
  4. 04查找商品的相似替代项

MCP 相关

通过 stdio JSON-RPC 向 MCP 客户端提供 15 个工具、3 个资源和 3 个提示词。服务可查询商品、门店报价、购物篮及价格历史;近店发现等部分工具需启用实验选项。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"gokhancvs-market-fiyati": {
"command": "npx",
"args": [
"-y",
"market-fiyati-mcp"
],
"env": {
"MARKET_FIYATI_MODE": "<MARKET_FIYATI_MODE>",
"MARKET_FIYATI_ENABLE_EXPERIMENTAL": "<MARKET_FIYATI_ENABLE_EXPERIMENTAL>",
"MARKET_FIYATI_LATITUDE": "<MARKET_FIYATI_LATITUDE>",
"MARKET_FIYATI_LONGITUDE": "<MARKET_FIYATI_LONGITUDE>",
"MARKET_FIYATI_DISTANCE": "<MARKET_FIYATI_DISTANCE>"
}
}
}
}
启动命令npx -y market-fiyati-mcp
需要配置的环境变量
MARKET_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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmarket-fiyati-mcp2.0.2

工具

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 DesktopmacOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
mcpServers 键
Claude Code项目:.mcp.json · 命令:claude mcp add · 用户级:claude mcp add-json -s usermcpServers 键
Cursor全局:~/.cursor/mcp.json · 项目:.cursor/mcp.jsonmcpServers 键
VS Code项目:.vscode/mcp.json顶层键为 servers;请在条目中添加 "type": "stdio"
Codex~/.codex/config.tomlTOML:[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 许可证, 也不会为代码添加商业用途限制。第三方组件受其各自许可证约束。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。