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)

3
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)

3
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

Live MCP call
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.