MCP server for key driver and feature importance analysis based on rule mining
Project description
key-drivers-mcp
MCP server for key driver and feature importance analysis. Load any CSV dataset and ask what drives an outcome — survival, credit default, diagnosis, income — and get a ranked breakdown with sub-driver analysis showing not just which factors matter, but how they combine to amplify or completely reverse each other.
Powered by araxai (CleverMiner association rule analysis).
Configuration
Add this to your MCP client config (e.g. Claude Code .mcp.json). No installation needed — uvx fetches and runs the package automatically.
{
"mcpServers": {
"key-drivers": {
"type": "stdio",
"command": "uvx",
"args": ["key-drivers-mcp"]
}
}
}
No
uv? Install it withpip install uv, or usepipx install key-drivers-mcpand set"command": "key-drivers-mcp"instead.
Tools
| Tool | Purpose |
|---|---|
load_dataset |
Load a CSV file into session memory |
list_datasets |
List all loaded datasets |
find_drivers |
Find key drivers of a target outcome |
explain_segment |
Driver analysis conditioned on a segment variable (CLARA) |
Examples
Titanic — what drove survival?
"What are the key drivers to survive in titanic.csv?"
Baseline survival rate: 38.4%
| Driver | Survival rate | vs Baseline |
|---|---|---|
| Sex: female | 74.2% | 1.9× higher |
| Sex: male | 18.9% | 2.0× lower |
| Low fare ≤ £10.50 | 20.9% | 1.8× lower |
| Deck D | 75.8% | 2.0× higher |
Sub-drivers are returned automatically. Within male passengers, 1st class men recovered to 36.9% — nearly double the male average. Within low-fare passengers, women still survived at 60.8% while men reached only 10.7%.
Titanic — drill-down from global to a specific segment
"And within women in 3rd class, what helped survival?"
The global result shows sex as the top driver (women 74.2%, men 18.9%). Sub-drivers within women immediately reveal that 3rd class women dropped to 50% — a coin flip, far below the female average. That triggers a follow-up with filters={"sex": "female", "pclass": "3"}:
144 women in 3rd class — segment baseline: 50%
| Driver | Survival rate | vs Segment baseline |
|---|---|---|
| Embarked at Queenstown | 72.7% | 1.5× higher |
| Fare £6.75–£7.77 | 72.4% | 1.4× higher |
| Embarked at Southampton | 37.5% | 1.3× lower |
Queenstown passengers (mostly Irish emigrants boarding late in small groups) survived at nearly twice the rate of Southampton passengers — a pattern completely invisible in the global analysis. Each drill-down level answers a narrower question using the previous result as the starting point.
German Credit — how factors combine and reverse each other
"What are the key drivers for good credit?"
Baseline: 70% good credit rating
An overdrawn checking account drops approval to 50.7% — but the sub-driver analysis shows the outcome depends sharply on what else is true:
| Profile | Good credit rate | vs Baseline |
|---|---|---|
| Overdrawn checking account | 50.7% | 1.4× lower |
| Overdrawn + loan duration > 24 months | 34.4% | 2.0× lower |
| Overdrawn + critical credit history | 73.1% | back to baseline |
| Long loan duration > 30 months | 52.0% | 1.3× lower |
| Long loan + no property | 38.9% | 1.8× lower |
| Long loan + no checking account | 79.3% | 1.1× higher |
The same risk factor (overdrawn account) leads to very different outcomes depending on credit history. Borrowers with no checking account are actually safer on long loans — likely self-employed or asset-wealthy.
Diabetes — combinations push risk above 80%
"What are the key drivers for testing positive for diabetes?"
Baseline: 34.9% positive
| Driver | Probability | vs Baseline |
|---|---|---|
| Glucose > 147 mg/dL | 74.3% | 2.1× higher |
| Glucose > 147 + age 27–33 | 88.5% | 2.5× higher |
| Glucose > 147 + BMI 33.7–37.8 | 84.2% | 2.4× higher |
| Glucose > 147 + many pregnancies (>7) | 85.7% | 2.5× higher |
| Glucose ≤ 109 mg/dL | 14.0% | 2.5× lower |
| Age ≤ 23 | 13.3% | 2.6× lower |
High glucose is already a strong signal (74%), but combining it with age 27–33, elevated BMI, or high pregnancy count pushes risk above 84%. The tool surfaces these compound profiles in a single call.
Income — education can completely override marital status
"What drives income above $50K for women specifically?"
Using filters={"sex": "Female"} — women's baseline: 10.9% (vs 23.9% overall):
| Profile | >50K rate | vs Women's baseline |
|---|---|---|
| Doctorate | 56.6% | 5.2× higher |
| Prof-school | 47.7% | 4.4× higher |
| Doctorate + married | 88.0% | 8.1× higher |
| Prof-school + married | 84.2% | 7.7× higher |
| Prof-school + never-married | 35.7% | 3.3× higher |
| Own-child relationship | 1.2% | 9.0× lower |
Never-married women with a doctorate still reach 35.7% — three times the women's baseline — showing that education fully overrides the marital status penalty. The same inversion appears in the overall dataset: never-married alone → 4.5%, but never-married + Doctorate → 44.3%, almost twice the global baseline.
How it works
araxai uses association rule analysis (CleverMiner) to find statistically significant rules that explain why a target class occurs. Each driver rule reports:
- probability — how often the target class occurs in that segment
- vs_global_baseline — lift relative to the whole dataset
- vs_parent_segment — lift relative to the parent rule (for sub-drivers)
- strength —
+/-signs indicating rule reliability
Numeric columns are automatically binned into quantiles. The server enriches every top-level driver with a sub-analysis, so compound profiles like "overdrawn + long loan" or "high glucose + age 27–33" are returned in a single call.
Requirements
- Python 3.11+
araxai >= 0.3.0mcp[cli] >= 1.0.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file key_drivers_mcp-0.1.1.tar.gz.
File metadata
- Download URL: key_drivers_mcp-0.1.1.tar.gz
- Upload date:
- Size: 20.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
031338dde8fd7ae40de1e7f576d2295d6340d6bbf1504a1ce667bab4ffd72454
|
|
| MD5 |
c6092600fc6fc4faa3aebe25135c4e15
|
|
| BLAKE2b-256 |
e04a5a141e1838732475dca5440c7a690b8d42f9c24c9fe3161b8fc0479ab97f
|
File details
Details for the file key_drivers_mcp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: key_drivers_mcp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 21.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1068729e669e1a21df588faf50808ce6346ab500c2f4c6abbef0661a0df3063c
|
|
| MD5 |
ee05e69ed86fc06831c3df04cee947d0
|
|
| BLAKE2b-256 |
031d9c46a5e78df98d2873983ecc7ec6899ac67b82a407f4f4958815cc8b2379
|