Prerequisites
- Claude Enterprise with Claude Tag enabled for your Slack workspace.
- A MerchantOps account with the Owner role — only Owners can create server API keys. See Team & roles.
Set it up
1
Create the server API key
Sign in as an Owner and go to Settings › API Keys › Create API Key.
Name it for the channel it will serve (for example
#catalog-ops Claude Tag), and assign it the channel_agent_reader role only. Copy the
key — it’s shown once. See Server API keys for the
full key-creation flow.If you don’t see
channel_agent_reader in the role list, ask your
MerchantOps admin to add it rather than assigning a broader role instead.2
Add a MerchantOps plugin
Add a Claude plugin whose Don’t put the key in this file — it names the server, not the
credential.
.mcp.json points at the MerchantOps MCP
server:3
Add a custom connector with a Bearer credential
In Claude’s connector settings, add a custom connector for the
MerchantOps MCP server and configure its credential as Bearer, using
the full key you copied:Set Allowed websites to the MCP host,
mcp.merchantops.ai, so the
credential is never sent anywhere else.4
Scope it to the right channels
Enable the connector for the specific channel (or the Claude Tag bundle)
where you want catalog access, not workspace-wide. Scope follows your
Claude Tag / bundle configuration — keep it limited to channels whose
members should all see this data.
What the agent can see
Thechannel_agent_reader role is read-only, scoped to your organization,
covering products, product types, property definitions, pricing, MAP pricing,
catalog batches, jobs, lakehouse data, and documents. Anything the key can
read, Claude can surface to anyone posting in the scoped channel — there’s no
per-person filtering inside the channel.
If someone in the channel asks Claude to change a price, update a product, or
run any other write, the request is declined: this role carries no write
permissions on the MerchantOps side.
Because the key represents the channel rather than a person,
whoami and
usage history show the organization and key identity — not which teammate
asked the question.Revoking access
Revoke the key from Settings › API Keys at any time. The API refuses the key immediately, but a channel that’s still connected can keep working against the MCP server for up to about a minute afterward, since auth lookups are cached briefly. Delete the connector or disable the plugin in Slack as well to fully stop the channel from calling it.Server API keys
Create, scope, rotate, and revoke keys — including
channel_agent_reader.MerchantOps in Microsoft Teams
The same read-only pattern through Copilot Studio.