返回市场
麦普

麦普

作者:vendure-ecommerce11 星标更新:2025-08-07

项目介绍

<p align="center"> <a href="https://vendure.io"> <img alt="Vendure logo" height="60" width="auto" src="https://a.storyblok.com/f/192301/252x200/c6608214a9/brand-icon-primary.svg"> </a> </p> <h1 align="center"> Vendure MCP 服务器 </h1> <p align="center"> 一个独立的模型上下文协议(MCP)服务器,用于 Vendure CLI 的编排。此包按项目运行,允许外部客户端如 Cursor 以程序化和上下文感知的方式与您的本地 Vendure 项目的 CLI 命令进行交互。 </p> <p align="center"> <a href="https://vendure.io/community"> <img src="https://img.shields.io/badge/join-our%20discord-7289DA.svg" alt="加入我们的 Discord" /> </a> <a href="https://twitter.com/intent/follow?screen_name=vendure_io"> <img src="https://img.shields.io/twitter/follow/vendure_io" alt="关注 @vendure_io" /> </a> </p>

功能

  • 项目集成:直接在您的 Vendure 项目中运行,提供上下文感知工具。
  • CLI 集成:直接访问 Vendure CLI 的 addmigrate 命令。
  • 项目分析:分析项目结构,列出插件、实体和服务。
  • 双传输支持:通过标准 I/O(STDIO)连接本地客户端如 Cursor,或通过 HTTP 连接网络客户端。
  • 环境检查:验证项目中的 Vendure 安装和依赖项。
  • 文档访问:MCP 可以获取官方 Vendure 文档作为上下文使用。
  • 实时性:无需修改即可与任何本地 Vendure 项目一起工作。

动态 CLI 集成

服务器从您项目中安装的 Vendure CLI 命令定义动态生成 MCP 工具。这确保了:

  • 单一事实来源:CLI 更改会自动反映在 MCP 工具中。
  • 面向未来:新的 CLI 命令和选项会自动可用。
  • 无幻觉:由工具生成的代码始终正确,因为它基于项目中的实际 CLI 定义。

安装和设置流程

[!WARNING] 要使用 MCP 的 CLI 命令编排功能,目标项目应运行版本大于 3.4.0 的 @vendure/cli 包。目前,这会在我们的次要分支中。

若要更改包版本,请打开项目的 package.json 文件,并将 "@vendure/cli" 版本更改为 "minor",然后删除 package-lock.json 文件和 node_modules 文件夹并运行 npm install

该服务器设计为直接从您的 Vendure 项目安装和运行,确保它始终可以访问正确的依赖项和项目上下文。

配置您的 MCP 客户端(例如,Cursor)

创建或更新您的 MCP 客户端使用的 mcp.json 文件。此文件通常位于项目根目录下的 .cursor/mcp.json 中。

以下是 STDIO 和 HTTP 连接的配置。

[!IMPORTANT] 您必须重启您的 MCP 客户端,例如 Cursor IDE 或 Claude Code,以应用更改。

选项 1:STDIO 连接(推荐用于本地客户端)

这是最简单且最直接的连接方式。

{
    "mcpServers": {
        "vendure-local-mcp": {
            "command": "npx",
            "args": ["@vendure/mcp-server@latest", "--projectPath", "/path/to/your/vendure-project"]
        }
    }
}

[!IMPORTANT] 您必须将 /path/to/your/vendure-project 替换为您 Vendure 项目根目录的绝对路径。与您的 vendure-config.ts 相同的路径。

选项 2:HTTP 连接

如果您的客户端不支持 STDIO 或需要通过网络连接,您可以将服务器运行在 HTTP 模式下。

首先,在您的Vendure 项目根目录的终端中启动服务器:

npx @vendure/mcp-server@latest --transport http --projectPath .

这将在默认端口(8000)上启动服务器,您可以通过使用 --port <0000> 标志显式定义端口。

然后,配置您的 mcp.json 以连接到正在运行的服务器的 URL:

{
    "mcpServers": {
        "vendure": {
            "url": "http://localhost:8000/mcp"
        }
    }
}

选项 3:Docker

这将启动一个 Docker 容器,服务器将以 stdio 模式运行。有关使用 Docker 运行的更多信息,请参阅Docker 指南

{
    "mcpServers": {
        "vendure-mcp-docker": {
            "command": "docker",
            "args": [
                "run",
                "--rm",
                "-i",
                "--env",
                "PROJECT_PATH=/workspace",
                "--volume",
                "/absolute/path/to-your-vendure-project:/workspace",
                "vendure/mcp:latest",
                "--projectPath",
                "/workspace"
            ]
        }
    }
}

[!IMPORTANT] 您必须将 /path/to/your/vendure-project 替换为您 Vendure 项目根目录的绝对路径。与您的 vendure-config.ts 相同的路径。

开发

如果您正在为 Vendure MCP 服务器本身做出贡献,您可能希望从源代码运行它。

从源代码构建

git clone https://github.com/vendure-ecommerce/mcp.git
cd vendure-mcp-server # 或正确的目录名称
npm install
npm run build

开发模式

要将 MCP 客户端连接到您的本地开发服务器,请使用 npm run dev 脚本并指向测试 Vendure 项目。您可以以 STDIO 或 HTTP 模式运行它。

  • STDIO 模式npm run dev -- --projectPath /path/to/your/test-vendure-project
  • HTTP 模式npm run dev:http -- --projectPath /path/to/your/test-vendure-project

按照设置部分所述配置您的 mcp.json 以连接到您的开发服务器。-- 是必需的,以便正确传递参数给 npm 脚本。

故障排除和问题报告

如果您在使用/运行 MCP 时遇到问题,我们非常感谢您提供有助于我们重现问题的信息。

[!TIP] 您可以为我们提供由您的 MCP 客户端创建的 MCP 日志。 在 Cursor 中,您可以在命令面板(默认 Shift+Cmd/Ctrl/Super+P)中查找 Developer: Open Log File... > MCP Logs 来找到它们。

链接