购物服务协议服务器

一个连接大型语言模型与法国杂货店Mon Marché的协议服务器,支持产品搜索、购物车管理和会话处理。

  • by Chopin85
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Chopin85/mcp-server-monmarche

使用说明

我的MCP服务器市场

将LLM连接到的模型上下文协议(MCP)服务器 我的市场 法国杂货店。该服务器使AI助手能够搜索产品、管理购物车并与Mon Marché平台进行交互。

特性

  • 产品搜索:按名称查找产品。
  • 购物车管理:
    • 将商品添加到购物车。
    • 查看当前购物车内容。
    • 清空整个购物车。
  • 会话处理:通过Cookie自动登录和会话持久化。支持显式 --session 用于脚本化/无头使用的标志。

先决条件

  • Node.js(v16或更高版本)
  • npm或纱线
  • 一个有效的 我的市场 账户

安装

  1. 克隆存储库:

    git clone https://github.com/Chopin85/mcp-server-monmarche
    cd mcp-server-monmarche
    
  2. 安装依赖项:

    npm install
    
  3. 配置环境: 复制示例环境文件并添加您的凭据:

    cp .env.example .env
    

    编辑 .env 并填写您的详细信息:

    MON_MARCHE_EMAIL=your-email@example.com
    MON_MARCHE_PASSWORD=your-password
    
  4. 构建项目:

    npm run build
    

配置和身份验证

在使用MCP服务器或工具之前,您必须进行身份验证以生成会话。

运行登录脚本:

npm run login

此命令使用来自的凭据登录 .env 并将会话Cookie保存到 session-cookie.json.

[!重要] 你必须重新运行 npm run login 如果您的会话到期或您删除 session-cookie.json.

用法

运行MCP服务器

要启动服务器以与MCP客户端(如Claude Desktop或IDE扩展)一起使用:

node dist/index.js

MCP检验员测试

您可以使用MCP检查器交互式测试工具:

npx @modelcontextprotocol/inspector node dist/index.js

CLI工具

该项目包括帮助脚本,可以直接从命令行运行工具进行测试或自动化。

所有命令都支持可选 --session 标志使用显式会话令牌,而不是 session-cookie.json:

node dist/utils/cli.js <command> [args...] [--session <token>]
  • 搜索:
    npm run searchProducts "pomme"
    
  • 加入购物车:
    npm run addProduct -- --id <PRODUCT_ID> --quantity <QTY>
    
  • 查看购物车:
    npm run getCartList
    
  • 清空购物车:
    npm run clearCart
    

使用 --session (显式标记)

直接传递会话令牌以跳过 session-cookie.json 文件:

# Direct node usage
node dist/utils/cli.js searchProducts "pasta" --session "abc123"
node dist/utils/cli.js getCartList --session "abc123"
node dist/utils/cli.js addProduct --id "123" --quantity 2 --session "abc123"
node dist/utils/cli.js clearCart --session "abc123"
# Via npm scripts (with -- separator)
npm run searchProducts -- "pasta" --session "abc123"
npm run getCartList -- --session "abc123"
npm run addProduct -- --id "123" --quantity 2 --session "abc123"
npm run clearCart -- --session "abc123"

[!注意] 当 --session 提供 session-cookie.json 该调用忽略文件。

可用工具

服务器向MCP客户端公开以下工具:

searchProduct

在Mon Marché上搜索产品。

  • 输入: { "name": "string", "session?": "string" }
  • 退货:带有ID和详细信息的匹配产品列表。

addProduct

将特定产品添加到购物车。

  • 输入: { "id": "string", "quantity": number, "session?": "string" }
  • 退货:确认添加。

getCartList

检索购物车的当前内容。

  • 输入: { "session?": "string" }
  • 退货:购物车中的商品列表。

clearCart

从购物车中删除所有商品。

  • 输入: { "session?": "string" }
  • 退货:确认消息。

[!注意] 所有工具都接受可选 session 参数。如果省略,则从以下位置读取会话 session-cookie.json.

故障排除

  • 登录失败:确保您的电子邮件和密码 .env 是正确的。
  • 会话错误:如果工具返回身份验证错误,请运行 npm run login 刷新您的会话Cookie,或通过以下方式传递有效令牌 --session.
  • 构建错误:确保所有依赖项都已安装 npm install.

许可证

该项目根据ISC许可证获得许可。