Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@commercetools-demo/mcp) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Commercetools Model Context Protocol
Setup
To run the commercetools MCP server using npx, use the following command:
# To set up all available tools
npx -y @commercetools-demo/mcp --tools=all --clientId=CLIENT_ID --clientSecret=CLIENT_SECRET --projectKey=PROJECT_KEY --authUrl=AUTH_URL --apiUrl=API_URL
# To set up specific tools
npx -y @commercetools-demo/mcp --tools=products.read --clientId=CLIENT_ID --clientSecret=CLIENT_SECRET --projectKey=PROJECT_KEY --authUrl=AUTH_URL --apiUrl=API_URL
Make sure to replace `CLIENT_ID`, `CLIENT_SECRET`, `PROJECT_KEY`, `AUTH_URL`, and `API_URL` with your actual values. Alternatively, you could set the API_KEY in your environment variables.
### Usage with Claude Desktop
Add the following to your `claude_desktop_config.json`. See [here](https://modelcontextprotocol.io/quickstart/user) for more details.
```json
{
"mcpServers": {
"commercetools": {
"command": "npx",
"args": [
"-y",
"@commercetools-demo/mcp@latest",
"--tools=all",
"--clientId=CLIENT_ID",
"--clientSecret=CLIENT_SECRET",
"--authUrl=AUTH_URL",
"--projectKey=PROJECT_KEY",
"--apiUrl=API_URL"
]
}
}
}Available tools
| Tool | Description |
|---|---|
products.read |
Read product information |
products.create |
Create product information |
products.update |
Update product information |
project.read |
Read project information |
product-search.read |
Read product search information |
category.read |
Read category information |
category.create |
Create category information |
category.update |
Update category information |
product-selection.read |
Read product selection information |
product-selection.create |
Create product selection information |
product-selection.update |
Update product selection information |
order.read |
Read order information |
order.create |
Create order (from cart, quote, import) |
order.update |
Update order information |
cart.read |
Read cart information |
cart.create |
Create cart |
cart.update |
Update cart information |
customer.read |
Read customer information |
customer.create |
Create customer |
customer.update |
Update customer information |
customer-group.read |
Read customer group information |
customer-group.create |
Create customer group |
customer-group.update |
Update customer group information |
standalone-price.read |
Read standalone price information |
standalone-price.create |
Create standalone price |
standalone-price.update |
Update standalone price information |
product-discount.read |
Read product discount information |
product-discount.create |
Create product discount |
product-discount.update |
Update product discount information |
cart-discount.read |
Read cart discount information |
cart-discount.create |
Create cart discount |
cart-discount.update |
Update cart discount information |
discount-code.read |
Read discount code information |
discount-code.create |
Create discount code |
discount-code.update |
Update discount code information |
Debugging locally
# navigate to ../typescript
pnpm run build
# navigate to ../modelcontextprotocol
# link the local package
pnpm add link:../typescript
# run the server in terminal
npx ts-node src/index.ts --tools=products.read --clientId=CLIENT_ID --clientSecret=CLIENT_SECRET --authUrl=AUTH_URL --projectKey=PROJECT_KEY --apiUrl=API_URL
# test using mcptools : Install mcptools from https://github.com/f/mcptools
mcp call list_products --params '{"limit": 2}' npx ts-node /<absolute-path>/ct-agent-toolkit/modelcontextprotocol/src/index.ts --tools=all \
--projectKey="PROJECT_KEY" \
--clientSecret="CLIENT_SECRET" \
--clientId="CLIENT_ID" \
--authUrl="AUTH_URL" \
--apiUrl="API_URL"
Do not commit the linked package in package.json to the repo
Testing Using Claude Desktop
# navigate to ../typescript
pnpm run build
# navigate to ../modelcontextprotocol
# link the local package
pnpm add link:../typescriptConfigure MCP servers in Claude Desktop
{
"mcpServers": {
"commercetools": {
"command": "npx",
"args": [
"ts-node",
"/<absolute-path>/ct-agent-toolkit/modelcontextprotocol/src/index.ts",
"--tools=all",
"--projectKey=PROJECT_KEY",
"--clientSecret=CLIENT_SECRET",
"--clientId=CLIENT_ID",
"--authUrl=AUTH_URL",
"--apiUrl=API_URL"
]
}
}
}Debugging the Server
To debug your server, you can use the MCP Inspector.
First build the server
npm run buildRun the following command in your terminal:
# Start MCP Inspector and server with all tools
npx @modelcontextprotocol/inspector node dist/index.js --tools=all --clientId=CLIENT_ID --clientSecret=CLIENT_SECRET --projectKey=PROJECT_KEY --authUrl=AUTH_URL --apiUrl=API_URLInstructions
- Replace
CLIENT_ID,CLIENT_SECRET,PROJECT_KEY,AUTH_URL, andAPI_URLwith your actual values. - Run the command to start the MCP Inspector.
- Open the MCP Inspector UI in your browser and click Connect to start the MCP server.
- You can see the list of tools you selected and test each tool individually.