Vendure MCP Server

Vendure MCP Server

A standalone server that enables programmatic interaction with Vendure CLI commands, allowing external MCP clients to automate and integrate with Vendure e-commerce projects through command execution and project analysis.

Category
Visit Server

Tools

vendure_add

Add features to your Vendure project. IMPORTANT USAGE PATTERNS: - For API Extension: Requires apiExtension="plugin-name", plus queryName OR mutationName, plus selectedService - For Entity: Requires entity="EntityName" and selectedPlugin="plugin-name" - For Service: Requires service="ServiceName" and selectedPlugin="plugin-name" - For Job Queue: Requires jobQueue="plugin-name", name="queue-name", and selectedService="service-name" EXAMPLES: - Add API extension: {apiExtension: "my-plugin", queryName: "customProducts", selectedService: "ProductService"} - Add entity: {entity: "CustomProduct", selectedPlugin: "my-plugin"} - Add service: {service: "CustomService", selectedPlugin: "my-plugin"} - Create new plugin: {plugin: "MyNewPlugin"} Use list_plugins tool first to see available plugin names.

vendure_migrate

Generate, run or revert a database migration

list_commands

List all available Vendure CLI commands accessible via MCP

vendure_add_help

Get detailed guidance on how to use the vendure_add tool with correct parameter combinations

list_plugins

List all plugins in the Vendure project by analyzing the project structure

analyze_project_structure

Analyze the overall structure of a Vendure project including entities, services, and configuration

check_vendure_installation

Check if Vendure CLI is properly installed and what version is available in the project

README

Vendure MCP Server

A standalone Model Context Protocol (MCP) server for Vendure CLI orchestration. This independent package allows external clients to interact with Vendure CLI commands in a programmatic way, enabling automation and integration with various MCP clients like Cursor.

Features

  • CLI Integration: Direct access to Vendure CLI add and migrate commands.
  • Project Analysis: Analyze project structure, list plugins, entities, and services.
  • Environment Check: Verify Vendure installation and dependencies.
  • Dual Transport: Support for both STDIO and HTTP transport protocols.
  • Real-time: Works with any Vendure project without modification.

Installation

From npm (Recommended)

Install globally for easy access

npm install -g @vendure/mcp-server

Or install locally in your project

npm install @vendure/mcp-server

From Source

git clone https://github.com/vendure-ecommerce/mcp.git
cd vendure-mcp
npm install
npm run build

Usage and Configuration

This guide provides instructions for both end-users (using the published npm package) and developers (working from the source code).

For End-Users (Published Package)

If you have installed the server from npm, you can use npx to run it without requiring a global installation.

MCP Client Configuration

Add the following to your MCP client's configuration file:

If you have installed the package globally (npm install -g @vendure/mcp-server), you can add it directly in your mcp.json:

{
  "mcpServers": {
    "vendure": {
      "command": "npx",
      "args": ["@vendure/mcp-server"]
    }
  }
}

This command will automatically download and run the latest version of the server.

Starting the HTTP Server

If you have installed the package locally, you would have to run it on a server:

vendure-mcp --transport http --port 8000

Your mcp.json should then look like this:

{
  "mcpServers": {
    "vendure": {
      "command": "http://localhost:8000"
    }
  }
}

For Developers (Local Source)

When developing the server, you should run it directly from the source code to ensure you are using your latest changes.

MCP Client Configuration (Development)

To connect your MCP client to the local development server, configure it to use the npm run dev script. This provides live reloading for a smoother development experience.

{
  "mcpServers": {
    "vendure-dev": {
      "command": "npm",
      "args": ["run", "dev"],
      "cwd": "/path/to/your/vendure-mcp/project"
    }
  }
}

Note: Ensure the cwd (current working directory) points to the root of this project.

Starting the Dev Server Manually

You can also run the development server directly from your terminal:

# Start STDIO dev server with live-reloading
npm run dev

# Start HTTP dev server with live-reloading
npm run dev:http

Available Tools

1. vendure_add

2. vendure_migrate

3. list_plugins

4. analyze_project_structure

5. check_vendure_installation

Dynamic CLI Integration

The server dynamically generates MCP tools from Vendure CLI command definitions. This ensures:

  • Single Source of Truth: CLI changes automatically reflect in MCP tools.
  • Type Safety: Full TypeScript integration with proper parameter validation.
  • Future-proof: New CLI commands and options become available automatically.
  • No Hallucinations: The code generated by the tools, specifically the cli tools will always be correct.

Development

Building from Source

git clone https://github.com/vendure-ecommerce/mcp.git
cd vendure-mcp
npm install
npm run build

Development Mode

STDIO mode

npm run dev

HTTP mode

npm run dev:http

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Error Handling

Comprehensive error handling includes:

  • Project path validation
  • Vendure CLI availability checks
  • Parameter validation with detailed messages
  • CLI execution error forwarding
  • File system operation safety

Security

  • Path validation: Prevents directory traversal attacks
  • Input sanitization: All parameters validated against schemas
  • Isolated execution: Commands run in specified project directories only
  • No elevated privileges: Runs with standard user permissions

Contributing

Follow our contributing guide in our main repository.

Links

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured