Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

oncall-agent

Agentic on-call resolution: a Slack bot that triages on-call questions via a LangGraph ReAct-style loop — RAG over Slack history, runbooks via Jira/Confluence (MCP), Grafana metrics, code search — and escalates to maintainers via DM when confidence is low.

Layout

  • src/oncall_agent/agent — LangGraph state machine and tools
  • src/oncall_agent/rag — embeddings + Qdrant vector store
  • src/oncall_agent/mcp — MCP client + Atlassian / Grafana wrappers
  • src/oncall_agent/slack — Bolt event handlers and message formatting
  • src/oncall_agent/integrations/github_code.py — code search tool
  • src/oncall_agent/escalation — confidence gate → maintainer DM
  • scripts/ingest_seed.py — seed JSON → Qdrant
  • data/seed_slack.json — synthetic on-call threads

Quick start

python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env   # fill in keys

docker compose up -d qdrant
python scripts/ingest_seed.py

# run service (FastAPI + Slack Socket Mode if tokens are set)
python -m oncall_agent.app

# ask without Slack
curl -s -X POST http://localhost:8000/debug/ask \
  -H 'content-type: application/json' \
  -d '{"question":"db connection pool exhausted on checkout"}' | jq

To enable Jira/Confluence + Grafana tools:

docker compose --profile mcp up -d

Phases

A. Slack hello (this commit) → echo bot, FastAPI, /debug/ask
B. RAG ingest + retrieve CLI
C. Single-tool LangGraph agent
D. MCP Atlassian tool
E. Grafana MCP + code search + multi-hop retrieve
F. Confidence gate + escalation DM
G. Real Slack backfill

About

Agentic on-call resolution system: Slack + LangGraph + MCP + RAG (Qdrant). ReAct tool loop with confidence-gated escalation.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages