@elasticpath/elasticpath-mcp
v1.2.0
Published
MCP server for Elastic Path Composable Commerce - provides 95 tools across orders, products, catalogs, pricing, promotions, and more
Downloads
187
Readme
Elastic Path Composable Commerce MCP Server
Connect your AI assistant to Elastic Path Composable Commerce with comprehensive access to your entire e-commerce platform. This server provides 97 tools across 9 core services including order management, product catalog, catalog views, pricing, promotions, currencies, custom data extensions, cart operations, and advanced analytics through the Model Context Protocol.
What You Get
- Complete Commerce Platform: 97 tools across 9 services - orders, products, catalog views, pricing, promotions, currencies, data extensions, carts, and analytics
- Product Management: Full PIM capabilities with hierarchies, attributes, and catalog management
- Catalog Views: Storefront-ready product browsing with published catalogs, categories, and search
- Pricing Control: Pricebooks, modifiers, volume pricing, and currency management
- Marketing Tools: Promotion creation, rule management, and campaign tracking
- Custom Extensions: Create custom APIs, fields, and data structures for your unique needs
- Advanced Analytics: Deep insights into sales performance, trends, and customer behavior
- Real-time Operations: Direct access to live EPCC data and operations across all services
- Secure Access: Your EPCC credentials stay private and are never shared
- Easy Setup: Configure once, access everything
Quick Setup
Installation
Option 1: NPX (Recommended - No Install)
Add to your MCP client configuration (configuration location and format may vary by client):
{
"mcpServers": {
"epcc-commerce": {
"command": "npx",
"args": ["-y", "@elasticpath/elasticpath-mcp"],
"env": {
"EPCC_CLIENT_ID": "your-epcc-client-id",
"EPCC_CLIENT_SECRET": "your-epcc-client-secret",
"EPCC_BASE_URL": "https://useast.api.elasticpath.com"
}
}
}
}To upgrade: The latest version will be automatically fetched on restart of your MCP client. To use a specific version, add @version to the package name (e.g., @elasticpath/[email protected]).
Option 2: Global Install
Install the package globally:
npm install -g @elasticpath/elasticpath-mcpAdd to your MCP client configuration:
{
"mcpServers": {
"epcc-commerce": {
"command": "elasticpath-mcp",
"env": {
"EPCC_CLIENT_ID": "your-epcc-client-id",
"EPCC_CLIENT_SECRET": "your-epcc-client-secret",
"EPCC_BASE_URL": "https://useast.api.elasticpath.com"
}
}
}
}To upgrade: Run npm install -g @elasticpath/elasticpath-mcp@<version> with the desired version and restart your MCP client.
Option 3: From Source
For development or customization:
git clone <repository-url>
cd elasticpath-mcp
npm install
npm run buildAdd to your MCP client configuration:
{
"mcpServers": {
"epcc-commerce": {
"command": "node",
"args": ["/absolute/path/to/elasticpath-mcp/dist/src/local.js"],
"env": {
"EPCC_CLIENT_ID": "your-epcc-client-id",
"EPCC_CLIENT_SECRET": "your-epcc-client-secret",
"EPCC_BASE_URL": "https://useast.api.elasticpath.com"
}
}
}
}Get Your EPCC Credentials
You'll need your EPCC application credentials:
- Client ID: Found in your EPCC application settings
- Client Secret: The secret key for your EPCC application
Test It Out
Restart your MCP client and try asking:
- "Show me order metrics for the last 30 days in USD"
- "Get me the details for order ABC123"
- "Show me all products in the Electronics hierarchy"
- "Create a 15% discount promotion for Black Friday"
- "What's the current USD to EUR exchange rate?"
- "Create a custom API for product reviews"
What You Can Ask
Order Management
Get order details, create new orders, and track order status:
Get details for order 12345
Show me all orders from last week
Create a new order for customer abc123Cart Operations
Manage shopping carts throughout the customer journey:
Create a new cart named "Holiday Shopping"
Add 3 units of product XYZ to cart ABC
Apply promotion code "SAVE20" to cart ABC
Show me all active carts
Checkout cart 789 with customer detailsProduct Management (PIM)
Comprehensive product catalog and hierarchy management:
Get product details for SKU ABC123
Create a new product in the Electronics category
Show me all products in the Clothing hierarchy
Update product attributes and descriptions
Get all PIM job statusesCatalog View (Storefront)
Browse published catalogs with customer-facing pricing and navigation:
Show me all published catalogs
Get products from the main storefront catalog
Search for "smartphone" in the electronics catalog
Show me the Electronics category and its subcategories
Get all products in the Clothing/Shirts category
Show me the breadcrumb path for product ABC123Pricing & Pricebooks
Advanced pricing strategies and volume discounts:
Show me all pricebooks and their product counts
Create a volume pricing tier for bulk orders
Add price modifiers for seasonal discounts
Get current pricing for product SKU-789Promotions & Marketing
Campaign creation and rule management:
Get all active promotions
Create a 10% off promotion for category Electronics
Update promotion rules and conditions
Show promotion performance metricsCurrency Management
Multi-currency support and exchange rates:
List all available currencies
What's the current USD to EUR exchange rate?
Update exchange rates for GBP
Create a new currency configurationCustom APIs
Custom APIs and flexible data structures:
Create a custom API for product reviews
Add rating and comment fields to reviews API
Show all custom APIs in the system
Create a customer loyalty points systemPayment & Transaction Processing
Handle payments, refunds, and transaction tracking:
Show all transactions for order 12345
Refund $50 from transaction TX789
Show payment status for order ABCSales Analytics
Get comprehensive metrics and insights:
Show me order summary for Q1 2024 in USD
Show daily order counts for the last 2 weeks
Show hourly revenue trends for Black Friday in USD
Show weekly discount amounts for December in EURAvailable Tools
🛒 Order & Cart Management (14+ tools)
get_orders- List orders with filtering, pagination, and sortingget_order- Get detailed information about a specific ordercreate_order- Create new orders with customer and shipping detailsget_carts- List all carts with optional includesget_cart- Get detailed cart information including itemscreate_cart- Create new shopping cartsadd_to_cart- Add products to existing cartsapply_promotion_code- Apply Rule Promotion codes to cartsremove_promotion_code- Remove promotions from carts by item IDcheckout_cart- Convert carts to orders with customer detailsget_order_transactions- View all transactions for an orderrefund_payment- Process full or partial refunds
📊 Analytics & Data Warehouse (4 tools)
get_order_metrics_summary- Complete overview of order performanceget_order_count_timeseries- Track order volume over timeget_order_value_timeseries- Monitor sales revenue trendsget_order_discount_timeseries- Analyze discount patterns and impact
Important Notes for Analytics:
- All timestamps are in UTC timezone
- Monetary values are returned in smallest currency subunits (cents for USD/CAD, pence for GBP, etc.)
- The server automatically converts values for display (e.g., 155860 subunits = CAD 1,558.60)
📦 Product Information Management - PIM (15+ tools)
get_pim_products- List products with comprehensive filtering and includesget_pim_product- Get detailed product information with relationshipscreate_pim_product- Create new products with attributes and hierarchiesupdate_pim_product- Update existing product details and relationshipsdelete_pim_product- Remove products from catalogget_pim_jobs- Monitor PIM processing jobs and statusget_pim_job- Get detailed information about specific PIM jobsget_pim_job_errors- Retrieve error details for failed PIM operationsget_hierarchies- List product hierarchies and category structurescreate_hierarchy- Create new category hierarchiesget_nodes- Get hierarchy nodes and their relationshipscreate_node- Add new nodes to existing hierarchiesget_products_in_node- Find all products within a hierarchy node
🛍️ Catalog View (16 tools)
Storefront-ready access to published catalogs with customer-facing pricing and availability:
get_catalog_view_catalogs- List published catalogs available for storefrontget_catalog_view_catalog- Get specific published catalog detailsget_catalog_view_products- Browse products with storefront pricing and stock statusget_catalog_view_product- Get detailed product view with sale prices and availabilityget_catalog_view_product_by_slug- Access products by SEO-friendly URL slugssearch_catalog_view_products- Advanced product search with filtering and sortingget_catalog_view_hierarchies- List category structures in published catalogsget_catalog_view_hierarchy- Get specific category hierarchy detailsget_catalog_view_nodes- Browse category nodes with breadcrumb navigationget_catalog_view_node- Get detailed category informationget_catalog_view_node_by_slug- Access categories by SEO-friendly URL slugsget_catalog_view_node_products- List products within specific categoriesget_catalog_view_root_nodes- Get top-level categories for navigationget_catalog_view_child_nodes- Get subcategories for hierarchical browsingget_catalog_view_product_breadcrumbs- Get navigation path for productsget_catalog_view_node_breadcrumbs- Get navigation path for categories
💲 Pricebooks & Pricing (12 tools)
get_pricebooks- List all pricebooks with filtering optionsget_pricebook- Get detailed pricebook informationcreate_pricebook- Create new pricebooks for different marketsupdate_pricebook- Modify pricebook settings and metadatadelete_pricebook- Remove pricebooks from systemreplicate_pricebook- Duplicate existing pricebooks with new namesget_product_prices- List product pricing with currency and tier supportget_product_price- Get specific product pricing detailscreate_product_price- Set product prices with volume tiersupdate_product_price- Modify existing product pricingdelete_product_price- Remove product price entriesget_price_modifiers- List pricing modifiers and adjustmentsget_price_modifier- Get specific modifier detailscreate_price_modifier- Create percentage or fixed amount modifiersupdate_price_modifier- Update existing pricing modifiersdelete_price_modifier- Remove pricing modifiers
🎯 Promotions & Marketing (4 tools)
get_rule_promotions- List active and scheduled promotionsget_rule_promotion- Get detailed promotion rules and conditionscreate_rule_promotion- Create new promotional campaigns with rulesupdate_rule_promotion- Modify existing promotion parameters
💰 Currency Management (6 tools)
get_currencies- List all configured currenciesget_currency- Get specific currency details and ratesget_currency_by_code- Look up currency by ISO codecreate_currency- Add new currency configurationsupdate_currency- Modify currency settings and exchange ratesdelete_currency- Remove currency configurations
🔧 Custom APIs (16 tools)
Custom APIs (5 tools):
get_custom_apis- List all custom API definitionsget_custom_api- Get specific custom API detailscreate_custom_api- Create new extensible API structuresupdate_custom_api- Modify custom API configurationsdelete_custom_api- Remove custom APIs
Custom Fields (5 tools):
get_custom_fields- List fields for a custom APIget_custom_field- Get specific field definitionscreate_custom_field- Add new fields with validation rulesupdate_custom_field- Modify field schemas and constraintsdelete_custom_field- Remove fields from custom APIs
Custom Entries (5 tools):
get_custom_api_entries- List data entries with filteringget_custom_api_entry- Get specific entry detailscreate_custom_api_entry- Create new data entriesupdate_custom_api_entry- Update existing entry datadelete_custom_api_entry- Remove data entries
Slug Access (1 tool):
get_entries_by_slug- Access entries via friendly slug URLs
Configuration Details
Required Settings
| Setting | Description | Example |
|---------|-------------|---------|
| EPCC_CLIENT_ID | Your EPCC application client ID | abc123def456 |
| EPCC_CLIENT_SECRET | Your EPCC application secret | secret_xyz789 |
| EPCC_BASE_URL | Your EPCC API endpoint | https://useast.api.elasticpath.com |
Configuration Methods
MCP Client Configuration (Recommended) Your MCP client handles all environment setup. Add the credentials to your client's configuration file as shown in the Installation section above. Most MCP clients follow a similar JSON configuration format.
Local Development Only
If you're developing or testing the server directly (outside of an MCP client), create a .env file:
cp .env.example .env
# Edit .env with your credentialsHow It Works
- Authentication: The server automatically authenticates with EPCC using your credentials
- Token Management: Access tokens are refreshed automatically as needed
- Query Processing: Your questions are converted to EPCC Data Warehouse API calls
- Data Formatting: Results are formatted for easy reading
Troubleshooting
Tools don't appear in my client
- Check that your MCP client configuration is valid JSON
- Verify the path to
dist/src/local.jsis correct - Make sure you've run
npm run build
"EPCC is not configured" error
- Double-check your
EPCC_CLIENT_ID,EPCC_CLIENT_SECRET, andEPCC_BASE_URL - Ensure your EPCC application has the necessary permissions
"No data returned" responses
- Verify your date ranges use the correct format (RFC3339 with milliseconds)
- Check that you have data for the requested time period
- Ensure your EPCC client has access to the Data Warehouse service
Connection timeouts
- Your EPCC application may need Data Warehouse API access enabled
- Check your EPCC application's rate limits
Development
Build the server:
npm run buildRun with debugging:
npm run debugWatch mode for development:
npm run devRequirements
- Node.js 18 or later
- An EPCC account with Data Warehouse access
- MCP-compatible client (such as Claude Desktop, Continue, or any client supporting the Model Context Protocol)
Made for the EPCC community. Questions? Open an issue or contribute improvements.
Additional Resources
- Elastic Path Composable Commerce Documentation - Official EPCC API documentation
- Model Context Protocol - MCP specification and guides
- EPCC Developer Portal - Implementation guides and tutorials
