AI Integration via MCP
ARIA exposes its causal analysis as tools to any AI assistant that speaks Anthropic's Model Context Protocol — Claude Desktop, Cursor, Cline, or any custom MCP client.
Server
aria-lab-server
Resources
3
Tools
3
Transport
stdio
Resources (read-only data)
lab://qc-status
Current Westgard status for every instrument-test-level combination.
lab://causal-model
DoWhy ATE results: each upstream variable's σ-effect on the QC z-score.
lab://summary
Dataset summary — record count, instruments, tests, reagent lots, date range.
Tools (callable actions)
get_qc_failures
Returns active QC failures with the Westgard rule that triggered each one.
get_root_cause
Returns the top causal factor and the full ATE table from DoWhy.
get_instrument_status
Per-instrument Westgard summary. Argument:
instrument_id (e.g. COBAS-C311-01).Wire into Claude Desktop in 30 seconds
Add this block to claude_desktop_config.json
(~/Library/Application Support/Claude/ on macOS,
%APPDATA%\Claude\ on Windows). Replace the path with your local clone.
{
"mcpServers": {
"aria": {
"command": "python",
"args": ["-m", "src.mcp.server"],
"cwd": "/absolute/path/to/ARIA"
}
}
}
What this unlocks: ask Claude things like
"Which lab QC failures are active right now?" or
"Why did the Glucose run on COBAS-C311-01 fail?" — Claude calls ARIA's tools and reads back
the causal answer. No LIMS plug-in required.
Example Transcript
YOU
Why did the most recent Glucose QC fail on COBAS-C311-01?
CLAUDE → MCP TOOL
get_instrument_status({ instrument_id: "COBAS-C311-01" })
CLAUDE
Glucose L2 on COBAS-C311-01 is failing with z = +3.21 σ (Westgard 1-3s).
ARIA's causal model attributes most of the deviation to elevated lab temperature
(28.4 °C, ATE ≈ +0.012 σ per °C above 22 °C baseline), with a smaller
contribution from reagent lot R-GLU-2024-03. Counterfactual: dropping
the temperature back to 22 °C would have produced a simulated z ≈ +1.04 σ, well
inside control limits.