Solid Commerce Docs

Solid Commerce in Claude Code

Value. Run Solid Commerce operations from the same terminal where you already manage code and infrastructure — query inventory, push listings, or fulfill an order without leaving Claude Code.

Choose this when your team is technical (developers, operations engineers, technical founders) and already uses Claude Code daily for engineering work.

Install

1. Create an API key. In your Solid Commerce workspace, open Developer → API keys → New (the /developer/keys page) and copy the secret — it is shown only once.

2. Add the MCP server to Claude Code over stdio, passing your key:

claude mcp add solidcommerce \
  --transport stdio \
  --env SOLIDCOMMERCE_API_KEY=YOUR_KEY \
  --env SOLIDCOMMERCE_API_BASE_URL=https://api.takeoffcommerce.com \
  -- npx -y @solidcommerce/mcp-server@alpha

Or add it directly to your Claude config:

{
  "mcpServers": {
    "solidcommerce": {
      "command": "npx",
      "args": ["-y", "@solidcommerce/mcp-server@alpha"],
      "env": {
        "SOLIDCOMMERCE_API_KEY": "YOUR_KEY",
        "SOLIDCOMMERCE_API_BASE_URL": "https://api.takeoffcommerce.com"
      }
    }
  }
}

Both variables are required: SOLIDCOMMERCE_API_BASE_URL points the server at the Solid Commerce platform API host.

A hosted remote server (https://mcp.solidcommerce.com/mcp) with per-user OAuth is coming for the non-terminal surfaces (Claude UI, ChatGPT, and so on).

Prefer the CLI?

The @solidcommerce/cli is a companion tool for running commands yourself. It uses interactive OAuth rather than an API key:

npx -y @solidcommerce/cli@alpha auth login

A browser opens the Solid Commerce consent screen (scopes in plain English, plus a company picker if you belong to more than one company); the token is stored in your OS keychain.

Try it

Ask Claude Code in natural language — "how many orders came in today?", "reprice listing li_1234 to $19.99 because a competitor dropped" — or script against the SDK directly:

1. List today's orders

A read-only call — safe to run the moment you connect.

import { SolidCommerceClient } from '@solidcommerce/sdk';

const client = new SolidCommerceClient({
  baseUrl: 'https://api.solidcommerce.com',
  auth: { kind: 'bearer', token: process.env.SC_TOKEN! },
});

const since = new Date(Date.now() - 86_400_000).toISOString();
const { data } = await client.raw.GET('/v1/orders/orders', {
  params: { query: { created_after: since, limit: 50 } },
});
console.log(`${data?.data.length ?? 0} orders in the last 24h`);

2. Reprice a listing

A write — the audited reason is captured even if you forget to mention it. In a conversational host this surfaces a confirmation prompt first (every write tool is annotated destructiveHint).

await client.raw.PATCH('/v1/listings/list-items/{listItemId}/automation', {
  params: { path: { listItemId: 'li_1234' } },
  body: { list_price: 19.99, metadata: { price_change_reason: 'competitor match' } },
});

3. Check inventory across warehouses

Another read — see stock for every warehouse in one call.

const { data } = await client.raw.GET('/v1/inventory/warehouses');
for (const wh of data?.data ?? []) {
  console.log(wh.name, wh.available_units);
}

Availability

Claude Code is the lowest-friction surface — install the plugin and go. See the Claude Code plugin marketplace. Review our Privacy Policy and Terms.