Provides containerized deployment options for the CS-Cart MCP server with both standard and optimized production images, including resource limits and environment variable configuration.
Supports installation and management of the CS-Cart MCP server through npm commands for setup, development, and production deployment.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@CS-Cart MCP Servershow me the latest orders from the past week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
CS-Cart MCP Server
A Model Context Protocol (MCP) server that provides comprehensive tools for managing CS-Cart e-commerce stores, including product management, order handling, and sales analytics.
Features
Product Management
get_products: Retrieve product listings with filtering and pagination
get_product: Get detailed product information
create_product: Add new products to the store
update_product: Modify existing product details
delete_product: Remove products from the store
update_product_stock: Update product inventory levels
Order Management
get_orders: Retrieve order listings with various filters
get_order: Get detailed order information
update_order_status: Change order status and notify customers
Category Management
get_categories: Retrieve product categories and subcategories
User Management
get_users: Get customer and user information
Analytics
get_sales_statistics: Retrieve sales data and statistics
Related MCP server: Magento 2 MCP Server
Installation
Option 1: Quick Setup (Recommended)
Clone this repository:
git clone <repository-url>
cd cscart-mcp-serverRun the setup script:
npm run setupInstall dependencies:
npm installUpdate
.envwith your CS-Cart credentials and start:
npm startOption 2: Manual Local Installation
Clone this repository:
git clone <repository-url>
cd cscart-mcp-serverInstall dependencies:
npm installConfigure environment variables:
cp .env.example .envEdit .env with your CS-Cart API credentials:
CSCART_API_URL=https://your-store.com/api
CSCART_API_EMAIL=admin@yourstore.com
CSCART_API_KEY=your-api-key-hereOption 2: Docker Installation
Clone this repository:
git clone <repository-url>
cd cscart-mcp-serverConfigure environment variables:
cp .env.example .envBuild and run with Docker Compose:
docker-compose up -dOr build and run with Docker:
# Build the image
docker build -t cscart-mcp-server .
# Run the container
docker run -d \
--name cscart-mcp-server \
--env-file .env \
cscart-mcp-serverOption 3: Production Docker Build
For production deployment with optimized image:
# Build production image
docker build -f Dockerfile.production -t cscart-mcp-server:prod .
# Run production container
docker run -d \
--name cscart-mcp-server-prod \
--env-file .env \
--restart unless-stopped \
cscart-mcp-server:prodCS-Cart API Setup
Enable API Access:
Log into your CS-Cart admin panel
Go to Administration → API access
Enable API access for your store
Generate API Key:
Create a new API key or use existing one
Note the API key and admin email for configuration
API Permissions:
Ensure the API user has appropriate permissions for:
Products (read/write)
Orders (read/write)
Categories (read)
Users (read)
Statistics (read)
Usage
Running the Server
Quick Commands
# Setup project
npm run setup
# Development
npm run dev
# Production
npm start
# Docker commands
npm run docker:build # Build standard image
npm run docker:build:prod # Build production image
npm run docker:run # Start with docker-compose
npm run docker:stop # Stop docker-compose
npm run docker:logs # View logsDocker Deployment
Start with Docker Compose:
docker-compose up -dView logs:
docker-compose logs -f cscart-mcp-serverStop the service:
docker-compose downProduction Deployment
For production use the optimized Dockerfile:
docker build -f Dockerfile.production -t cscart-mcp-server:latest .
docker run -d \
--name cscart-mcp-prod \
--env-file .env \
--restart unless-stopped \
--memory=512m \
--cpus=0.5 \
cscart-mcp-server:latestIntegration with MCP Clients
Add this server to your MCP client configuration. For example, with Claude Desktop:
{
"mcpServers": {
"cscart": {
"command": "node",
"args": ["/path/to/cscart-mcp-server/src/index.js"],
"env": {
"CSCART_API_URL": "https://your-store.com/api",
"CSCART_API_EMAIL": "admin@yourstore.com",
"CSCART_API_KEY": "your-api-key-here"
}
}
}
}Note: Use the full path to the node executable. Common paths:
macOS:
/usr/local/bin/nodeor/opt/homebrew/bin/nodeLinux:
/usr/bin/nodeor/usr/local/bin/nodeWindows:
C:\\Program Files\\nodejs\\node.exe
Integration with AnythingLLM
To integrate this MCP server with AnythingLLM:
Navigate to AnythingLLM Settings:
Open your AnythingLLM instance
Go to Settings → Integrations → MCP Servers
Add the CS-Cart MCP Server:
{ "command": "/usr/local/bin/node", "args": ["/full/path/to/cscart-mcp-server/src/index.js"], "env": { "CSCART_API_URL": "https://your-store.com/api", "CSCART_API_EMAIL": "admin@yourstore.com", "CSCART_API_KEY": "your-api-key-here" } }Important Path Notes:
Use the full absolute path to the
nodeexecutableUse the full absolute path to the
src/index.jsfileEnsure the paths are accessible from the AnythingLLM container/environment
Example for macOS:
{ "command": "/usr/local/bin/node", "args": ["/Users/username/GitHub/cscart-mcp/src/index.js"], "env": { "CSCART_API_URL": "https://your-store.com/api", "CSCART_API_EMAIL": "admin@yourstore.com", "CSCART_API_KEY": "your-api-key-here" } }Docker Integration (if AnythingLLM is running in Docker):
Mount the CS-Cart MCP server directory as a volume
Use the container path in the configuration
Ensure proper file permissions
Test the Integration:
Restart AnythingLLM after adding the MCP server
Check the logs for any connection errors
Try using CS-Cart tools in your conversations
Available Tools
Product Tools
get_products
Retrieve a list of products with optional filtering:
{
"page": 1,
"items_per_page": 10,
"status": "A",
"category_id": 123,
"q": "search term"
}create_product
Create a new product:
{
"product": "Product Name",
"price": 29.99,
"category_ids": [123, 456],
"description": "Short description",
"full_description": "Full product description",
"status": "A",
"amount": 100
}Order Tools
get_orders
Retrieve orders with filtering:
{
"page": 1,
"items_per_page": 10,
"status": "P",
"period": "M",
"user_id": 123
}update_order_status
Update order status:
{
"order_id": 12345,
"status": "C",
"notify_user": true
}Status Codes
Product Status:
A- ActiveD- DisabledH- Hidden
Order Status:
O- OpenP- ProcessedC- CompleteF- FailedD- DeclinedB- BackorderedI- Incomplete
User Status:
A- ActiveD- Disabled
User Types:
A- AdminV- VendorC- Customer
Error Handling
The server includes comprehensive error handling:
API connection errors
Invalid parameters
Missing required fields
CS-Cart API errors
All errors are returned with descriptive messages to help with debugging.
Docker Configuration
Environment Variables
When using Docker, you can set environment variables in several ways:
Using .env file (recommended):
CSCART_API_URL=https://your-store.com/api
CSCART_API_EMAIL=admin@yourstore.com
CSCART_API_KEY=your-api-key-here
LOG_LEVEL=infoUsing docker-compose.yml:
environment:
- CSCART_API_URL=https://your-store.com/api
- CSCART_API_EMAIL=admin@yourstore.com
- CSCART_API_KEY=your-api-key-hereUsing Docker run command:
docker run -d \
-e CSCART_API_URL=https://your-store.com/api \
-e CSCART_API_EMAIL=admin@yourstore.com \
-e CSCART_API_KEY=your-api-key-here \
cscart-mcp-serverDocker Images
Dockerfile: Standard development image (~200MB)
Dockerfile.production: Optimized production image (~150MB)
Multi-stage build for smaller size
Non-root user for security
Proper signal handling with dumb-init
Health checks included
Resource Limits
The docker-compose.yml includes resource limits:
CPU: 0.5 cores max, 0.25 cores reserved
Memory: 512MB max, 256MB reserved
Adjust these based on your server capacity and usage requirements.
Project Structure
cscart-mcp-server/
├── src/
│ └── index.js # Main server file (moved here)
├── scripts/
│ └── setup.js # Setup automation script
├── logs/ # Log files directory
├── tests/ # Test files directory
├── config/ # Configuration files
├── package.json # Updated paths
├── project.config.js # Project configuration
├── Dockerfile # Updated for new structure
├── Dockerfile.production # Updated for new structure
├── docker-compose.yml # Docker orchestration
├── .env.example # Environment template
└── README.md # Updated documentationAdding New Tools
To add new tools, extend the ListToolsRequestSchema handler and add corresponding methods to the CSCartMCPServer class.
Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
For issues related to:
CS-Cart API: Check CS-Cart documentation or support
MCP Protocol: Refer to MCP documentation
This Server: Open an issue in this repository
Changelog
v0.1.0
Initial release
Basic product management tools
Order management functionality
Category and user tools
Sales statistics support