Zebra BI
com.zebrabiPublished by zebrabi.comOfficial publisherv1.0.2Updated Nov 7, 2026
Draw business data as interactive IBCS-style Zebra BI charts and tables.
Overview
Zebra BI MCP renders aggregated business figures as interactive IBCS-style charts and tables inline in the conversation, showing variances.
- What you can do
- Render a chart from aggregated figures: send actuals with previous year, plan or forecast and get an interactive IBCS-style Zebra BI visual, or a text summary on hosts without MCP Apps support.
- Explain variances: compare actuals against previous year, previous month, plan or forecast.
- Build data stories: turn a dataset into a key message, three to five findings and a chart for each.
- Find and remember data sources such as local CSV or Excel, SharePoint or OneDrive files, or a Power BI semantic model.
- Produce shareable files on request: an A4 PDF, a Claude artifact page, or a PowerPoint deck and Excel workbook with live Zebra BI visuals.
- When to use it
- Useful when you want business figures, variances and controller-style data stories presented as IBCS charts inside an AI conversation, and occasionally exported as PDF, PowerPoint or Excel for sharing.
- Requirements
- Remote MCP endpoint at mcp.zebrabi.com; no package or local runtime for the connector itself. The MCP asks for sign-in, and the story scripts sign in separately via an OAuth flow that stores a token locally. The PDF, artifact and Office skills need Claude Code, python3 (standard library only) and a Chromium-based browser. Live Office visuals need the Zebra BI Charts or Tables add-in and its licence.
Installation
In SourceWeft
- Open Zebra BI in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/com.zebrabi%2Fzebra-bi/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config.
{
"mcpServers": {
"zebra-bi": {
"type": "http",
"url": "https://mcp.zebrabi.com/mcp"
}
}
}README
Zebra BI plugin
The Zebra BI plugin bundles the Zebra BI MCP connector with the skills that put it to work, in one install for AI assistants such as Claude, ChatGPT and GitHub Copilot Chat, and for coding agents such as Claude Code, Codex and Copilot CLI. The connector draws your business data as interactive IBCS-style charts and tables, inline in the conversation. The skills tell your assistant when to use it and how, for variances, data stories and files to share. The plugin comes in Claude's format and in Agent Plugins, the format VS Code, Copilot CLI, ChatGPT and Codex read. Any other MCP client can connect to the Zebra BI MCP on its own.
The MCP has one tool, render_visual. Your assistant or agent sends it aggregated figures, such as actuals with a previous year, plan or forecast, and Zebra BI draws the variances. Hosts that support MCP Apps show the interactive visual; the others show a text summary of what was drawn.
The skills add three things on top of the tool:
- Charts and variances. When and how to show business figures as a Zebra BI visual, and how to explain actuals against previous year, previous month, plan or forecast.
- Data stories. Hand your assistant or agent a dataset and get back the story a controller would tell: one key message, the three to five findings that prove it, and a Zebra BI chart for each one. Every number comes from a computation on your data, and the story never adds a cause the data does not show.
- Files to share. One A4 PDF of a story, or a PowerPoint deck and an Excel workbook with live Zebra BI for Office visuals, in your company's brand. Made only when someone asks for a file.
Skills
In Claude Code the skills run as /zebra-bi:<skill>, for example:
Install
[Install the MCP in VS Code] [Install the MCP in VS Code Insiders]
The MCP URL is https://mcp.zebrabi.com.
- Claude Code:
/plugin marketplace add zebrabi/zebra-bi, then/plugin install zebra-bi@zebrabi. Installs the MCP and the skills. - VS Code: run "Chat: Install Plugin From Source" and enter
https://github.com/zebrabi/zebra-bi. Installs the MCP and the skills. The VS Code buttons above install the MCP only. - claude.ai, Claude Desktop and Cowork: add the MCP URL as a custom connector under Settings > Connectors. This adds the MCP only.
- ChatGPT: in developer mode, add the MCP URL with "Add custom MCP server". This adds the MCP only.
Where the charts draw. Claude Desktop chat and claude.ai show the visual inline. The Claude Code desktop tab draws it only through the MCP added as a connector in the Claude Desktop app (step 3). The plugin's own copy, which Claude Code loads too, returns the chart's data, so the skills use the connector when both are there. The Claude Code terminal cannot show MCP Apps and prints the chart data instead.
Data stories and files. data-story works wherever the MCP is connected. The .zebra/ folder, the PDF, the artifact page and the Office files need Claude Code, python3 (standard library only) and Google Chrome, Microsoft Edge or Chromium. In Claude chat or Cowork, story-pdf, story-artifact and story-office hand over the story as JSON instead of building a file. Readers need the Zebra BI Charts or Tables for Office add-in, and its licence, to see the Office visuals live.
What this plugin sends and runs
- The MCP. The skills call
render_visualonce per chart. Each call sends the chart's arguments: the category and period labels, the aggregated values per scenario and the titles. The labels are your data's own values, so a chart by customer or employee sends those names; leave out anything that should not leave your machine. Each skill says so in one line before its first chart. The source file is never sent. A chart that fails to render is reported to Zebra's error monitoring together with the arguments that were sent. story-pdf,story-artifactandstory-office. Their Python scripts send the same chart arguments to the same MCP over HTTPS and printSending <n> chart(s) to <endpoint>first. A chart whose arguments did not change is reused from.zebra/stories/<story>/visuals/. Once a day they download the chart renderer (theui://pagerender_visualnames intools/list) and cache it in$CLAUDE_PLUGIN_DATA, or in~/.cache/zebra-biwhen that is not set. A renderer or chart fetched from another MCP address is never reused. The plugin sends no telemetry.- The artifact page.
story-artifactpublishes the page and a picture of each chart to claude.ai as a private artifact, which its owner shares from the page's Share menu. It holds the story's aggregated numbers, not the source data. With--liveit also carries the Zebra BI renderer, which draws the charts in each reader's browser. - A local browser.
story-pdf,story-artifact,story-officeand thestory-brandpreview start Chrome, Edge or Chromium headless, with a throwaway profile and its background traffic (updates, sync, metrics, safe-browsing lists) turned off. The scripts drive it over a private pipe that no other program can reach; on Windows over a remote-debugging port bound to 127.0.0.1. The browser closes when the file is done. - A web font, if a brand sets one. With
fonts.web_cssset, the headless browser loads that stylesheet while it builds the PDF, and an artifact page loads it in every reader's browser, so the font host (for an artifact, always Google Fonts) sees each reader's address. The default brand sets none. - What is written. Files under
.zebra/in your working folder (sources, stories, brand, and the PDF, PowerPoint and Excel files) and the renderer cache. A source read from SharePoint or a Power BI model keeps a full copy of the sheet or query result in.zebra/sources/. Nothing keeps.zebra/out of git, so add it to.gitignorewhen the working folder is a repository and the data is confidential. - Sign-in. The MCP asks for sign-in, and the scripts sign in on their own, apart from the connector:
python3 -I scripts/story.py sign-inopens the Zebra BI sign-in page in your browser (OAuth with PKCE, answered on a 127.0.0.1 port) and keeps the token inauth.jsonnext to the renderer cache, readable only by you. Sign-in stops when the MCP's sign-in metadata names another server. The token is sent only to the MCP it was issued for, and to its sign-in server to refresh or revoke it. Without a valid token a build stops withZebra BI needs sign-inand writes no file.story.py sign-outrevokes and forgets every kept sign-in, an older MCP address included.
Help
- Documentation and support: https://help.zebrabi.com/
- Email: [email protected]
- Privacy policy: https://zebrabi.com/legal/?doc=privacy-policy
- Terms: https://zebrabi.com/legal/
Repository layout
CONTRIBUTING.md covers the internals and how to run the checks.
Versions
The plugin and the MCP carry separate versions. Every plugin release bumps version in .claude-plugin/plugin.json and plugin.json, because Claude Code updates an install only when version changes and third-party marketplaces do not update plugins automatically; the release workflow makes that bump, and CI checks the two match and that every manifest carries the same MCP URL. The MCP server, its version and its MCP Registry entry are released from its own repository.
Releases are cut from develop; CONTRIBUTING.md covers how.
License
Source: README.md at commit 7654ae8
Tools
0Version history
3- v1.0.2LatestNov 5, 2026
- v1.0.1Nov 4, 2026
- v1.0.0Nov 3, 2026
Score
83% 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 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listedRequired15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- LicenseNot applicable
A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.