This repository contains both a MCP server (which you can integrate with many MCP clients) and agent essentials that can be used from within agent
Mcp essentials mcp server lets Claude, Cursor and other MCP clients work with MCP Essentials directly. This repository contains both a MCP server (which you can integrate with many MCP clients) and agent essentials that can be used from within agent frameworks.
This repository contains both a MCP server (which you can integrate with many MCP clients) and agent essentials that can be used from within agent frameworks.
Once connected, the assistant can call these 14 tools directly:
products.read — Read product informationproducts.create — Create product informationproducts.update — Update product informationproject.read — Read project informationproduct-search.read — Search productscategory.read — Read category informationcategory.create — Create categorycategory.update — Update categorychannel.read — Read channel informationchannel.create — Create channelchannel.update — Update channel informationproduct-selection.read — Read product selectionproduct-selection.create — Create product selectionproduct-selection.update — Update product selectionThe server is distributed via npm as @commercetools/mcp-essentials, so most clients can run it without a manual build step. Add it to your MCP client's configuration and restart the client to pick it up — the copy-paste configs for Claude Desktop, Claude Code and Cursor are on this page.
Before the server will start you need to supply 7 environment variables: DYNAMIC_TOOL_LOADING_THRESHOLD, CLIENT_ID, CLIENT_SECRET, PROJECT_KEY, AUTH_URL, ACCESS_TOKEN, CUSTOMER_ID. Keep credentials in your client's env block or a secrets manager rather than committing them.
Developer-tool servers are usually the first ones people connect, because they turn "help me with this code" into an assistant that can actually read the repo and act on it. MCP Essentials sits in that group, and the shape of its toolset — products.read, products.create, products.update among others — tells you what it is really for. Worth comparing against the other developer tools servers in this directory before you commit to one, since several overlap in scope but differ sharply in setup cost and permissions.
| Tool | What it does |
|---|---|
| products.read | [Read product information](https://docs.commercetools.com/api/projects/products#query-products) |
| products.create | [Create product information](https://docs.commercetools.com/api/projects/products#create-product) |
| products.update | [Update product information](https://docs.commercetools.com/api/projects/products#update-product) |
| project.read | [Read project information](https://docs.commercetools.com/api/projects/project#get-project) |
| product-search.read | [Search products](https://docs.commercetools.com/api/projects/products#search-products) |
| category.read | [Read category information](https://docs.commercetools.com/api/projects/categories#get-category-by-id) |
| category.create | [Create category](https://docs.commercetools.com/api/projects/categories#create-category) |
| category.update | [Update category](https://docs.commercetools.com/api/projects/categories#update-category) |
| channel.read | [Read channel information](https://docs.commercetools.com/api/projects/channels#query-channels) |
| channel.create | [Create channel](https://docs.commercetools.com/api/projects/channels#create-channel) |
| channel.update | [Update channel information](https://docs.commercetools.com/api/projects/channels#update-channel) |
| product-selection.read | [Read product selection](https://docs.commercetools.com/api/projects/product-selections#get-productselection-by-id) |
| product-selection.create | [Create product selection](https://docs.commercetools.com/api/projects/product-selections#create-a-productselection) |
| product-selection.update | [Update product selection](https://docs.commercetools.com/api/projects/product-selections#update-productselection) |
{
"mcpServers": {
"commercetools": {
"command": "npx",
"args": [
"-y",
"@commercetools/mcp-essentials@latest",
"--tools=all",
"--clientId=CLIENT_ID",
"--clientSecret=CLIENT_SECRET",
"--authUrl=AUTH_URL",
"--projectKey=PROJECT_KEY",
"--apiUrl=API_URL",
"--dynamicToolLoadingThreshold=30"
]
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| DYNAMIC_TOOL_LOADING_THRESHOLD | Configuration value read at startup. | Optional |
| CLIENT_ID | Configuration value read at startup. | Optional |
| CLIENT_SECRET | Credential the server authenticates with. | Yes |
| PROJECT_KEY | Credential the server authenticates with. | Yes |
| AUTH_URL | Endpoint or connection string the server talks to. | Yes |
| ACCESS_TOKEN | Credential the server authenticates with. | Yes |
| CUSTOMER_ID | Configuration value read at startup. | Optional |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.