Open source · MIT licensed

Incident knowledge,
on demand.

Hydrant is an MCP server that indexes your team's Slack threads, Linear tickets, GitHub runbooks and Notion docs into one searchable knowledge graph — so any AI agent can answer incident questions with citations in seconds.

Self-hosted Postgres + pgvector Works with any MCP-compatible agent
#incident-auth-401sjust now
hydrantAPP

Diagnosis JWT_ACCESS_EXPIRATION_MINUTES = 0 in src/config/config.js. Confidence: HIGH.

Suspect PR #2 by @henning

Owner @alice-platform per CODEOWNERS

past Slack thread Linear CLI-5 auth-runbook.md
Indexes & answers from
Slack Linear GitHub NotionWorks with Claude Code · Cursor · Cline · Codex CLI · Continue
How it works

One knowledge layer.
Three honest steps.

01
Index

Hydrant indexes Slack, Linear, GitHub and Notion into a unified Postgres + pgvector knowledge graph. Cron-driven, idempotent, self-hosted.

02
Search & synthesize

17 MCP tools expose hybrid semantic search, graph traversal, and cross-source synthesis. The agent picks what it needs.

03
Answer with citations

Any MCP-compatible agent calls Hydrant and posts a cited answer back to your incident channel — with deep links to every source.

Why Hydrant

Built for the on-call engineer at 2 a.m.

The first ten minutes of an incident decide everything. Hydrant collapses context-gathering from hours into seconds.

Cross-source synthesis

Not just search across silos. Synthesis — one question, one cited answer drawing from every source at once.

Sub-second retrieval

HNSW vector index on Postgres + pgvector. Graph traversal and kNN fused into a single SQL query path.

Self-hosted, your data

Runs on your infrastructure. Your tokens, your Postgres, your embeddings. No third-party SaaS in the loop.

Standards-based

Speaks the Model Context Protocol. One server, many agents — Claude Code, Cursor, Cline, Codex, Continue, more.

The knowledge graph

A live look at how the
nodes connect.

Hydrant stores every Slack thread, Linear ticket, GitHub artefact and Notion page as a typed node. Their relationships — references, blame, ownership, semantic similarity — are first-class edges. Hover a node to trace its blast radius; click one to inspect the underlying record.

graph · incident blast radius live1,284 nodes · 3,912 edges · live●
auth 401s in prodINCIDENT · SEV-1#oncallSlack channel+38 channelsCLI-21Linear issue+184 issues#2PR merged+312 PRs38e7e9COMMIT+1,247 commitssrc/config/config.jsFILE+643 files@alice-platformOWNER+27 ownersAuth incident runbookNOTION PAGE+96 pages
incidentSlackLinearPRcommitfileownerNotionpgvector kNN + graph traversal in one query
See it run

One prompt. About two minutes.
Full incident context.

What happens after a developer types "auth is broken — diagnose" into their MCP-enabled agent. Real tool calls. Real timings from a recorded run.

