ripple
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., "@rippletriage "urn:li:dataset:(urn:li:dataPlatform:snowflake,prod.raw.orders_raw,PROD)""
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.
ripple
A data-incident triage agent for DataHub.
Given a broken asset, it traverses downstream lineage across every platform, ranks the affected assets by criticality, resolves the owners to notify, and records the incident back into the catalog.
Overview
When a table breaks, the immediate questions are which downstream assets are affected, how serious the failure is, and who needs to be informed. Answering them manually means traversing lineage across several platforms and cross-referencing ownership metadata.
ripple performs that traversal in a single command and then writes the result back to the catalog, so the incident is recorded where the affected asset is documented rather than only in a terminal.
Related MCP server: dbt-investigator
Requirements
A running DataHub instance. A local
datahub docker quickstartdeployment is sufficient.Python 3.10 or later.
An API token, available from
~/.datahubenv.
Installation
uv pip install -e .
cp .env.example .env # set DATAHUB_GMS_TOKENTo evaluate it against a realistic scenario:
python demo/seed_incident_demo.py
python -m ripple triage "urn:li:dataset:(urn:li:dataPlatform:snowflake,prod.raw.orders_raw,PROD)"Without a DataHub instance available, the browser-based simulator demonstrates the same workflow — selecting any table breaks it and runs the triage locally.
Commands
Command | Description |
| Downstream blast radius, ranked, with catalog write-back |
| Report only; the catalog is not modified |
| Adds column-level impact and raises an Incident entity |
| Traverses upstream and ranks likely sources |
| Polls for broken assets and triages them automatically |
| Serves the read-only dashboard on port 8000 |
Capabilities
Blast radius. A single URN yields the complete downstream set: every affected table, view, and dashboard across all lineage hops, ranked by criticality with an automatically assigned severity. A customer-facing dashboard entering the affected set raises the incident to SEV1.
Root cause analysis. Reversing the traversal ranks the probable sources of incorrect data, ordered from the nearest raw table outward, so investigation begins where data enters the system rather than where the symptom appeared.
Column-level impact. Fine-grained lineage identifies the specific column deriving from the broken field, rather than reporting only that a dashboard is affected.
Ownership resolution. Owners are resolved across the blast radius, with those responsible for customer-facing assets surfaced first.
Catalog write-back. The incident is recorded against the affected asset:
Written | Aspect |
|
|
Triage runbook in the documentation panel |
|
A first-class incident on the asset |
|
Automatic triggering. A watch loop polls for broken assets and triages them without intervention. Substituting DataHub assertion-failure events for the detector makes the process fully automatic.
Two interfaces. A terminal interface presenting a severity banner, lineage tree, ranked table, and recommended actions; and a read-only web dashboard with an interactive lineage graph and light and dark themes. The graph is hand-authored SVG with no charting library or CDN dependency.
Architecture
broken URN
│
▼
┌── read ────────────────┐ searchAcrossLineage (MCP / SDK)
│ downstream lineage, │──▶ DataHub GMS
│ owners, columns │
├── reason ──────────────┤
│ rank by criticality, │──▶ severity (SEV1–3)
│ draft the narrative │──▶ LLM
├── write ───────────────┤
│ tag · runbook · │──▶ DataHub GMS
│ Incident entity │
└────────────────────────┘The separation between stages is deliberate. Lineage traversal, owner resolution, and ranking are implemented in code, so the same input produces the same output on every run. A language model is used solely to compose the human-readable report.
No determination of what is affected, how severe the incident is, or who should be notified is produced by a model. This is what makes the output suitable to act on during an incident, and what makes the results reproducible.
Project structure
ripple/
├── ripple/ The agent — client · triage · report · watch · ui · web
├── demo/ Seeds a source → 5 tables → 3 dashboards scenario
├── docs/ Landing page and in-browser simulator
├── examples/ Sample generated incident reports
└── skills/ Incident-triage skill definitionLicense
Apache-2.0 — see LICENSE.
Contributors
Development assisted by aider using local models through Ollama: qwen2.5-coder:7b for code and llama3.1:8b for prose.
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.
Related MCP Servers
- AlicenseCqualityCmaintenanceIncident Triage MCP is a Model Context Protocol (MCP) server for incident triage. It provides safe, auditable tools for evidence retrieval, deterministic summaries, ticket workflows, and notifications.28Apache 2.0
- Flicense-qualityBmaintenanceEnables AI clients to automatically investigate dbt test failures, trace root cause through BigQuery lineage, and generate plain-English incident reports.1
- Alicense-qualityBmaintenanceEnables autonomous SRE incident investigation by allowing users to describe incidents in natural language. The agent follows a governed state machine to gather read-only evidence and produce grounded conclusions.MIT
- AlicenseAqualityCmaintenanceEnables agents to resolve data incidents by preparing remediation, inspecting verification results, and staging for human approval, while integrating with DataHub for evidence.5Apache 2.0
Related MCP Connectors
AI agent run monitoring with incident replay and SLA receipts.
The grounded data layer for any LLM: governed SQL, metrics, lineage and catalog over your data.
Define, ship & query your analytics tracking from one source of truth, trusted by humans and agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/chakri192/ripple'
If you have feedback or need assistance with the MCP directory API, please join our Discord server