b2bware-mcp
v1.0.0
Published
MCP server for the B2Bware Datahub API — exposes products, orders, customers and carts as MCP tools for Claude, Cursor, and any MCP-compatible AI client
Maintainers
Readme
B2Bware MCP Server
A Model Context Protocol (MCP) server that connects any MCP-compatible AI assistant directly to the B2Bware Datahub API. Search products, manage orders, look up customers — without leaving the chat.
Works with Claude Desktop, Cursor, Windsurf, Continue, claude.ai web, and any other MCP-compatible tool.
Quickstart (easiest — Smithery)
- Visit smithery.ai/server/b2bware-mcp
- Enter your B2Bware API key
- Click Add to Claude Desktop (or copy the config for your tool)
That's it — no terminal, no JSON editing.
Install via npx (Claude Desktop / Cursor)
No installation needed — npx downloads the latest version automatically.
Claude Desktop
Config file locations:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"b2bware": {
"command": "npx",
"args": ["-y", "b2bware-mcp@latest"],
"env": {
"B2BWARE_API_KEY": "your-api-key-here",
"B2BWARE_LANGUAGE": "en"
}
}
}
}Cursor
Config file: ~/.cursor/mcp.json (or Cursor Settings → MCP)
{
"mcpServers": {
"b2bware": {
"command": "npx",
"args": ["-y", "b2bware-mcp@latest"],
"env": {
"B2BWARE_API_KEY": "your-api-key-here",
"B2BWARE_LANGUAGE": "en"
}
}
}
}Windsurf / Continue / Other MCP clients
Same pattern — use command: "npx" with args: ["-y", "b2bware-mcp@latest"].
Remote (Hosted) — claude.ai Web & Non-Technical Users
If your AI client supports remote MCP servers (e.g. claude.ai web), point it to the hosted instance:
SSE URL: https://mcp.b2bware.com/sse
Auth: Authorization: Bearer YOUR_API_KEYNo Node.js required on the client machine.
In Claude Desktop (remote mode):
{
"mcpServers": {
"b2bware": {
"url": "https://mcp.b2bware.com/sse",
"headers": {
"Authorization": "Bearer your-api-key-here"
}
}
}
}Features
| Hub | Tools |
|---|---|
| Product Hub | search_products, list_products, get_product, list_categories, get_category |
| Order Hub | list_orders, get_order, upsert_cart, get_cart, checkout, list_shipping_methods, list_billing_methods |
| Customer Hub | search_customers, get_customer, create_customer, list_customer_addresses, create_shipping_address, create_billing_address |
| Auth Hub | login, register |
Example prompts
- "Show me all orders from this week with status 'processing'"
- "Find the product with SKU ABC-123 and its current price"
- "List all customers from Vienna"
- "Add 3 units of product 456 to a cart for customer 789 and check out"
Configuration
| Variable | Required | Description |
|---|---|---|
| B2BWARE_API_KEY | ✅ | Your B2Bware API key (Settings › API Keys) |
| B2BWARE_BASE_URL | optional | API base URL (default: https://api.datahub.syncspider.com) |
| B2BWARE_LANGUAGE | optional | Content language, e.g. de (default: en) |
Self-Hosting the HTTP Server
The HTTP/SSE server lets you host B2Bware MCP centrally so users don't need Node.js locally.
Railway (recommended)
railway login
railway new
railway upSet environment variables in Railway dashboard:
B2BWARE_LANGUAGE(optional default language)PORTis set automatically by Railway
Each customer connects with their own API key — the server validates it per connection.
Docker
docker build -t b2bware-mcp .
docker run -p 3000:3000 b2bware-mcpThe /health endpoint returns 200 OK for load-balancer checks.
Fly.io
fly launch
fly deployArchitecture
src/
├── index.ts # stdio entry point (Claude Desktop / Cursor)
├── http-server.ts # HTTP/SSE entry point (remote hosting)
├── create-server.ts # MCP server factory (shared by both transports)
├── client.ts # HTTP client (fetch-based)
├── config.ts # Environment variable loading
├── types.ts # Shared TypeScript types
└── hubs/
├── product-hub.ts
├── order-hub.ts
├── customer-hub.ts
└── auth-hub.tsBoth transports use the same createB2BwareServer(config) factory — the stdio version reads the API key from environment variables once, while the HTTP version creates a fresh server instance per connection so each customer can use their own key.
Development
git clone https://github.com/syncspider/b2bware-mcp.git
cd b2bware-mcp
npm install
npm run build
# Run stdio server locally
B2BWARE_API_KEY=your-key node dist/index.js
# Run HTTP server locally
PORT=3000 node dist/http-server.jsLicense
MIT © SyncSpider GmbH
