E-Commerce MCP Server
Click on "Deploy 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., "@E-Commerce MCP Serverlist all products in the Electronics category"
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.
E-Commerce MCP Server
A complete Model Context Protocol (MCP) server for e-commerce operations, enabling AI assistants to interact with your online store through a well-defined API.
Features
This MCP server provides comprehensive e-commerce functionality:
Product Management
š List all products or filter by category
š Search products by name or description
š¦ Get detailed product information
Shopping Cart
š Create and manage shopping carts
ā Add items to cart with quantity control
ā Remove items from cart
āļø Update item quantities
šļø View cart contents and totals
Order Management
š³ Complete checkout with shipping and payment details
š Create orders from carts
š View order details and history
š List all orders
Related MCP server: Maple Cart MCP
Installation
Install dependencies:
npm installBuild the server:
npm run buildRun the server:
# For HTTP server (default, accessible via URL)
npm start
# Or explicitly set transport
TRANSPORT=http npm start
# For stdio (local use)
TRANSPORT=stdio npm startUsage
Running as HTTP Server (Recommended)
The server runs on HTTP by default, making it accessible via URL at http://localhost:3000/mcp.
npm startThis allows others to connect to your MCP server using the URL:
Claude Desktop can add it via MCP settings
Other tools can connect using the endpoint URL
Testing the Server
Check if server is running:
curl http://localhost:3000/healthConfigure in Claude Desktop
Add to your Claude Desktop configuration (claude_desktop_config.json):
{
"mcpServers": {
"ecommerce": {
"url": "http://localhost:3000/mcp"
}
}
}Or if running remotely:
{
"mcpServers": {
"ecommerce": {
"url": "https://your-server.com/mcp"
}
}
}Available Tools
1. ecommerce_list_products
List all products in the store, optionally filtered by category.
Parameters:
category(optional): Filter by category nameresponse_format: 'markdown' or 'json'
2. ecommerce_search_products
Search for products by name or description.
Parameters:
query: Search termcategory(optional): Filter by categoryresponse_format: 'markdown' or 'json'
3. ecommerce_get_product
Get detailed information about a specific product.
Parameters:
product_id: Unique product identifierresponse_format: 'markdown' or 'json'
4. ecommerce_create_cart
Create a new shopping cart.
Parameters:
response_format: 'markdown' or 'json'
Returns: Cart ID for future operations
5. ecommerce_get_cart
View the contents of a shopping cart.
Parameters:
cart_id: Unique cart identifierresponse_format: 'markdown' or 'json'
6. ecommerce_add_to_cart
Add a product to the shopping cart.
Parameters:
cart_id: Cart identifierproduct_id: Product to addquantity: Number of items (default: 1)response_format: 'markdown' or 'json'
7. ecommerce_remove_from_cart
Remove a product from the cart.
Parameters:
cart_id: Cart identifierproduct_id: Product to removeresponse_format: 'markdown' or 'json'
8. ecommerce_update_cart_item
Update the quantity of an item in the cart.
Parameters:
cart_id: Cart identifierproduct_id: Product to updatequantity: New quantityresponse_format: 'markdown' or 'json'
9. ecommerce_create_order
Complete checkout and create an order.
Parameters:
cart_id: Cart to checkoutshipping_address: Object with delivery detailsfull_name: Customer nameaddress_line1: Street addressaddress_line2: Apartment, suite, etc. (optional)city: City namestate: State/Provincepostal_code: ZIP/Postal codecountry: Country codephone: Contact number
payment_details: Object with payment infomethod: 'credit_card', 'debit_card', 'paypal', or 'bank_transfer'card_last4: Last 4 digits (optional)card_brand: Card brand (optional)transaction_id: Payment transaction ID (optional)
response_format: 'markdown' or 'json'
10. ecommerce_get_order
Get details of a specific order.
Parameters:
order_id: Unique order identifierresponse_format: 'markdown' or 'json'
11. ecommerce_list_orders
List all orders in the system.
Parameters:
response_format: 'markdown' or 'json'
Example Workflow
Here's a typical customer journey:
// 1. Browse products
ecommerce_list_products({ category: "Electronics" })
// 2. View product details
ecommerce_get_product({ product_id: "prod_001" })
// 3. Create a cart
ecommerce_create_cart({})
// Returns: { id: "cart_xxx", ... }
// 4. Add items to cart
ecommerce_add_to_cart({
cart_id: "cart_xxx",
product_id: "prod_001",
quantity: 2
})
// 5. View cart
ecommerce_get_cart({ cart_id: "cart_xxx" })
// 6. Complete checkout
ecommerce_create_order({
cart_id: "cart_xxx",
shipping_address: {
full_name: "John Doe",
address_line1: "123 Main St",
city: "New York",
state: "NY",
postal_code: "10001",
country: "US",
phone: "+1234567890"
},
payment_details: {
method: "credit_card",
card_last4: "4242",
card_brand: "Visa"
}
})
// 7. Check order status
ecommerce_get_order({ order_id: "order_xxx" })Sample Products
The server comes pre-loaded with sample products:
Wireless Headphones (prod_001) - $299.99
Smart Watch (prod_002) - $399.99
Laptop Backpack (prod_003) - $79.99
Bluetooth Speaker (prod_004) - $149.99
Ergonomic Mouse (prod_005) - $59.99
Customization
Adding Real Database Support
Replace the mock database in src/database.ts with your actual database:
// Example with PostgreSQL
import { Pool } from 'pg';
const pool = new Pool({
connectionString: process.env.DATABASE_URL
});
export async function getAllProducts(): Promise<Product[]> {
const result = await pool.query('SELECT * FROM products');
return result.rows;
}Adding Authentication
Add authentication middleware to your HTTP server:
app.use((req, res, next) => {
const apiKey = req.headers['x-api-key'];
if (!apiKey || !isValidApiKey(apiKey)) {
return res.status(401).json({ error: 'Unauthorized' });
}
next();
});Deploying to Production
Environment Variables: Set
PORTfor the HTTP serverHTTPS: Use a reverse proxy (nginx, Caddy) for SSL
Database: Connect to your production database
Monitoring: Add logging and error tracking
Example deployment with environment variables:
PORT=8080 DATABASE_URL=postgres://... npm startArchitecture
ecommerce-mcp-server/
āāā src/
ā āāā index.ts # Main MCP server with tool registrations
ā āāā types.ts # TypeScript interfaces
ā āāā database.ts # Data layer (mock or real DB)
āāā dist/ # Compiled JavaScript
āāā package.json
āāā tsconfig.json
āāā README.mdDevelopment
Build and run in dev mode:
npm run devJust build:
npm run buildMCP Protocol
This server implements the Model Context Protocol (MCP), which allows AI assistants to:
Discover available tools through the protocol
Call tools with validated parameters
Receive structured responses
Handle errors gracefully
All tools include:
ā Input validation with Zod schemas
š Comprehensive descriptions
š·ļø Proper annotations (readOnly, destructive, idempotent)
š Structured responses in both JSON and Markdown formats
License
MIT
Support
For issues or questions about this MCP server:
Check the MCP documentation: https://modelcontextprotocol.io
Review the tool descriptions in the code
Test with the health endpoint:
/health
Contributing
To add new features:
Define types in
src/types.tsImplement data layer in
src/database.tsRegister new tools in
src/index.tsfollowing existing patternsUpdate this README with the new functionality
This server cannot be deployed
Maintenance
Related MCP Connectors
- PressoOAuthnow.presso
Connect e-commerce and marketing data to AI assistants via MCP.
Hosted MCP for e-commerce: live product catalog, stock, and pricing for AI agents.
Multi-tenant MCP gateway for AI commerce. One connection, every store.
Multi-tenant MCP gateway for AI commerce. One connection, every store.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI assistants to interact with a complete e-commerce application, providing authentication, product browsing, and shopping cart management through standardized MCP tools.-
- FlicenseNot gradedqualityDmaintenanceEnables e-commerce shopping assistant capabilities including product search, cart management, payment processing, and order fulfillment via MCP tools.-
- AlicenseNot gradedqualityBmaintenanceAn MCP server for e-commerce storefronts that lets AI agents search and browse products, get quotes, and access back-office data (like sales and orders) with privilege separation, using public and authenticated tools.35 npm1Apache 2.0
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to search products, manage carts, and cancel orders on the mcp-ecom storefront via HTTP, with server-enforced approval tokens for high-risk actions.-