bagofwords1/bagofwords

Chat with your data - with memory, rules, and observability built in. Deploy in 2 minutes

What it solves

Bag of Words (BOW) is an agentic analytics platform that bridges the gap between Large Language Models (LLMs) and enterprise data. It allows users to create specialized data agents that can perform complex analysis, generate reports, and automate recurring data tasks without requiring the user to manually provide context or write complex queries for every interaction.

How it works

BOW acts as a governed gateway between LLMs, data sources, and communication channels. It allows administrators to configure specific agents with their own dedicated data access, tools, credentials, and instructions. These agents can then be deployed across various surfaces—such as chat interfaces, scheduled reports, dashboards, or external MCP (Model Context Protocol) clients. The platform includes a self-improvement loop where agents are tested against evaluation sets; if they fail, the system can automatically draft and test instruction fixes to improve reliability over time.

Who it’s for

It is designed for teams and enterprises that need to scale the use of AI agents for data analysis and business intelligence, requiring strong governance, RBAC, and the ability to to connect to a wide variety of databases, BI tools, and business applications.

Highlights

  • Extensive Connectivity: Integrates with a vast array of databases (PostgreSQL, Snowflake, BigQuery), BI tools (Tableau, Power BI), and business apps (Salesforce, NetSuite).
  • MCP Gateway: Connects agents to MCP servers and custom APIs, exposing their context and tools to MCP clients.
  • Self-Improving Loops: Uses evaluation sets to automatically detect failures and draft instruction updates to improve agent performance.
  • Multi-Surface Deployment: Agents can run in a web app, Slack, Microsoft Teams, WhatsApp, Excel, or headlessly via MCP clients like Claude Code.
  • Enterprise Governance: Includes RBAC, SSO, audit logs, and model policies to control how data and models are accessed.