Enables AI agents to profile data and generate interactive, production-ready chart code for JavaScript, TypeScript, or Python projects.
Also known as codexguy/regiabi-plugins, regiabi-plugins, @bicharts/chart-mcp
- Stars
- 0
- Tools
- —
- Downloads, 30 days
- 7,911
- Latest version
- 0.6.128
- Last commit
- Nov 14, 2026
- License
- MIT
What is RegiaBI MCP?
RegiaBI enables AI agents to profile data and generate interactive, production-ready chart code for JavaScript, TypeScript, or Python projects.
Summary generated from the project's README
About RegiaBI MCP server
RegiaBI apps provides an MCP server designed to help developers transform raw data into interactive, production-ready visualizations. By connecting to AI clients like Claude Code, GitHub Copilot CLI, or Gemini CLI, the server allows agents to profile datasets and recommend specific chart types. It supports JavaScript and TypeScript projects using D3, as well as Python projects using Plotly or matplotlib.
Users can run the server locally via npx or connect to a hosted version. For local execution, the server profiles data on your machine using the assess_data_shape tool, ensuring sensitive rows do not leave your environment. When generating charts, the system uses an eligibility engine to rank approximately 90 chart types based on what the data can actually represent. While profiling is free, generating code requires a RegiaBI account, which can be authenticated via a browser sign-in or a license key provided through environment variables or a credentials file.
What you can do with it
- 1Profile local datasetsAsk your agent to analyze a CSV file to determine its structure and cardinality without uploading the actual rows.
- 2Identify compatible visualizationsRequest a list of chart types that are mathematically and logically appropriate for a specific dataset.
- 3Build Microsoft Fabric AppsUse the server to find natural views within a semantic model to suggest appropriate charts for a data application.
Written from the project's README. Every use case is checked against a quote from it.
How to install RegiaBI MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall RegiaBI MCP in Claude Code
$ claude mcp add --env 'BIC_LICENSE_KEY=<YOUR_BIC_LICENSE_KEY>' --env 'BIC_SECRET_KEY=<YOUR_BIC_SECRET_KEY>' regiabi-plugins -- npx -y @bicharts/chart-mcpInstall RegiaBI MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"regiabi-plugins": {
"command": "npx",
"args": [
"-y",
"@bicharts/chart-mcp"
],
"env": {
"BIC_LICENSE_KEY": "<YOUR_BIC_LICENSE_KEY>",
"BIC_SECRET_KEY": "<YOUR_BIC_SECRET_KEY>"
}
}
}
}Install RegiaBI MCP in VS Code
.vscode/mcp.json
{
"servers": {
"regiabi-plugins": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@bicharts/chart-mcp"
],
"env": {
"BIC_LICENSE_KEY": "<YOUR_BIC_LICENSE_KEY>",
"BIC_SECRET_KEY": "<YOUR_BIC_SECRET_KEY>"
}
}
}
}Install RegiaBI MCP in VS Code CLI
$ code --add-mcp '{"name":"regiabi-plugins","type":"stdio","command":"npx","args":["-y","@bicharts/chart-mcp"],"env":{"BIC_LICENSE_KEY":"<YOUR_BIC_LICENSE_KEY>","BIC_SECRET_KEY":"<YOUR_BIC_SECRET_KEY>"}}'Install RegiaBI MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"regiabi-plugins": {
"command": "npx",
"args": [
"-y",
"@bicharts/chart-mcp"
],
"env": {
"BIC_LICENSE_KEY": "<YOUR_BIC_LICENSE_KEY>",
"BIC_SECRET_KEY": "<YOUR_BIC_SECRET_KEY>"
}
}
}
}Install RegiaBI MCP in Codex
$ codex mcp add regiabi-plugins --env 'BIC_LICENSE_KEY=<YOUR_BIC_LICENSE_KEY>' --env 'BIC_SECRET_KEY=<YOUR_BIC_SECRET_KEY>' -- npx -y @bicharts/chart-mcpInstall RegiaBI MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.regiabi-plugins] command = "npx" args = ["-y", "@bicharts/chart-mcp"] [mcp_servers.regiabi-plugins.env] BIC_LICENSE_KEY = "<YOUR_BIC_LICENSE_KEY>" BIC_SECRET_KEY = "<YOUR_BIC_SECRET_KEY>"
Install RegiaBI MCP in Gemini CLI
$ gemini mcp add -s user -e 'BIC_LICENSE_KEY=<YOUR_BIC_LICENSE_KEY>' -e 'BIC_SECRET_KEY=<YOUR_BIC_SECRET_KEY>' regiabi-plugins npx -- -y @bicharts/chart-mcpInstall RegiaBI MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"regiabi-plugins": {
"command": "npx",
"args": [
"-y",
"@bicharts/chart-mcp"
],
"env": {
"BIC_LICENSE_KEY": "<YOUR_BIC_LICENSE_KEY>",
"BIC_SECRET_KEY": "<YOUR_BIC_SECRET_KEY>"
}
}
}
}Configuration
BIC_LICENSE_KEYSecretOptional. The license key for that account, with BIC_LICENSEE, instead of signing in. Authoring needs a trial or paid account; running a generated chart needs nothing.
BIC_SECRET_KEYSecretOptional secret key, if your account uses one.
BIC_LICENSEEOptional. Leave it unset and the first chart call opens your browser to sign in (or create a free account). Set it with BIC_LICENSE_KEY to use a license key instead, for machines with no browser.
BIC_MCP_QUERY_ROW_CAPOptional. The most rows a semantic-model query keeps (default 250000, at most 1000000, Power BI's own ceiling). Raising it costs time and memory on every call that reads the rows.
| Name | Description | |
|---|---|---|
| BIC_LICENSE_KEY | Optional. The license key for that account, with BIC_LICENSEE, instead of signing in. Authoring needs a trial or paid account; running a generated chart needs nothing. | Secret |
| BIC_SECRET_KEY | Optional secret key, if your account uses one. | Secret |
| BIC_LICENSEE | Optional. Leave it unset and the first chart call opens your browser to sign in (or create a free account). Set it with BIC_LICENSE_KEY to use a license key instead, for machines with no browser. | |
| BIC_MCP_QUERY_ROW_CAP | Optional. The most rows a semantic-model query keeps (default 250000, at most 1000000, Power BI's own ceiling). Raising it costs time and memory on every call that reads the rows. |
Automated checks
Ran Nov 12, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablePass
- Open source license (OSI)Pass
- Commit or release in the last yearPass
- Package name not close to a popular packagePass
- Remote endpoint uses HTTPSPass
- Destructive tools are labelledNot checked
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesPass
README
View on GitHubRegiaBI: an MCP server and agent plugin
Make Generative AI for Data Apps and Maps Better.
AI Data Components for Power BI, Excel, Fabric Apps and the web: complete apps first, such as a what-if projection with its controls inside the chart and a table a reader works with, then maps such as a bivariate map with its two-way key, and about 90 everyday chart types, with selection and cross-filtering already wired. The code is yours: you pay to author a chart, never to run it.
This repository packages the RegiaBI chart MCP server (com.regiabi/chart-mcp, published on npm as
@bicharts/chart-mcp) and its agent skill as a one-command
plugin for Claude Code, GitHub Copilot CLI, Codex and Gemini CLI. It holds the plugin manifests, the pinned server
command and the skill. The server itself is the npm package. The Claude Code plugin connects to the same server
hosted by RegiaBI instead of running it on your machine (see Claude Code).
What it does
Give your coding agent a table (a CSV, a dataframe, or a query result from a semantic model) and it gets back working, interactive chart code that fits that data:
- It profiles your data locally. Row counts, cardinalities, measures versus dimensions, dates, places. No data leaves your machine for this step.
- It ranks about 90 chart types by what the data can honestly show, using a server-side eligibility engine rather than a guess, so a map is only offered when there are places to map and a sankey only when there are flows.
- It returns verified source you own: D3 for JavaScript and TypeScript projects, Plotly or matplotlib for Python. The code has already passed render checks. It needs no license, no account and no connection to us to run, deploy or ship, for any number of viewers.
The tools:
| Tool | What it's for |
|---|---|
assess_data_shape |
Profiles a table locally. Free, and needs no account. |
list_eligible_charts |
The authoritative list of chart types that fit this data, ranked for your project's language. |
suggest_charts |
For a Microsoft Fabric App over a semantic model: finds the model's natural views and what fits each, in one call. |
generate_chart |
Writes the chart: code, data and wiring for @bicharts/chart-host (open source), into your project. |
Install
Claude Code
/plugin marketplace add codexguy/regiabi-plugins
/plugin install regiabi-charts@regiabi
The Claude Code plugin connects to RegiaBI's hosted server at https://bizintelligencechampions.com/mcp. Claude
Code signs you in through your browser the first time a tool needs your account (run /mcp if it doesn't ask).
The hosted server profiles each table in memory and drops its rows; it can't read or write your files, so it
returns each chart's code in the reply, and your agent writes it into your project.
Building a Fabric App, or want the charts written straight to disk? setup_fabric_app, suggest_charts,
query_semantic_model and generate_chart's out_dir need the server running on your machine. Add it alongside
the plugin:
claude mcp add bic-chart-local -- npx -y @bicharts/chart-mcp@0.6.117
GitHub Copilot CLI
copilot plugin marketplace add codexguy/regiabi-plugins
copilot plugin install regiabi-charts@regiabi
Codex
codex plugin marketplace add codexguy/regiabi-plugins
Then install RegiaBI apps from the Plugins Directory.
Gemini CLI
gemini extensions install https://github.com/codexguy/regiabi-plugins
Any other MCP client
VS Code, Cursor, Claude Desktop and any other MCP client can run the server directly:
{
"mcpServers": {
"bic-chart": {
"command": "npx",
"args": ["-y", "@bicharts/chart-mcp"]
}
}
}
Configure
Nothing, usually. Writing a chart needs a RegiaBI account; running a chart you've already generated needs nothing.
Sign in when it asks. The first time your agent calls a tool that needs an account, the server opens your
browser at bizintelligencechampions.com. Sign in, or create a free account (it comes with a free trial), and click
Allow. The call your agent made then finishes by itself. The server keeps the sign-in in ~/.bic/oauth.json
and renews it on its own, and you can sign a device out at any time from your account page.
Or use a license key (a machine with no browser, CI, a container). Leave sign-in alone and give the server your account's credentials instead, in one of two ways:
-
As environment variables on the server:
BIC_LICENSEEandBIC_LICENSE_KEY, plusBIC_SECRET_KEYif your account uses one. -
A credentials file, so no secret ever sits in a project's committed config. Put this in
~/.bic/credentials.json(or pointBIC_CREDENTIALS_FILEat another path):{ "licensee": "...", "licenseKey": "..." }
A key, when one is set, always wins over a sign-in. A key applies to the server on your machine; the hosted server behind the Claude Code plugin always uses the browser sign-in.
Use
Ask your agent for the chart you want, in plain words, in the project you want it in. For example:
Assess the shape of ./sales.csv, tell me which charts fit it, then generate the best one into ./charts.
The agent profiles the file, asks the server which chart types fit, and writes the chart's code and data into
./charts, ready to import. The skill this plugin installs walks the agent through the rest: wiring
cross-filtering between charts, sizing and theming are the host library's job, so the agent doesn't write them.
Building a Microsoft Fabric App? Scaffold it from Rayfin's data app template, then ask your agent which charts
suit your semantic model. suggest_charts answers from the model's own numbers.
What it runs, sends and fetches
- Signing in opens your browser at
bizintelligencechampions.comonce; the server then keeps an access token and a refresh token in~/.bic/oauth.json(readable only by you) and sends the access token with each call to the service. - It runs one local process:
npx -y @bicharts/chart-mcp@<version>, the exact version the plugin pins. npm downloads that package from the public npm registry the first time. The Claude Code plugin runs nothing on your machine: it connects tohttps://bizintelligencechampions.com/mcp, which receives the tables your agent sends it, profiles them in memory and stores no rows. assess_data_shapesends nothing. It profiles your data on your machine.list_eligible_charts,suggest_chartsandgenerate_chartcall the RegiaBI service atbizintelligencechampions.comwith your account's credentials and a profile of your table: column names, types, counts and summary statistics. By default no rows are sent; aprivacy_levelargument can send less (names only) or more (obfuscated sample rows).suggest_chartsqueries your semantic model through your Fabric App project's ownfabric-app-dataCLI, signed in as you, and sends the service the same kind of profile.- It writes the generated chart code and its data into the folder you ask for, and nowhere else.
- Telemetry: one row when
generate_charthands code over (the call's duration, the row count, the language and the server's build) and one when a generation fails after the service answered. No data, and no usage counter: the service counts calls from the requests it receives. SetBIC_MCP_TELEMETRY=0in the server's environment to turn both rows off. - Signing in sends this computer's name (its hostname), so the sign-in shows up on your account page and you can sign that machine out on its own.
check_appasks the npm registry for the latest versions of the packages your app uses (check_npm: falseskips it), andpreview.htmlloads d3 and mermaid from cdn.jsdelivr.net when you open it (it's only written when you passpreview_html: true).
Learn more
- RegiaBI for developers: docs, examples and live demos
@bicharts/chart-mcpon npm: every tool's parameters and results@bicharts/chart-host: the open-source library that runs the charts- The official MCP Registry listing
Support and terms
- Support: a paid RegiaBI subscription includes direct support from
the people who build the engine (setup, sign-in, a call that fails, a chart that didn't come out right), and a
license you already hold for one of our Power BI or Excel visuals counts. Quote the
correlationIdfrom the result. - The server and the service it calls are covered by the RegiaBI Programmatic Access Terms and the privacy policy. The server's own license ships in its npm package.
- The files in this repository (the plugin manifests, the README and the skill) are under the MIT license in LICENSE. They contain no server source.
RegiaBI MCP questions
How do I add RegiaBI MCP to Claude Code?
Run claude mcp add --env 'BIC_LICENSE_KEY=<YOUR_BIC_LICENSE_KEY>' --env 'BIC_SECRET_KEY=<YOUR_BIC_SECRET_KEY>' regiabi-plugins -- npx -y @bicharts/chart-mcp in your terminal. Add --scope user to make it available in every project.
How do I add RegiaBI MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
Does my data leave my machine during profiling?
No, the profiling step happens locally on your machine and no data leaves for this step.
What programming languages are supported for the generated code?
The server provides D3 for JavaScript and TypeScript projects, and Plotly or matplotlib for Python projects.
How do I authenticate with the server?
You can sign in via a browser-based OAuth flow or use a license key provided through environment variables or a credentials file.