hydrant · tool stream
22/22 events
[ 0s]Incident detected — #incident-auth-401s
[ 2s]Your agent received the prompt — reading runbook
[ 6s]mcp.get_runbook("incident flow", k=5)
[ 8s]5 chunks · docs/runbooks/incident-flow.md (842 ms)
[ 10s]mcp.get_node(282)
[ 12s]Full incident-flow.md loaded (210 ms)
[ 15s]mcp.diagnose_incident("Auth 401s after deploy")
[ 24s]6 similar incidents · 2 runbook hits · owner @chetan (8.4 s)
[ 27s]mcp.trace_issue(#3)
[ 36s]Issue context · 8 suspect files · top: src/config/config.js (7.1 s)
[ 40s]mcp.get_pr_diff(#2)
[ 47s]src/config/config.js — default(30) → default(0) (4.2 s)
[ 51s]mcp.git_blame(src/config/config.js, L30-35)
[ 55s]commit 38e7e901… by Henning (310 ms)
[ 58s]mcp.who_owns(src/config/config.js)
[ 60s]@alice-platform · CODEOWNERS rule * (47 ms)
[ 63s]Synthesizing diagnosis with citations…
[ 88s]mcp.create_linear_issue("Auth 401s — JWT expiry regression")
[ 96s]CLI-36 opened ↗
[101s]mcp.create_slack_channel("incident-…-auth-401s")
[113s]Channel created · 2 users invited · synthesis posted ↗
[118s]✓ Done — whole on-call team has context.
Install

Up and running in five minutes.

Clone, drop in your tokens, point your AI agent at the MCP server. That's it.

terminal
# 1. Clone & install
git clone https://github.com/the-public-works/hydrant
cd hydrant && make setup

# 2. Add your tokens
cp .env.example .env
$EDITOR .env   # GITHUB_TOKEN, OPENAI_API_KEY (· SLACK · LINEAR · NOTION)

# 3. Index your sources
make index-github REPO=owner/repo
make index-slack
make index-linear

# 4. Run the MCP server
make demo
Wire it into your agent

Hydrant speaks the standard Model Context Protocol — drop the server into any MCP client.

  • Claude Codeclaude mcp add hydrant
  • ClineAdd hydrant to .cline/mcp.json
  • Claude DesktopAdd to claude_desktop_config.json
  • Cursor / Continue / CodexStandard MCP stdio transport
Full setup guide
MCP tools

Seventeen tools. Four families.

Every tool is typed, documented, and callable from any MCP client.

Cross-source synthesis

Fan out across every source, return one cited answer.

  • search_contextkNN search scoped to a single repo or workspace
  • search_allCross-source kNN — Slack · Linear · GitHub · Notion
  • diagnose_incidentComposite — similar incidents + runbook + owner
  • find_similar_incidentsPast incidents ranked by semantic similarity
  • trace_issueIssue → suspect code → recent PRs touching it
GitHub-flavored

Code, runbooks, PRs, blame, ownership.

  • get_pr_diffPR metadata + per-file diff
  • git_blameBlame with enriched commit/PR nodes
  • get_runbookMatching runbook sections from indexed docs
  • who_ownsCODEOWNERS lookup, last-rule-wins semantics
  • list_reposWhat's indexed and how much
Slack

Spin up incident channels, post synthesis back.

  • create_slack_channelCreate #incident-… on demand, optionally pre-post the synthesis
  • post_to_slackPost into an indexed channel by name or ID
Linear

Open tickets, comment, update status — keep the trail tight.

  • create_linear_issueOpen a tracking ticket with markdown body
  • add_linear_commentComment on an existing ticket
  • update_linear_issueMove state, change priority
Architecture

Sources → Hydrant → Your agent.

Three layers. No magic — every box is open code.

Sources
Indexers run on cron
Slack
Threads · messages
Linear
Issues · comments
GitHub
PRs · runbooks · code
Notion
Docs · runbooks
Coming soon
Sentry
Alerts · errors
soon
Jira
Tickets · epics
soon

Connector API is open — fork & drop in whatever your team uses.

Hydrant
MCP server
What it does
  • Cross-source synthesis with cited deep-links
  • 17 MCP tools — search, traverse, write back
  • Slack & Linear write tools (post the answer back)
  • Sub-second retrieval at repo-scale
Under the hood
  • Postgres + pgvector knowledge graph
  • HNSW vector search + edge traversal
  • OpenAI embeddings (text-embedding-3-small, 1536-dim)
  • FastMCP stdio transport · self-hosted
Your agent
Any MCP client
Cline
VSCode agent
Claude Code
Anthropic CLI
Claude Desktop
App
Codex CLI
OpenAI agent
Cursor
AI-first IDE
Continue
VSCode / JetBrains
MCP standard
…any MCP client
stdio transport · plug & play
Use cases

Try these in your agent.

Diagnose a live incident
> Auth is throwing 401s in prod. Diagnose, open a Linear ticket, and post to #incident-channel.
Onboard a new engineer
> What is the payment service? Who owns it, how do we deploy, and where do past incidents live?
Review a risky PR
> Why is this PR changing auth config? Find prior incidents involving the same file.
Capture tribal knowledge
> Summarize how we handled the last 5 sev-1s. What's the common pattern?
Get in touch

Want help deploying
Hydrant at your team?

We're picking design partners for Hydrant Cloud — hosted indexers, OAuth source connections, team auth, audit logs. Self-hosting Hydrant stays free forever; the hosted version is for teams that don't want to run their own Postgres.

Drop us a note — we read every email, and we'd rather talk to ten teams in detail than send a hundred drip emails.

Email both of uschetan + henningchetanbadgujar92@gmail.com · henning.noren@hotmail.comDM directlyChetan on LinkedInDM directlyHenning on LinkedIn

No newsletter, no drip emails — we'll only follow up if you ask. Open-source self-host stays MIT and free forever.

github.com/the-public-works/hydrant

Self-host Hydrant.
Ship faster incident response.

Free, MIT-licensed, yours to fork. Drop in your tokens, wire it into your agent, and have a working knowledge layer by lunch.

What you get
  • 17 MCP tools, fully documented
  • Slack · Linear · GitHub · Notion indexers
  • Postgres + pgvector schema & migrations
  • Docker Compose for local dev
  • Next.js demo UI (chat + graph)
  • MIT license — fork freely