RGM MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@RGM MCP ServerBuild the analytical base table from sales.csv, dist.csv, and pricing.csv"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
RGM MCP Server
A Python MCP server exposing analytical tools for Revenue Growth Management (RGM) in the Consumer Goods and Services space. Designed to work with flat-file exports from NIQ / NielsenIQ (CSV or Parquet).
Tools
Tool | Description |
| Show the required and optional column schema for each NIQ input file before you start |
| Join NIQ sales + distribution + pricing exports into a clean, model-ready Analytical Base Table (ABT) with log-transformed columns |
| OLS log-log regression → own-price & cross-price elasticity per segment (market, channel, SKU, etc.) |
| Rolling-baseline lift %, incremental volume/revenue, and trade ROI per promo event |
| Grid-search over ±N% price moves to find the revenue-maximising price given a margin floor and elasticity |
| Greedy ROI-ranked promo event scheduling within total budget + max-events-per-SKU constraints |
| Volume-weighted Competitive Price Index (own price / competitor price × 100) by category / brand / pack size / market |
Related MCP server: pricepilot-mcp
Requirements
Python 3.10+
Dependencies:
fastmcp,pandas,pyarrow,numpy,scipy
Setup
# 1. Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate # macOS/Linux
.\.venv\Scripts\activate # Windows
# 2. Install dependencies
pip install -r requirements.txtRunning locally (stdio — for use with Bob / Claude Desktop)
python src/server.pyRegister in your MCP client config (mcp.json):
{
"mcpServers": {
"rgm-mcp-server": {
"command": "/absolute/path/to/.venv/bin/python",
"args": ["/absolute/path/to/src/server.py"]
}
}
}Typical workflow
Check the input schema for your NIQ files:
"What columns do I need in my NIQ sales file?"
Build the ABT from your NIQ exports:
"Build me the analytical base table from sales.csv, dist.csv, and pricing.csv, save to abt.csv"
Compute price elasticities by market:
"What are the price elasticities by market from abt.csv?"
Score past promos:
"Score promo effectiveness by market from abt.csv"
Get pricing recommendations (uses elasticity output):
"Recommend prices for Chicago and New York given a 30% margin floor and COGS of $5"
Build the promo calendar:
"Optimise a promo calendar for H2 2025 with a $200k budget"
Competitive price indexing:
"Compute the competitive price index for BrandA across all markets"
NIQ input file schemas
Call get_nielsen_input_schema() at any time to get the full column spec. Quick reference:
sales file (sales_file)
Column | Type | Required | Description |
| date | ✅ | Week- or month-ending date (YYYY-MM-DD) |
| string | ✅ | SKU / Universal Product Code |
| string | ✅ | NIQ retail geography |
| string | ✅ | Trade channel (Grocery, Liquor, Club, etc.) |
| numeric | ✅ | Units sold in the period |
| numeric | ✅ | Dollar revenue in the period |
| numeric | ✅ | Average shelf price (USD, no $ symbol) |
| string | — | Brand name (required for CPI tool) |
| string | — | Category / sub-category |
| string | — | Pack size / volume format |
| 0 / 1 | — | 1 = promoted week (required for promo tools) |
| numeric | — | Trade spend in USD (required for promo ROI) |
distribution file (distribution_file)
Column | Type | Required | Description |
| date | ✅ | Must match sales file exactly |
| string | ✅ | Must match sales file exactly |
| string | ✅ | Must match sales file exactly |
| string | ✅ | Must match sales file exactly |
| numeric | ✅ | NIQ TDP (% ACV weighted distribution) |
pricing file (pricing_file)
Column | Type | Required | Description |
| date | ✅ | Must match sales file exactly |
| string | ✅ | Must match sales file exactly |
| string | ✅ | Must match sales file exactly |
| string | ✅ | Must match sales file exactly |
| string | ✅ | Competitor brand name |
| numeric | ✅ | Competitor average shelf price (USD) |
| numeric | — | Own price (can be omitted if in sales file) |
All three files are joined on
period_end_date + upc + market + channel. Values must match exactly (case-sensitive) across files.All column names can be overridden via tool parameters when calling each tool.
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/KARANNARESHMAKIM/rgm-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server