
Binggio
com.binggioPublished by binggio.comv0.1.9Updated Nov 7, 2026
Governed answers from your data: approved meanings only, refusals instead of guesses.
Overview
Binggio answers questions over your local CSV, Excel and database files using only meanings a person approved, or refuses with a reason.
- What you can do
- Describe the approved tables, columns, links, business terms and concepts, plus the plan format
- Validate and run a query plan, returning rows with sources, terms and as-of date, or a refusal with the reason
- Interpret a plain-language question directly (needs a model key)
- Report what is approved, waiting for review, or stale
- Propose a meaning for a coded value for a person to approve in the app
- When to use it
- Useful when an assistant should query business data but must not guess definitions, invent joins, or write SQL: for example answering questions over a reviewed bank or operations extract where every answer needs provenance and refusals are preferred to approximations.
- Requirements
- Runs as a local process (PyPI package binggio, e.g. via uvx or python -m binggio) on the user's desktop. Requires a Binggio workspace folder containing binggio.json, passed via the BINGGIO_WORKSPACE environment variable or the -w flag. The ask tool needs a model key (BINGGIO_LLM_API_KEY or OPENAI_API_KEY); other tools work without one. Python 3.10+ for the desktop bundle.
Installation
In SourceWeft
- Open Binggio in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
[binggio: Enterprise Context Intelligence]
Binggio™
Governed answers from your data. Binggio answers questions only from meanings a person has approved: which column is a key, how tables link, what "delinquent" means. When it cannot answer precisely it says why, instead of guessing.
- Works on your machine, with your files and databases. Nothing is written back to any source.
- Every answer shows the terms, filters, links and sources it used.
- Approvals are recorded with who made them and why, and stop being used the moment the data they were made on changes.
See it in action
https://github.com/user-attachments/assets/9e9f4222-eaf0-4bb0-8a2d-7a162eb2bc14
A two-minute tour: the sample bank, questions with provenance, review and approval, the relationship map, adding your own CSV files, and the data story.
Install
If your terminal says binggio is not recognised (common on Windows when pip installs into the
user folder), use python -m binggio instead, for example python -m binggio ui, or add the
Scripts folder pip mentions to your PATH.
Asking questions in plain language needs a model key: set BINGGIO_LLM_API_KEY (or
OPENAI_API_KEY). Everything else (profiling, discovery, review, running saved plans) works
without one.
The app
Opens Binggio in your browser: create the sample bank or your own workspace, add CSV files, Excel workbooks or databases (with a folder picker and a "test connection" step), walk through onboarding, approve, reject, revoke or reopen column roles, relationships, concepts and business terms, see the relationship map, and ask questions with the provenance of every answer.
Built for data stewards:
- Review with the evidence in front of you. Click any column or relationship to see its profile, example values, how many keys matched, what depends on it and its full history, then decide with a rationale. Relationships can carry an as-of rule, a business meaning, or a corrected join column.
- Business definitions. Give a business name one exact calculation ("Outstanding exposure = total of outstanding_balance"). Binggio suggests some from approved measures; a person approves.
- Issues from refused questions. Every question Binggio refuses is kept with the reason, so you can see which meanings people are missing, approve them, and close the issue.
- Automatic review, off by default. Approves only items that pass a strict technical check, shows a preview first, records every approval, and can roll back a whole run.
- How do two tables connect? A path finder on the relationship map shows the chains of links between any two tables, and whether questions can use them yet.
- Shortcuts: a "strong evidence only" filter for bulk approval, and a CSV export of the whole audit trail.
- Add a relationship yourself. In Review › Relationships, or by drawing an arrow between two tables on the relationship map. Binggio checks it on every row of both tables (how many keys match, whether the parent key is unique) before it is saved, and a person approves it.
- See where discovery stopped. For every table and key-like column: the closest match, why it
was not proposed (too few values matched, the key repeats, the names differ), near misses, and
keys that look the same but are written differently (
CUST-000123andC0000123). - Data fixes, without touching the source. Trim spaces, read
$1,234.50as a number, fill missing values, pad or strip key prefixes, read dates in a stated form, combine columns into a new key, keep one row per key. Each fix is recorded with who added it and why, and is applied again whenever the data is refreshed. Approvals on a fixed table must be re-confirmed. - Key tools. Check a column, or several together, on every row (not a sample): how many rows repeat or are empty, with examples. Make it the table's key only when it is unique.
- Masters, for data where no column is unique. Enterprise extracts often repeat every record once per reporting month and per version, so no column can be a key. Binggio proposes masters (one row per employee, book, desk ...) from the identifiers it finds on every row, and a calendar; a person approves which columns belong. Approved masters are built as tables, rebuilt on every refresh, sit at the centre of the relationship map, and every member column links to them many-to-one. Gaps are shown (ids used in a table but missing from the system of record), never hidden.
- Recommended data fixes. From the profiles, Binggio recommends fixes (stray spaces, case variants, numbers written as text, placeholders such as "-", dates written as text, keys written differently from their master), each with its evidence and a preview. A person approves them.
- Snapshot tables. Once a person marks a table as one copy per reporting period, a total or count across periods is refused: an answer needs one period or a result per period.
- Profiles on every row, read the way enterprise names are written. Distinct and empty counts come from all rows. Names written as one word are read by their ending: a version, a level, a code or a flag is never a measure; an email is never a key; references stored as domain / id / version, people stored as blocks of columns, code-and-name pairs and flattened hierarchies are shown as groups; columns with no information are kept out of review.
It runs on this computer only (127.0.0.1), needs no internet, and adds no dependencies. The page
carries a random session token so other web sites cannot use it. Database passwords and model keys
typed into it are kept in memory only, never written to disk. The sample bank includes ten
prepared questions that run without a model key. Options: --port 8800, --no-browser.
Tables are prepared and profiled at the same time, as many as the computer has processor cores;
set BINGGIO_WORKERS=4 to use fewer (or 1 for one at a time).
Use Binggio from AI agents (MCP)
Binggio speaks the Model Context Protocol, so Claude Desktop, Claude Code, Cursor, VS Code and agent frameworks can use it as a tool. The agent turns the user's question into a plan using Binggio's approved vocabulary; Binggio validates it and answers from approved meanings only, or refuses with the reason. Agents can propose a meaning for a coded value, but only a person can approve it, in the app. No SQL is accepted, nothing is written to your sources, and it runs on this computer.
Connect your AI client in one step
This adds Binggio to the client's settings and keeps everything already there (a dated backup is
saved first; if the file is not valid JSON, nothing is changed). Add --print to see the settings
without changing anything. Restart the client afterwards.
Other ways in:
- Claude Desktop bundle: download
binggio-<version>.mcpbfrom the releases page and open it; Claude Desktop asks for your workspace folder. Needs Python 3.10 or later installed. - Without installing anything first (with uv): command
uvx, argumentsbinggio mcp, and the environment variableBINGGIO_WORKSPACEset to your workspace. - By hand:
{"mcpServers": {"binggio": {"command": "python", "args": ["-m", "binggio", "-w", "C:\\banks\\my-bank", "mcp"]}}}
Every command also reads the workspace from BINGGIO_WORKSPACE when -w is not given.
Two-minute demo (command line)
Your own data
onboard walks through four steps and records every decision under your name:
- Column roles: keys, measures, dates, statuses. Suggestions are shown; you approve per table.
- Links: which column points to which table, with the evidence (how many values match).
- Concepts: names for the things in your data ("collection case", "collateral").
- Words for codes:
kept = Nmeans "broken promise";status = Wmeans "written off". Questions can use those words only after you define them.
binggio onboard --accept-suggestions --by "Your Name" accepts all suggestions at once (still
recorded as your decision). It never approves a duplicate copy of an existing table, and leaves
weak alternative links for you to look at.
What Binggio will not do
- Guess a meaning. A word with no approved meaning, or two approved meanings, is refused with the choices.
- Answer from part of the data. Answers read whole tables. Large tables are prepared once
(a local copy in the workspace's
data/preparedanddata/cachefolders, about the size of the data, safe to delete) so later questions do not re-read the files. Longer result lists show the first 200 rows and say how many there are. - Change your data. Databases are read with SELECT statements only; the copy lives in the
workspace, and
binggio refresh <connection>re-reads it in place.
Not yet supported, and refused with a clear message: ratios and shares, time windows relative to today ("last 30 days"), durations, change over time, conditions on counts ("more than one complaint").
Python
Checking it on your own database
tools/check_database.py connects to a real SQL Server, Oracle or PostgreSQL database.
--list is read-only. --cross-source loads a small test bank into a scratch schema, checks
that it gives the same answers as the CSV copy, and removes it again.
Status
0.1, early.
Licence
Binggio is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the LICENSE file for details.
In short: use it freely, inside your organisation too. If you modify Binggio and let other people use the modified version, including over a network, you must make your modified source code available to them under the same licence.
Trademark. Binggio™ and the Binggio logo are trademarks of Ashish Kumar (applications filed in India). The AGPL covers the code, not the name: forks are welcome under a different name. See TRADEMARKS.md.
Contact. Feedback, questions, commercial licences, implementation and partnerships: [email protected]. Security issues: see SECURITY.md.
Commercial licence. If the AGPL does not fit your organisation (for example, you want to embed Binggio in a closed product or service), a commercial licence is available: see COMMERCIAL.md.
Source: README.md at commit afaff9c
Tools
0Version history
3- v0.1.9LatestNov 7, 2026
- v0.1.3Nov 3, 2026
- v0.1.2Oct 30, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts