Skip to main content

RCA-MCP MCP connector — causal root-cause analysis, 55 tools, works with Claude, Ollama, Groq, OpenAI, Gemini, LangChain and more.

Project description

RCA-MCP Connector

Python License PulseMCP

⚠️ Early access. RCA-MCP's backend is live and this connector has been verified end-to-end against it. The api.rca-mcp.com custom domain isn't wired up yet — point RCA_MCP_API_URL at the current backend URL below. Tool schemas and documentation may still change before the first stable public launch.

What is RCA-MCP?

The only MCP server purpose-built for causal Root Cause Analysis. 55 tools covering causal graph construction, 13 RCA model families (including Salesforce PyRCA algorithms), multi-model consensus, and PDF/HTML/Excel/Markdown report generation. Works with Claude, Ollama, Groq, OpenAI, Gemini, LangChain — 9 providers.


Quick Start (2 minutes)

git clone https://github.com/dave1362/rca-mcp-connector.git
cd rca-mcp-connector
pip install -r requirements.txt
cp .env.example .env
# Edit .env: set RCA_MCP_API_KEY to a key created via the dashboard below

Get an API key at rca-mcp.pages.dev — a free tier is available, no credit card required.


Claude Code Setup

Add to .mcp.json in your workspace root:

{
  "mcpServers": {
    "rca-mcp": {
      "command": "python",
      "args": ["/absolute/path/to/rca-mcp-connector/connector/server.py"],
      "env": {
        "RCA_MCP_API_URL": "https://rcamcp-production.up.railway.app",
        "RCA_MCP_API_KEY": "your_api_key_here"
      }
    }
  }
}

Ollama Setup

go install github.com/mark3labs/mcphost@latest
mcphost -m ollama:qwen3:14b --config providers/mcp-servers.json

OpenAI Agents SDK

from agents import Agent, MCPServerStdio
import asyncio

async def main():
    async with MCPServerStdio(
        params={
            "command": "python",
            "args": ["connector/server.py"],
            "env": {"RCA_MCP_API_KEY": "your_key"},
        }
    ) as rca_server:
        agent = Agent(name="RCA Agent", model="gpt-4o", mcp_servers=[rca_server])
        result = await agent.run("Find the root cause of the API latency spike.")
        print(result.final_output)

asyncio.run(main())

LangChain

from langchain_mcp_adapters.client import MultiServerMCPClient
from langchain_anthropic import ChatAnthropic
from langgraph.prebuilt import create_react_agent
import asyncio

async def main():
    async with MultiServerMCPClient({
        "rca-mcp": {
            "command": "python", "args": ["connector/server.py"],
            "env": {"RCA_MCP_API_KEY": "your_key"}, "transport": "stdio",
        }
    }) as client:
        tools = await client.get_tools()
        agent = create_react_agent(ChatAnthropic(model="claude-sonnet-4-6"), tools)
        result = await agent.ainvoke({"messages": [{"role": "user", "content": "Run an FMEA analysis"}]})
        print(result["messages"][-1].content)

asyncio.run(main())

See providers/ for ready-to-use config templates and full examples (Groq, Gemini, OpenRouter, Claude Desktop).


All 55 Tools

See rca-mcp.com/pricing for full tier details and limits.

Legend: ✅ All plans · 🌟 Starter+ · 💎 Pro+ · 👑 Enterprise only

Group A — Causal Graph

Tool Plan Description
rca_graph_create Create an empty causal DAG
rca_graph_get Retrieve a graph as JSON / DOT / adjacency
rca_graph_score Structural quality scoring
rca_graph_discover 💎 Auto-discover causal structure from data (PC-algorithm)
rca_graph_merge 💎 Merge two graphs for cross-system RCA
rca_graph_list_versions 🌟 List historical graph snapshots
rca_graph_restore_version 👑 Roll back to a historical version (admin)
rca_graph_delete 👑 Delete a graph permanently (admin)

Group B — RCA Models

