About Bigcommerce Api Mcp
Bigcommerce Api Mcp connects AI assistants to the BigCommerce REST API for store catalog, customer, and order data. Reads are available by default; write tools are registered only when explicitly enabled.
Key features
- 01List and filter products
- 02Retrieve product variants and images
- 03Search customers and orders
- 04Inspect order line items
- 05Optional product, customer, and order updates
Use cases
- 01Reviewing a store catalog
- 02Looking up customer and order records
- 03Changing store data when writes are enabled
MCP support
The MCP server exposes BigCommerce read tools for products, customers, categories, brands, and orders. Optional write tools can create or update products and customers, or update orders.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEBigCommerce MCP Server
An MCP server for the BigCommerce REST API. Gives an AI assistant read access to your catalog, customers and orders — and, when you turn it on, the ability to change them.
Tools
Read
| Tool | What it does |
|---|---|
get_all_products | List products with filtering, sorting and pagination |
get_product | One product by ID, optionally with variants and images |
get_all_customers | List customers by ID, email, name, company or date range |
get_all_orders | List orders by customer, status, date range or total |
get_order | One order by ID |
get_order_products | An order's line items — what was actually bought |
list_categories | Resolve category names to the IDs product filters need |
list_brands | Resolve brand names to the IDs product filters need |
Write — requires BIGCOMMERCE_ENABLE_WRITES=true
| Tool | What it does |
|---|---|
create_product | Create a catalog product |
update_product | Update price, stock, visibility, categories… |
create_customer | Create a customer record |
update_customer | Update a customer's details |
update_order | Change status, staff notes or customer message |
Write tools aren't registered at all unless enabled, so a default deployment can't modify your store even if someone reaches its endpoint.
npm run list-tools prints the tools and parameters as currently configured.
Setup
Needs Node 20+.
git clone https://github.com/isaacgounton/bigcommerce-api-mcp.git
cd bigcommerce-api-mcp
npm install
cp .env.example .env
Then fill in .env:
BIGCOMMERCE_STORE_HASH=your_store_hash_here
BIGCOMMERCE_API_KEY=your_api_key_here
Get both from BigCommerce admin → Settings → API accounts → Create
API account. Grant Products, Orders and Customers — read-only unless you
plan to enable writes. .env.example documents every supported variable.
Running
npm start # stdio — Claude Desktop, Cline, local clients
npm run start:http # streamable HTTP — remote clients and agent runtimes
HTTP mode serves POST /mcp, plus unauthenticated GET /health and /info.
The SSE transport was removed in favour of Streamable HTTP, which replaced it in the MCP spec. Point any client still using
/sseat/mcp.
Claude Desktop
In claude_desktop_config.json (use absolute paths — which node):
{
"mcpServers": {
"bigcommerce": {
"command": "/absolute/path/to/node",
"args": ["/absolute/path/to/bigcommerce-api-mcp/mcpServer.js"],
"env": {
"BIGCOMMERCE_STORE_HASH": "your_store_hash",
"BIGCOMMERCE_API_KEY": "your_api_key"
}
}
}
}
Over HTTP
curl -X POST http://127.0.0.1:3000/mcp \
-H "Authorization: Bearer $MCP_AUTH_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Security
Anyone who can call /mcp acts with your store's API credentials.
HOST— binds to127.0.0.1by default. Set0.0.0.0only when you mean to expose it, and put it behind a proxy or firewall when you do.MCP_AUTH_TOKEN— when set, every/mcprequest must carryAuthorization: Bearer <token>. Comparison is timing-safe. Set it whenever the server is reachable beyond localhost.ALLOWED_ORIGINS— requests carrying anOriginheader are refused unless listed here, which blocks DNS-rebinding attacks where a page you visit drives your local server. Non-browser clients send noOriginand are unaffected.BIGCOMMERCE_ENABLE_WRITES— leave off if the assistant only reads.- Scopes — give the API account the narrowest scopes that work. A read-only token can't be widened by a bug in this server.
Docker
docker build -t bigcommerce-mcp .
docker run --rm -p 3000:3000 --env-file .env bigcommerce-mcp
The image sets HOST=0.0.0.0 so the published port is reachable. Set
MCP_AUTH_TOKEN before exposing the container.
Development
npm test # protocol, auth, origin, discovery and spec conformance — no credentials needed
npm run test:live # smoke-test read tools against a real store (needs .env)
npm run sync-spec # refresh the query-parameter fixture from BigCommerce's OpenAPI specs
npm test checks every query parameter a tool declares against BigCommerce's
published specs. This matters because BigCommerce ignores unknown query
parameters rather than rejecting them — an invented filter silently returns
unfiltered data, which is worse than an error.
To add a tool, drop a file under tools/bigcommerce/<group>/ exporting an
apiTool — it's discovered automatically. lib/bigcommerce.js handles
credentials, query building, errors and parsing, so a tool is usually just a
path and a schema; copy tools/bigcommerce/catalog/list-brands.js. Set
writes: true on anything that mutates the store.
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.