{"id":"c4cf79c3-fdbe-4e50-8db9-a015391e91b2","slug":"agentsmeristem","kind":"mcp","name":"AgentsMeristem","summary":"Lineage-native root-cause for any AI agent. When data breaks, AgentsMeristem walks the DataHub lineage graph to the real upstream cause, probes the actual data, and writes the finding back as a DataHu","owner":"Vector897","repoUrl":"https://github.com/Vector897/AgentsMeristem","license":"Apache-2.0","licenseTier":"permissive","trust":"community","stars":0,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-07-10T13:12:36.000Z","addedAt":"2026-10-28T21:26:57.826Z","logoUrl":"https://avatars.githubusercontent.com/u/242271150?v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["data-analytics","cloud-infra","memory-knowledge"],"tags":["ai-agents","data-lineage","data-observability","data-quality","datahub","fastapi","incident-management","llm"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-28T21:27:30.880Z","sample":false,"url":"https://conduits.dev/tools/agentsmeristem","language":"Python","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"<p align=\"center\"><img src=\"Logo.png\" alt=\"AgentsMeristem\" width=\"150\"></p>\n\n<h1 align=\"center\">AgentsMeristem</h1>\n\n<p align=\"center\"><b>Infrastructure for the agent ecosystem. Any agent can use it.</b></p>\n\n<p align=\"center\">\nAgentsMeristem gives any AI agent a <b>lineage-native root-cause sense</b> —\nthe shared foundation your whole agent stack roots into.\n</p>\n\n> Licensed under Apache-2.0 · Runs local, zero data egress\n\n---\n\n## What it is\n\nWhen data breaks, an agent shouldn't guess. AgentsMeristem detects an anomaly, **traces it through the DataHub lineage graph** to the real upstream root cause, and **writes the finding back** so the next person — or the next agent — inherits it. The reasoning core is a **fine-tuned 7B model that runs local**: your data never leaves the network.\n\nIt ships in two forms:\n\n- **A capability layer** any agent plugs into — as an **MCP tool**, a **DataHub Skill**, or a **Python SDK**.\n- **A reference product** — a root-cause console you can use directly, with a landing page that demos the embed-in-your-agent flow.\n\n## Architecture\n\n<p align=\"center\"><img src=\"Architecture.png\" alt=\"AgentsMeristem architecture\" width=\"760\"></p>\n\n## One engine, many incidents\n\n<p align=\"center\"><img src=\"six_scenarios.png\" alt=\"One engine, six data-incident scenarios\" width=\"760\"></p>\n\nThe same lineage-reasoning core, triggered by different signals:\n\n| Scenario | Question it answers | Demo datapack |\n|---|---|---|\n| Freshness incident | \"The report went stale — which upstream job is stuck?\" | nyc-taxi |\n| Quality collapse | \"A column went null — which change introduced it?\" | healthcare |\n| Schema drift | \"Who breaks if I edit this column?\" | ecommerce |\n| PII spread | \"Where did this sensitive field flow downstream?\" | healthcare |\n| Cost attribution | \"What is the source of this costly query?\" | extension |\n| Compliance provenance | \"Prove this model's training data is clean.\" | extension |\n\n> Three vignettes, one capability:\n> *3 a.m., an on-call engineer* stares at an empty revenue dashboard — AgentsMeristem walks the lineage and answers in seconds: \"the upstream Airflow job failed last night.\"\n> *Tuesday afternoon, an analyst* wants to drop a column — it checks forward lineage first: \"don't — three dashboards and an ML feature still read it.\"\n> *Quarter-end, a compliance lead* needs provenance — it traces back to source and produces an auditable trail.\n\n## Open-source contribution\n\nWe gave the DataHub-native baseline of this workflow back to the community as a new\nskill, **`datahub-triage`**, in the official skills registry:\n[datahub-project/datahub-skills#32](https://github.com/datahub-project/datahub-skills/pull/32).\nIt localizes a failure using catalog-level signals (lineage, health, assertions,\nincidents); AgentsMeristem extends it by probing the actual warehouse data for the\nissues that are invisible in metadata. See [`packages/agentsmeristem-skill/`](packages/agentsmeristem-skill/).\n\n## Status\n\nWorking end-to-end on real data. Two scenarios run against a live DataHub:\n\n- **Freshness** ([`examples/freshness_demo.py`](examples/freshness_demo.py)) — a stale mart is localized to the staging stage that lags its source, then an incident is written back.\n- **Data quality** ([`examples/quality_demo.py`](examples/quality_demo.py)) — a bad mart is localized to the origin defect, selectively (a billing symptom → the billing defect, not an unrelated one).\n- **Any agent, via MCP** ([`examples/mcp_client_check.py`](examples/mcp_client_check.py)) — the same tools driven over the MCP protocol.\n\n## License\n\n[Apache-2.0](LICENSE) © 2026 Vector897\n"}