Tool Plan Description
rca_model_create Register a model spec (up to plan's model limit)
rca_model_list List registered models
rca_model_update_status Advance model lifecycle
rca_model_validate Validate on hold-out data
rca_model_delete 👑 Delete a model (admin)

Group C — Analysis

Tool Plan Description
rca_analysis_run Run RCA, get ranked root causes
rca_analysis_run_async 💎 Submit a long-running analysis (returns task_id)
rca_analysis_poll_task 💎 Poll an async task's status
rca_analysis_ensemble 💎 Combine 2-5 models via weighted-vote consensus
rca_analysis_get_result Retrieve a stored result
rca_analysis_list_results Paginated result listing
rca_analysis_query_results Filter results by family/confidence/tags
rca_analysis_compare Cross-model consensus comparison
rca_analysis_explain Narrative explanation of a result
rca_analysis_batch 🌟 Batch analysis (5 incidents Starter, 20 Pro+)

Group D — Graph Operations

Tool Plan Description
rca_graph_add_node Add a typed node
rca_graph_remove_node Remove a node
rca_graph_add_edge Add a directed causal edge (cycle-safe)
rca_graph_remove_edge Remove an edge
rca_graph_score_paths Rank causal paths to a target node
rca_graph_markov_blanket Get parents/children/co-parents of a node

Group E — Admin & Auth

Tool Plan Description
rca_auth_generate_token Generate API key + JWT — call this first
rca_auth_revoke_token 👑 Invalidate a JWT before expiry (admin)
rca_auth_list_keys 👑 List API keys (admin + Pro+ multi-key feature)
rca_auth_rotate_key 👑 Rotate an API key (admin + Pro+ multi-key feature)
rca_admin_health Server health snapshot
rca_admin_read_audit_log Read structured audit entries
rca_admin_purge_namespace 👑 Delete all records in a namespace (admin)
rca_admin_show_plan_info Show current plan, limits, and upgrade options

Group F — Reports & Providers

Tool Plan Description
rca_report_generate ✅/🌟/💎 Markdown all plans; HTML/PDF Starter+; Excel Pro+
rca_report_compare ✅/🌟 Comparative report; Markdown all, HTML Starter+
rca_provider_list_configs Setup instructions for any of the 9 providers

Group G — PyRCA Algorithms [PyRCA — BSD-3-Clause]

Tool Plan Description
rca_pyrca_epsilon_diagnosis 🌟 z-score anomalous metric identification
rca_pyrca_random_walk 🌟 Personalised PageRank root cause localisation
rca_pyrca_ht_diagnosis 🌟 Hypothesis testing with descendant adjustment
rca_pyrca_validate_setup Check PyRCA strategy and licence compliance

Group H — Equipment Knowledge (Phase 9)

Tool Plan Description
rca_guide_ingest 🌟 Ingest a troubleshooting guide (markdown/plain/json_dtree)
rca_guide_search Search guides by symptom (TF-IDF); Free capped at 3 results
rca_guide_get Retrieve a full guide or a specific section
rca_guide_list List ingested guides with equipment_type/tag filters
rca_dtree_start 🌟 Begin an interactive diagnostic decision-tree session
rca_dtree_answer 🌟 Answer a diagnostic question; returns next question or diagnosis
rca_dtree_list_sessions 🌟 List diagnostic sessions with equipment/status filters
rca_guide_generate_report 🌟/💎 Maintenance report from a resolved session; Markdown Starter+, PDF/HTML Pro+
rca_dtree_generate_from_fmea 🌟 Auto-generate a decision tree from FMEA results
rca_guide_pdf_preview 🌟 Preview PDF quality before ingestion
rca_guide_ingest_pdf 🌟 Parse a PDF equipment manual → knowledge base

Ships with 4 built-in sample guides (pump, vacuum interface valve, ML pipeline, CFD solver) auto-loaded on first startup, and supports 26 equipment types. PDF ingestion supports 4 parsing strategies (text_native, ocr, table, mixed).


Get an API Key

rca-mcp.com/upgrade — Free tier available, plans from $19/month (Starter), $79/month (Pro), $399/month (Enterprise).


Third-Party Licences

PyRCA (Salesforce): BSD-3-Clause Copyright (c) 2022, salesforce.com, inc. https://github.com/salesforce/PyRCA

Algorithms in rca_pyrca_* tools are independently-written adaptations of PyRCA's published methods (Zheng et al. 2023, arXiv:2306.11417), not direct copies of PyRCA source code, per the private API's models/pyrca_adapter.py.


Citing RCA-MCP

@software{rcamcp2026,
  title  = {RCA-MCP: An MCP Server for Causal Root Cause Analysis},
  author = {davetj},
  year   = {2026},
  url    = {https://github.com/dave1362/rca-mcp-connector},
  note   = {v3.0.0}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rca_mcp_connector-0.1.0.tar.gz (23.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rca_mcp_connector-0.1.0-py3-none-any.whl (24.2 kB view details)

Uploaded Python 3

File details

Details for the file rca_mcp_connector-0.1.0.tar.gz.

File metadata

  • Download URL: rca_mcp_connector-0.1.0.tar.gz
  • Upload date:
  • Size: 23.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for rca_mcp_connector-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0b902e147dd1a75948bfe3eb645c899869736888eb224904adc9ae05e6ab5248
MD5 ffc2e851421e8c2a913d083280b3fac8
BLAKE2b-256 9aec359be12cd7fea463cb8a3e8223e4ed17674f8b2a7e9c95275aab22562202

See more details on using hashes here.

File details

Details for the file rca_mcp_connector-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for rca_mcp_connector-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cd2c82cc9ab770bb7be5a8d0f66fc2ae416b6021ea208c68d8ba722b0844891a
MD5 735250dcb2ab24cf8d4c5e6fc925c65b
BLAKE2b-256 89311c069a68ada0e8c24be54dba8dbddf695a4b9958febb2a900d1f248ac432

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page