Token导航 LogoToken导航TokenDH.com
Matkorgen (J Mrtzsn) logo
浏览器工具stdio官方级别未说明来源级核验

Matkorgen (J Mrtzsn)

MCP Server

@modelcontextprotocol/inspector

一个MCP服务器,允许LLM搜索产品、管理购物车并与瑞典杂货店互动。目前通过Playwright浏览器自动化支持ICA。

工具数

8

提示词数

0

GitHub Stars

1

资源数

0
浏览器自动化TypeScript模型集成JavaScript

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

JMrtzsn

提供方

JMrtzsn

最后核验

2026/5/17 20:19

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @modelcontextprotocol/inspector node dist/server.js

详细介绍

Matkorgen--杂货购物MCP服务器

MCP(模型上下文协议)服务器,允许LLM搜索产品, 管理购物车,并与瑞典杂货店互动。目前 支持 独立成分分析 通过Playwright浏览器自动化。

先决条件

  • Node.js ≥ 18
  • npm

设置

# 1. Clone the repository
git clone https://github.com/JMrtzsn/Matkorgen.git
cd Matkorgen

# 2. Install dependencies (also builds dist/server.js and downloads Chromium)
npm install

# 3. (Optional) Add ICA credentials for cart operations
echo "ICA_USERNAME=your-ica-username" > .env
echo "ICA_PASSWORD=your-ica-password" >> .env
匿名模式: 如果跳过步骤3,服务器仍然可以工作 浏览和搜索产品--购物车操作需要身份验证 通过 login 工具在运行时。

用法

作为MCP服务器(stdio)

npm start
# or
node dist/server.js

服务器使用MCP JSON-RPC协议通过stdin/stdout进行通信。 配置您的MCP客户端,使其作为子进程生成。

MCP客户端配置

A. .mcp.json 包含在支持它的IDE的项目根中( JetBrains、VS代码、游标):

{
    "servers": {
        "ica-shopping": {
            "type": "stdio",
            "command": "node",
            "args": [
                "dist/server.js"
            ],
            "env": {}
        }
    }
}

您还可以通过环境变量设置默认存储:

{
    "servers": {
        "ica-shopping": {
            "type": "stdio",
            "command": "node",
            "args": [
                "dist/server.js"
            ],
            "env": {
                "ICA_STORE_ID": "1003577"
            }
        }
    }
}

与MCP检查员一起进行测试

npx @modelcontextprotocol/inspector node dist/server.js

这将打开一个web UI,您可以在其中交互式地调用工具。

Gemini扩展

这个项目也是 Gemini扩展 --Gemini Pro用户可以安装它 无需设置本地MCP客户端。

从GitHub安装

gemini extensions install https://github.com/JMrtzsn/Matkorgen

# Build the bundle and install Playwright (Gemini CLI does not run npm install automatically)
cd ~/.gemini/extensions/matkorgen && npm install
npm install 运行一个 postinstall 捆绑TypeScript源代码的脚本 使用esbuild并下载登录流的Chromium二进制文件。

从本地克隆安装

cd matkorgen
npm install
gemini extensions link .

验证

启动Gemini CLI并确认扩展已注册:

gemini
> /mcp list
# Should show "ica-shopping" with its tools

配置

首次使用时,Gemini会提示您输入中声明的设置 gemini-extension.json:

设置环境变量描述
ICA_STORE_IDICA_STORE_ID默认存储ID(可选-也可以使用 set_store 运行时)
ICA_USERNAMEICA_USERNAMEICA帐户电子邮件(购物车操作所需)
ICA_PASSWORDICA_PASSWORDICA帐户密码(敏感,购物车操作需要)

用法

安装后,自然地问Gemini:

*“在ICA商店1003577搜索牛奶,并将2添加到我的购物车中”*

双子座会打电话来 set_store, login, search_products,以及 add_to_cart 自动。

工具

工具描述输入
set_store初始化杂货店会话。chain (字符串,例如“ica”), storeId (字符串)
login使用活动商店进行身份验证。username (字符串), password (字符串)
search_products按名称或成分搜索产品。query (字符串)
get_favourites检索星级/最喜欢的产品。
get_purchase_history检索经常购买的产品(常客)。
add_to_cart将产品添加到购物车。productId (字符串), quantity (int)
get_cart检索当前购物车内容。
edit_cart在购物车中设置产品数量。使用0删除。productId (字符串), quantity (int≥0)

示例流程(LLM做什么)

  1. set_store("ica", "1003577") --针对特定的ICA商店
  2. login("user@example.com", "password") --身份验证
  3. search_products("mjölk") --寻找乳制品
  4. add_to_cart("2000697", 2) — 加入 2×牛奶 3% 无乳糖
  5. get_cart() --验证购物车内容
  6. edit_cart("2000697", 1) --减少到1
  7. edit_cart("2000697", 0) --从购物车中删除

测试

# Build & run unit tests
npm test

# Build & run end-to-end tests (requires ICA_USERNAME / ICA_PASSWORD in .env)
npm run test:e2e

项目结构

src/
  server.ts                  — MCP server entry point (stdio transport, tool registration)
  stores/
    types.ts                 — Shared domain types & GroceryStore adapter interface
    ica/
      ica.ts                 — ICA adapter (session, HTTP API, Playwright auth)
      login-flow.ts          — Shared Playwright login helpers (used by ica.ts)
tests/
  e2e/
    e2e.test.ts              — End-to-end MCP server test (Client + StdioClientTransport)
specs/                       — Feature specifications
.mcp.json                    — MCP server registration for IDEs
gemini-extension.json        — Gemini Extension manifest
.auth/                       — Session state (gitignored)

目录标签

目录标签

浏览器自动化TypeScript模型集成JavaScriptMCP服务器本地部署杂货购物LLM集成

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@modelcontextprotocol/inspector

工具数量(toolCount,工具数)

8

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP