home / mcp / baremcp server

BareMCP Server

MCP server for BareCommerceCore to manage stores, products, orders, customers, and more via AI assistants.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "barecommerce-core-baremcp": {
      "command": "baremcp",
      "args": [],
      "env": {
        "BARECOMMERCE_API_KEY": "YOUR_API_KEY",
        "BARECOMMERCE_API_URL": "https://api.barecommercecore.com",
        "BARECOMMERCE_DEFAULT_STORE_ID": "STORE_123"
      }
    }
  }
}

You can manage your BareCommerce data and workflows through BareMCP, a local MCP server that connects with an AI assistant. It provides secure, browser-based authentication and a set of tools to handle stores, products, orders, customers, and more from a unified interface.

How to use

Interact with BareMCP through your MCP client by connecting to your BareCommerce store and issuing natural-language prompts. Common workflows include listing stores, retrieving product details, updating prices, creating new products, checking inventory, and exporting orders. Use prompts like “List all published products,” “Create a new product called ‘Wireless Headphones’ priced at $79.99,” or “Show me orders from last week” to perform actions and retrieve data. All authentication occurs in a secure browser flow, and no API keys are pasted into chat.

How to install

Prerequisites: you need a JavaScript runtime and a package manager to install and run BareMCP. You will install the MCP client globally, configure your client, then connect to your BareCommerce instance.

bun add -g @barecommercecore/mcp

Additional setup and usage notes

Configure your MCP client to recognize the BareMCP server. You will reference a local command that runs the MCP server with no extra parameters.

{
  "mcpServers": {
    "baremcp": {
      "command": "baremcp"
    }
  }
}

Security and data handling

BareMCP uses a browser-based OAuth Device Flow for secure login. Credentials are encrypted with AES-256-GCM and are machine-specific, so they don’t work on other machines. There is no telemetry or analytics data collected.

Environment variables

Set or provide values for the following environment variables as needed. They control how BareMCP talks to BareCommerce and which store to use by default.

- BARECOMMERCE_API_URL: API endpoint (default: https://api.barecommercecore.com) - BARECOMMERCE_API_KEY: Pre-configured key (skips OAuth) (optional) - BARECOMMERCE_DEFAULT_STORE_ID: Auto-select store (optional)

Troubleshooting

If you encounter errors, check the following common causes and fixes. Ensure you are connected before issuing commands, verify a default store is selected if required, and handle token expiry by reconnecting.

NOT_AUTHENTICATED: Run connect first
STORE_ID_REQUIRED: Pass a storeId parameter
RATE_LIMITED: Wait 60s, retry
UNAUTHORIZED: Run disconnect then connect
TIMEOUT: Check network, retry

Features

BareMCP provides a wide set of tools for end-to-end store management, including session controls, store data access, product management, order handling, customer management, categories, pages, media, webhooks, and audit logs.

Usage examples

Examples you can say to your assistant: - List all published products - Create a new product called 'Wireless Headphones' priced at $79.99 - Find products with less than 10 items in stock - Show me orders from last week - Get details for order ORD-2024-001 - Find customer with email [email protected]

Development

To run BareMCP locally for development, install dependencies, run type checks, run tests, build, and start the server locally with the provided commands.

bun install
bun run typecheck
bun test
bun run build
bun run dev

Available tools

connect

Establish an authenticated session with BareCommerce and initialize MCP usage.

disconnect

Terminate the current session and clear tokens.

status

Report the current authentication and connection status.

list_stores

Retrieve a list of stores the authenticated user can access.

get_store

Fetch details for a specific store by ID.

update_store

Update store settings such as name, currency, or timezone.

get_store_analytics

Obtain analytics data for a store.

list_products

List products in the store with filtering options.

get_product

Get detailed information about a product.

create_product

Create a new product in the catalog.

update_product

Update product attributes such as price or description.

delete_product

Remove a product from the catalog.

bulk_update_products

Apply changes to multiple products in one operation.

search_products

Search products by keywords or attributes.

get_product_variants

Retrieve variants for a product.

update_variant

Update a product variant.

list_orders

List customer orders with filters.

get_order

Get details for a specific order.

update_order_notes

Add or modify notes on an order.

record_refund

Record a refund for an order.

export_orders

Export orders data for external use.

list_customers

List customers and their basic details.

get_customer

Fetch customer details by ID or email.

create_customer

Create a new customer record.

update_customer

Update customer information.

delete_customer

Remove a customer record.

list_categories

List product categories.

get_category

Get details of a category.

create_category

Create a new category.

update_category

Update category attributes.

delete_category

Delete a category.

list_pages

List site pages.

get_page

Get details for a page.

create_page

Create a new page.

update_page

Update page content.

delete_page

Delete a page.

list_media

List media assets.

get_media

Get a media asset by ID.

upload_media

Upload a new media asset.

delete_media

Remove a media asset.

list_webhooks

List configured webhooks.

create_webhook

Create a new webhook.

update_webhook

Update webhook configuration.

delete_webhook

Delete a webhook.

list_audit_logs

List audit logs for actions performed.

get_audit_log

Get details for a specific audit entry.