Fresh WBR MCP
Dynamic Weekly Business Review (WBR) dashboard generator, deployed as an MCP server. Queries AWS Athena, auto-discovers metrics across multiple reporting lenses, and renders a full-featured interactive HTML dashboard.
Features
- Multi-lens dashboard — Overall, Channel, City, GL, Fresh Express views in one report
- Auto-discovering — new metrics and segments appear automatically from data
- Interactive — collapsible sections, lens filtering, metric focus, theme switcher
- Real per-segment data — each city/channel/GL shows actual values from Athena
- Tamper protection — DOM mutation observer prevents client-side value editing
- Key Movements — auto-generated insights from data
- Top/Bottom Movers — highlights best and worst performing metrics
- No credentials in code — uses ambient AWS credentials via CLI
Quick Start (uvx)
export WBR_ATHENA_DATABASE=your_database
export WBR_ATHENA_VIEW=your_wbr_view
export WBR_ATHENA_OUTPUT_LOCATION=s3://your-athena-results-bucket/
export WBR_ATHENA_REGION=us-east-1
uvx fresh-wbr-mcp
MCP Configuration
{
"mcpServers": {
"fresh-wbr": {
"command": "uvx",
"args": ["fresh-wbr-mcp"],
"env": {
"WBR_ATHENA_DATABASE": "your_database",
"WBR_ATHENA_VIEW": "your_wbr_view",
"WBR_ATHENA_OUTPUT_LOCATION": "s3://your-bucket/athena-results/",
"WBR_ATHENA_REGION": "us-east-1"
}
}
}
}
Tools
generate_wbr
Generate the full leadership WBR dashboard.
generate_wbr()
generate_wbr(output_path="my_report.html")
Dashboard Features
| Feature | Description |
|---|---|
| Reporting Lens | Filter by: All, Overall, Channel, City, GL, Seller, Fresh Express |
| Metric Sections | Growth & Demand, Conversion & Basket, Availability & Selection, Price Competitiveness |
| Collapse/Expand | Collapse lenses, lens values, or metric sections independently |
| Theme Switcher | Dark mode (default) or Soft Light mode |
| Top/Bottom Movers | Auto-detected from WoW changes |
| Key Movements | AI-generated insights from metric trends |
| Data Quality | Alerts for missing goals, new/unmapped metrics |
| Export | PDF/Print, Excel download, Copy table |
| Refresh | Smooth animated page refresh |
| Tamper Protection | DOM observer prevents inspect-element value editing |
Expected Data Schema
Your Athena view must have these columns:
| Column | Type | Description |
|---|---|---|
level |
string | Hierarchy level (01_Fresh, 02_Channel, 04_City, 06_GL) |
level_value |
string | Segment name (city/channel/GL name) |
metric |
string | Metric name |
uom |
string | Unit of measure |
metric_type_num_topic |
number | Sort order |
time_period |
string | "Week" or "Month" |
time_period_val |
string | Period label (26-W-20, 26-M-06) |
time_period_sort |
number | Sortable period (202620) |
actual_topic |
number | Actual value |
goal_topic |
number | Goal value |
vs_goal_topic |
number | Variance vs goal (%) |
vs_last_period_topic |
number | Variance vs prior period (%) |
Environment Variables
| Variable | Required | Description |
|---|---|---|
WBR_ATHENA_DATABASE |
✅ | Athena database name |
WBR_ATHENA_VIEW |
✅ | Table/view to query |
WBR_ATHENA_OUTPUT_LOCATION |
✅ | S3 path for query results |
WBR_ATHENA_REGION |
❌ | AWS region (default: us-east-1) |
Project Structure
fresh_wbr_mcp/
├── __init__.py
├── __main__.py # MCP server entry point
├── data_fetcher.py # Athena query builder
├── processor.py # Data → dashboard format
├── renderer.py # Injects data into template
├── server.py # Core generation logic
└── templates/
└── wbr_leadership.html # Full dashboard template
License
MIT
Credits
Created by @mondalbh • Owned by CoBRA BIE Team
Metadata
Release files for fresh-wbr-mcp 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| fresh_wbr_mcp-0.2.0.tar.gz | 46.1 kB | Without provenance | Details for fresh_wbr_mcp-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| fresh_wbr_mcp-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for fresh_wbr_mcp-0.2.0-py3-none-any.whl |
Total release size: 92.6 kB
Release files / fresh_wbr_mcp-0.2.0.tar.gz
| Download URL | fresh_wbr_mcp-0.2.0.tar.gz |
|---|---|
| Size | 46.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1747a14f4308044db8786050bed829ae2f129f9552a75ad93a269693b27826b8
|
|
BLAKE2b-256 checksum How to use checksums |
68632d6f03cb9936e347d234429a12dc028f9e440c106f10f6449e7c5a16f5a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / fresh_wbr_mcp-0.2.0-py3-none-any.whl
| Download URL | fresh_wbr_mcp-0.2.0-py3-none-any.whl |
|---|---|
| Size | 46.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5ecb6ee6434d8641237e4f124e8b4afff45ea825d5df791e6a7a07ddf3e0001b
|
|
BLAKE2b-256 checksum How to use checksums |
ebe2b9d0be95fde572d1c0462179f94fb29ac5e8ad9259c0fe6b722c4a5d13e6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Security for fresh-wbr-mcp 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.