BarterBanner MCP server

Ask your AI assistant about the BarterBanner traffic exchange network — and, with a personal key, about your own sites and campaigns — in plain words.

Endpoint
https://barterbanner.com/mcp
Transport
Streamable HTTP, stateless, JSON responses
Without a key
4 public, read-only tools
With a key
plus 5 tools about your own sites and campaigns; a key with permission can also create, edit, pause and resume campaigns
Key header
Authorization: Bearer bb_…

What BarterBanner is

Member websites show each other's recommendation cards. Showing a card earns credits; having your card shown elsewhere spends them. Credits are not money and cannot be bought or withdrawn. A view counts only when a reader actually sees the card — at least half of it on screen for one continuous second, the MRC standard. The exact rules are returned by the get_exchange_rules tool, built from the same numbers the network computes with.

Public tools — no key

The same information the home page shows. No balances, no earnings, nothing private.

ToolReturns
get_network_statsverified member sites, active campaigns, card views over the last 7 days
list_membersmember sites with their showcase card
check_sitewhether a site is in the network (a domain or a URL), or how to join
get_exchange_rulesexchange rules: price of a view, the site's share, what counts as a view, welcome credits, widget code

Your own data — with a key

  1. Sign in to the dashboard and open Tools → AI assistant.
  2. Create a key and name it after the assistant it is for. Tick Allow creating campaigns only if you want the assistant to add campaigns.
  3. Copy the key — it is shown once. Put it into your assistant's settings as the header Authorization: Bearer bb_…. Do not send it to anyone.
ToolReturns
list_my_sitesstatus, verification, balance, quality, today's spending plan and how much is used, credits earned and spent per day, warnings — credits running out or the block rarely seen
list_my_campaignsyour campaigns: status, review verdict and its reason, views, clicks
get_campaign_statsfor each campaign over 1–90 days: cards loaded and actually seen, clicks, CTR — and what readers did on your page after the click (arrived, stayed, seconds, pages), with network-wide rates to compare
get_site_reportviews on one of your sites over 1–90 days, and why some did not count, with an explanation of each reason
get_widget_codethe snippet for your site, with placement advice
create_campaign, update_campaign, pause_campaign, resume_campaignonly with a key that allows it — see below

A key reaches only its owner's sites: asking about someone else's domain returns “not one of your sites”. If you have a single site, the domain can be left out.

Creating and changing campaigns

create_campaign makes a native card campaign. It is not shown until the network's automatic review approves it — usually within minutes; list_my_campaigns shows the verdict. Before saving, the server checks:

update_campaign changes the title, description, link, image or language — only what is passed — with the same checks. A changed campaign leaves the network until the review approves it again; at most 20 edits a day.

pause_campaign stops a campaign. resume_campaign returns it to the network only if the review approved it: an unreviewed campaign goes to review first, a rejected one stays paused until it is edited.

Every refusal says what is wrong, so the assistant can fix it. Campaigns created by an assistant are marked in the dashboard, and every action an assistant takes is logged.

About after-click data

What readers do after the click is measured by the BarterBanner widget script on the page they land on. If a landing page has no widget code, arrivals there are not recorded — install the code (get_widget_code) before concluding that readers do not reach the page. Judge a campaign after a few hundred views and at least a few clicks; small numbers say little.

Connecting

Any MCP client that speaks Streamable HTTP works. Clients that accept only a URL get the public tools; your own data needs a client that can send a header.

Claude Code

claude mcp add --transport http barterbanner https://barterbanner.com/mcp \
  --header "Authorization: Bearer bb_YOUR_KEY"

Cursor — ~/.cursor/mcp.json

{
  "mcpServers": {
    "barterbanner": {
      "url": "https://barterbanner.com/mcp",
      "headers": { "Authorization": "Bearer bb_YOUR_KEY" }
    }
  }
}

VS Code — .vscode/mcp.json

{
  "servers": {
    "barterbanner": {
      "type": "http",
      "url": "https://barterbanner.com/mcp",
      "headers": { "Authorization": "Bearer bb_YOUR_KEY" }
    }
  }
}

For public tools only, leave out the header.

Try it with curl

curl -s https://barterbanner.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_network_stats","arguments":{}}}'

Keys and safety

Limits and errors

AnswerMeaning
401the key is wrong, revoked, or its owner is blocked — create a new key in the dashboard
405a GET without HTML — the server is stateless and takes MCP requests by POST only
429too many requests from one address; slow down and retry
503temporarily unavailable; retry in a minute
isError: truethe tool refused, and the text says why (for example, a link to another site)

Listed on glama.ai. Questions — through the support contact in the dashboard.