BanditDB
Persistent decision memory for agents — learns which action works in which context
Connector by banditdb.comOfficial · Domain verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/banditdb-com-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 6 read · 5 write · 1 delete
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Python package
Tools by what they do 12
Read from the source code; the running server may list different tools.
Read 6 · Look things up without changing anything.
batch_get_intuitioncampaign_budgetcampaign_diagnosticscampaign_reportget_intuitionlist_campaigns
Write 5 · Create, change, send or run things.
add_armcreate_campaignrecord_outcomerestore_campaignset_arm_status
Delete 1 · Delete, drop, revoke or wipe things.
archive_campaign
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
BANDITDB_API_KEY
Other settings (environment variables or headers).
BANDITDB_URL
Tools (12)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
add_armAdd a new action (arm) to an existing campaign without losing what it has learned. Args: campaign_id: The campaign to extend. arm_id: Name of the new action. Must not already exist. group: Optional category label (e.g. 'shoes'). Arms in the same group can lend their knowledge to a new member. warm_start_from: Optional. "population" starts the new arm from the average of all active arms; "group" from the average of its group. Default is a cold start that learns from scratch. costs: Budget campaigns only. What the new action consumes per sugg…
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. Use this instead of deleting when you want to pause a campaign without losing its learned weights — for example, to suspend a seasonal campaign and resume it next quarter with the accumulated training data intact. Args: campaign_id: The campaign to archive. Returns: Confirmation or error message.
batch_get_intuitionAsk BanditDB for the best action across multiple campaigns in a single round-trip. Use this instead of calling get_intuition repeatedly when you need decisions for multiple campaigns at once. More efficient — one network call instead of N. Each item in `predictions` must have: campaign_id : str — the campaign to query context : list — feature vector matching that campaign's feature_dim Example input: [ {"campaign_id": "llm_routing", "context": [0.8, 0.2, 0.5]}, {"campaign_id": "support_tier", "context": [0.3, 0.9]} ] Args: predictions: List of {"campa…
campaign_budgetShow how a budget-constrained campaign is spending its budgets. Use this to answer: "How much budget is left? Is spend on pace? Why does the campaign stop suggesting the expensive option?" Per resource it reports budget, consumed, remaining, utilization, and the shadow price (lambda): what one unit of the resource currently costs an action's score. Rising lambda means spend is running ahead of pace; 0 means the budget is not limiting anything. Once a resource is exhausted, every action that costs it stays unavailable for good — budgets do not reset. Args: campaign_id: The campaign to in…
campaign_diagnosticsInspect the learning state and exploration health of a campaign. Use this when you suspect a campaign is not learning, one arm is dominating, or rewards are not being received. Key signals: - entropy_status: "ok" means healthy. "warning"/"critical" means exploration has collapsed — one arm is absorbing most traffic without a convergence signal. - entropy_trend: "falling" means collapse happened recently (check for pipeline bugs or config changes). "stable" means the current state has been consistent. - likely_cause / suggested_action: present when entropy is degraded, tells you what lik…
campaign_reportGet per-arm performance for a campaign, with confidence intervals. Use this to answer: "How is this campaign doing? Which arm leads, and by how much?" The `converged` field tests whether ONE arm is best for EVERYBODY: True — the leading arm has a statistically significant global advantage (95% CI). Safe to stop and deploy the winner. False — no single global winner yet. None — not enough data yet (< 30 rewards per arm). IMPORTANT: on a contextual campaign, `converged` stays False by design. Where different arms win for different contexts — one action for mobile users, anot…
create_campaignCreate a new decision campaign in BanditDB. Call this once before using get_intuition for a new type of decision. If the campaign already exists, this will return an error — that is safe to ignore if you are re-running setup code. Args: campaign_id: A unique name for this decision context (e.g., 'llm_routing', 'support_tier', 'offer_type'). Use snake_case. arms: The list of options the bandit will choose between (e.g., ['gpt-4o', 'claude-haiku', 'llama-3']). feature_dim: The number of floats in the context vector you will pass to get_in…
get_intuitionAsk the BanditDB Hive Mind for the best strategy or action to take. Args: campaign_id: The ID of the decision campaign (e.g., 'llm_routing', 'support_strategy'). context: A list of finite floats representing the current state (e.g., user sentiment, task difficulty). Keep values on a similar, modest scale — roughly -1 to 1 works well. Very large values are rejected. exclude_arms: Optional. Actions not allowed for this request only (e.g. already tried, unavailable right now). Does not change the campaign. eligible_arms: Optional. Choose only among these a…
list_campaignsList all active decision campaigns in BanditDB. Call this to discover what campaigns exist before calling get_intuition, or to check that a campaign was created successfully. Returns: A summary of all live campaigns with their arm count and alpha value, or a message if no campaigns exist yet.
record_outcomeTell the BanditDB Hive Mind if the strategy it suggested was successful. Args: interaction_id: The unique ID returned by get_intuition. reward: A number between 0.0 and 1.0 — 1.0 for a clear success, 0.0 for a failure, and values in between for partial success. Anything outside this range is rejected, so scale it rather than passing a raw score. Returns: Confirmation that the global math matrices have been updated.
restore_campaignRestore an archived campaign to active status. The campaign resumes accepting predictions and rewards with all previously learned weights intact — no retraining needed. Args: campaign_id: The archived campaign to restore. Returns: Confirmation or error message.
set_arm_statusPause, retire, or reactivate an action (arm) in a campaign. Use "paused" for temporary unavailability (out of stock, seasonal), "retired" for actions that should not come back, and "active" to restore either. The arm keeps everything it learned in every state. To skip an arm for one request only, pass exclude_arms to get_intuition instead. Args: campaign_id: The campaign the arm belongs to. arm_id: The arm to change. status: "active", "paused", or "retired". Returns: Confirmation or error message.
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Weekly downloads
- 158
- Last commit
- Oct 17, 2026 (11 days ago)
- Last release
- Oct 11, 2026 (17 days ago)
- Last package publish
- Oct 17, 2026 (11 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
com.banditdb/mcp- Version
- 0.3.1
- Auth
- API key
- Packages
- pypi banditdb-python
- License
- Apache-2.0
- Website
- banditdb.com/docs/mcp/
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
Cite this page
BanditDB MCP server. Agent Mart. https://agentmart.dev/connectors/banditdb-com-mcp (last updated 2026-10-25)