Skip to main content

Bambuser MCP Server

The Bambuser MCP server is a hosted Model Context Protocol endpoint that lets an AI client — Claude Code, Claude Desktop, Cursor, ChatGPT, the MCP Inspector, or anything else that speaks MCP — read data from your Bambuser workspace on your behalf.

Instead of writing REST calls, you connect the client once — by signing in with your API key, or by putting the key in the client's config — and then ask questions in natural language: "which shows featured SKU 12345?", "pull the chat transcript from last Thursday's stream", "what have our shows taught us about this product?". The model picks the right tool, calls it, and works with the result.

Everything the server returns is scoped to the organization that owns the API key. There is no tool argument that can point at another organization's data.

What the server can do​

AreaTools
Showsget_shows, get_show, get_show_highlights, get_show_play_url
Show contentget_show_transcript, get_show_chat_transcripts
Productssearch_products, get_products, get_show_products, get_highlighted_product_shows, get_product_template_ids, get_product_ids_by_template_ids
Product knowledgeget_product_knowledge_statements, get_product_knowledge_statements_supporting_evidence, get_product_knowledge_org_library_sources
Feedbacksend_feedback — sends a note to the Bambuser team when something you needed was missing

Every tool above is read-only. send_feedback is the only one that writes anything, and what it writes is your feedback.

Tool descriptions and input schemas are published by the server itself, so any MCP client shows the current list once connected. Run tools/list (or your client's equivalent) to see exactly what your API key has access to — that list, not this page, is the authoritative answer.

Resources​

Alongside tools, the server exposes three MCP resource templates for product knowledge. Clients that support resources can attach these directly to a conversation rather than going through a tool call.

ResourceURI template
product_knowledge_summarybambuser://product-knowledge/{productId}{?feedId,attributeLimit}
product_knowledge_statementbambuser://product-knowledge/{productId}/statement/{statementId}{?feedId}
product_knowledge_atombambuser://product-knowledge/{productId}/atom/{atomId}{?feedId}

The summary is the orientation layer — top categories, category counts, coverage and a preview of org-library sources. feedId scopes any of them to a single feed; attributeLimit caps how many top categories the summary returns (default 5).

Endpoints​

Pick the endpoint that matches the servers your workspace runs on.

ServersWorkspace loginMCP endpoint
Globallcx.bambuser.comhttps://mcp-prod-us.liveshopping.bambuser.com/mcp
EUlcx-eu.bambuser.comhttps://mcp-prod-eu.liveshopping.bambuser.com/mcp

The two regions are separate deployments over separate data. An API key issued in one region does not work against the other.

The transport is Streamable HTTP over POST. The server is stateless: every request carries its own credentials and is handled independently, so there is no session to establish or keep alive.

Authentication​

There are two ways to connect, and both end up acting as a workspace API key:

  • Sign in with OAuth — for clients with a "Connect" button, such as claude.ai and ChatGPT. You paste your API key once on a Bambuser sign-in page; no header configuration is needed.
  • API key in a header — for clients you configure yourself, such as Claude Code, Claude Desktop and Cursor. The MCP server authenticates exactly like the Bambuser REST API.

Sign in with OAuth​

Clients that support MCP's OAuth flow discover everything they need from the endpoint's 401 response, so in most cases you only enter the endpoint URL from the table above.

  1. Add the server in your client using the MCP endpoint URL for your region, and choose to connect. The client opens a Bambuser page in your browser.
  2. The page shows which app is asking for access and the exact address you will be sent back to. Check that you recognise both.
  3. Paste your workspace API key and confirm. You are sent back to the client, which is now connected.

API key in a header​

Send a workspace API key in the Authorization header.

Authorization: Bearer <YOUR_API_KEY>

Authorization: Token <YOUR_API_KEY> is accepted as well — use whichever your client supports. Clients that don't let you customise the header prefix (such as ChatGPT) should use Bearer.

Create the key in your Bambuser workspace under Settings, following Generating API Keys. Treat it like a password: it grants access to your workspace data, and anything you paste it into — a client config file, an environment variable — should be handled accordingly.

Scopes​

The scopes you grant the API key decide which tools it can use. Tools whose scope is missing return an error when called; the rest keep working.

ScopeUnlocks
READ_SHOWSget_shows, get_show, get_show_highlights, get_show_play_url, get_show_chat_transcripts, get_highlighted_product_shows
READ_BROADCASTSget_show_transcript
READ_PRODUCTSsearch_products, get_products, get_show_products, get_product_template_ids, get_product_ids_by_template_ids
PRODUCT_CATALOG_READThe three product knowledge tools and all three product knowledge resources

send_feedback needs no scope beyond a valid key. PRODUCT_CATALOG_MANAGE also unlocks the product knowledge reads, so a key that already has it needs nothing extra.

Since the whole surface is read-only, a key carrying READ_SHOWS, READ_BROADCASTS, READ_PRODUCTS and PRODUCT_CATALOG_READ covers everything the server can do today.

Error responses​

StatusMeaning
401 UnauthorizedHeader missing, or the key is unknown, invalid or disabled. For an OAuth connection, the token is expired or revoked — the client should refresh it or ask you to sign in again
Tool errorThe key is valid but lacks the scope for that specific tool

Connecting a client​

Clients with a Connect button (claude.ai, ChatGPT)​

Add a custom connector, enter the endpoint for your region, and follow the sign-in steps. You don't need to set an Authorization header.

Clients configured with an API key​

Replace <YOUR_API_KEY> with your key and use the endpoint for your region.

Claude Code​

claude mcp add --transport http bambuser \
https://mcp-prod-eu.liveshopping.bambuser.com/mcp \
--header "Authorization: Bearer <YOUR_API_KEY>"

Claude Desktop, Cursor and other JSON-configured clients​

{
"mcpServers": {
"bambuser": {
"type": "http",
"url": "https://mcp-prod-eu.liveshopping.bambuser.com/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}

Config file locations differ per client — Cursor reads .cursor/mcp.json in the project or ~/.cursor/mcp.json globally; Claude Desktop reads claude_desktop_config.json. The block above goes inside whichever file your client uses.