BanditDB MCP server
com.banditdb/mcp·v0.3.1Persistent decision memory for agents — learns which action works in which context
0 stars56 downloads/wk
Reviews
Write oneNobody has reviewed BanditDB yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
BanditDB tools (12, 1 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_armAdd a new action (arm) to an existing campaign without losing what it has learned.
archive_campaignSoft-delete a campaign. The campaign stops accepting new predictions and rewards but all data (arm matrices, history) is preserved and can be restored.
batch_get_intuitionAsk BanditDB for the best action across multiple campaigns in a single round-trip.
campaign_budgetShow how a budget-constrained campaign is spending its budgets.
campaign_diagnosticsInspect the learning state and exploration health of a campaign.
campaign_reportGet per-arm performance for a campaign, with confidence intervals.
create_campaignwrite actionget_intuitionAsk the BanditDB Hive Mind for the best strategy or action to take.
list_campaignsList all active decision campaigns in BanditDB.
record_outcomeTell the BanditDB Hive Mind if the strategy it suggested was successful.
restore_campaignRestore an archived campaign to active status.
set_arm_statusPause, retire, or reactivate an action (arm) in a campaign.
Public scan report
scanner v0.1.10 · 2026-10-31 · same rubric, same numbers if you re-run it
- Code scan8 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 14 days ago15/15
- Maintainer identitynamespace and repository owner differ; GitHub account older than a year; website matches verified namespace8/10
How BanditDB compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 83/100
- higher than 65% of 48,255 servers
- Tools
- 12
- the typical server has 7
- Tools that change things
- 8%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 56
- more than 46% of 12,191 servers with a package
What its tools let an agent do: 8 read · 2 create · 1 change · 1 delete
Release history: 2 versions in the registry since 2026-08-26, latest 2026-10-11, typically one every 46 days.
Install BanditDB in Claude Code, Cursor or VS Code
claude mcp add mcp -- uvx banditdb-python
What the publisher says
From the BanditDB repository's README, as published. We do not edit it. Read it on GitHub
BanditDB Python SDK
The official Python client and Model Context Protocol (MCP) server for BanditDB — the ultra-fast, lock-free Contextual Bandit database written in Rust.
BanditDB abstracts away the complex linear algebra of Reinforcement Learning (LinUCB, Thompson Sampling) behind a dead-simple API. Build real-time personalizers, dynamic A/B tests, and give LLM agents mathematically rigorous persistent memory.
Installation
pip install banditdb-pythonRequires the BanditDB Rust server running (default: http://localhost:8080).
1. Standard SDK Usage
The client features automatic connection pooling, exponential backoff retries, and strict timeouts.
from banditdb import Client, BanditDBError
# Connect to the BanditDB server.
# Pass api_key if BANDITDB_API_KEY is set on the server.
db = Client(
url="http://localhost:8080",
timeout=2.0,
api_key="your-secret-key", # omit if server runs without auth
)
try:
# 1. Create a campaign (run once at startup)
# algorithm defaults to "linucb"; use "thompson_sampling" for Bayesian exploration
db.create_campaign(
campaign_id="checkout_upsell",
arms=["offer_discount", "offer_free_shipping"],
feature_dim=3,
)
# or: db.create_campaign(..., algorithm="thompson_sampling")
# 2. A user arrives — ask the database what to show them
# Context: [is_mobile, cart_value_normalized, is_returning_user]
arm_id, interaction_id = db.predict("checkout_upsell", [1.0, 0.8, 0.0])
print(f"Showing: {arm_id}") # e.g., "offer_free_shipping"
# 3. The user clicked — send the reward
db.reward(interaction_id, reward=1.0)
except BanditDBError as e:
print(f"Database error: {e}")All Client methods
Health
Campaigns
Predict & Reward
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
BanditDB: common questions
- Is BanditDB MCP server safe?
- Mostly: it is graded B (83/100). Read the BanditDB safety report
- How do I install BanditDB?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does BanditDB need an API key?
- Yes. The registry entry asks for
BANDITDB_API_KEY. - Is BanditDB maintained?
- The last commit was 18 days ago (2026-10-17). The latest release is v0.3.1.
- What can I use instead of BanditDB?
- Servers from other publishers that do the same job: State Memory MCP server, Knowl MCP server and Tradememory Protocol MCP server. Compare all BanditDB alternatives.
- How does BanditDB compare with other MCP servers?
- safety score 83/100 (higher than 65% of 48,255 servers); tools 12 (the typical server has 7); tools that change things 8% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to BanditDB
Same job from other publishers: the closest match first, then the best rated.
State Memory MCPPersistent workflow graph server tracking tasks, decisions, spatial entities, and blockers.not reviewedEstablishedA
KnowlPersistent memory for AI agents, for code, research and everyday life. Stale facts retire.not reviewedEstablishedA- Tradememory ProtocolTamper-evident decision audit trail and outcome-weighted memory for AI trading agents.not reviewedEstablishedB