Skip to content

feat(private-server): expose incidents and issues over MCP#276

Merged
passcod merged 1 commit into
mainfrom
mcp-incidents-issues
Jun 25, 2026
Merged

feat(private-server): expose incidents and issues over MCP#276
passcod merged 1 commit into
mainfrom
mcp-incidents-issues

Conversation

@passcod

@passcod passcod commented Jun 25, 2026

Copy link
Copy Markdown
Member

🤖 Extends the read-only MCP query interface to cover incidents and issues, so an agent can answer questions like "summarise all incidents that were open in the past week".

New tools

  • find_incidents — incidents that were open at any point in a look-back window (default 7 days), optionally for one group, each with status (open/closed/resolved), opened/closed/resolved timing, who resolved it and why, whether it escalated, and issue/event counts. A status filter narrows to open or resolved.
  • get_incident — one incident plus the issues attached to it (severity, source, ref, message, owning server, active state, join/leave times).
  • find_issues — issues across the fleet, filtered by active state, severity, group, server, and recency.
  • get_issue — one issue plus its recent events and the incidents it is or was part of.

Notes

  • New DB query Incident::list_open_since implements "open at any point in the window" (still open, or closed no earlier than the window start) — not just "opened within it".
  • Added an optional since filter to IssueListFilters/Issue::list for issue recency; the existing handler is unchanged behaviourally (passes None).
  • Backup/incident health classifications continue to reuse the existing definitions; no new query semantics invented.
  • Not added to openapi.json — MCP self-describes via tools/list, and no REST handler signatures changed.

Spec updated in .workhorse/specs/private-server/mcp.md.

Add four read-only MCP tools: find_incidents (incidents open at any point in
a look-back window, default 7 days, optionally one group, with status/timing/
counts), get_incident (incident + attached issues), find_issues (filter by
active state, severity, group, server, recency), and get_issue (issue +
recent events + linked incidents).

New DB queries: Incident::list_open_since for the time-window scan, and a
'since' filter on IssueListFilters/Issue::list for issue recency.

Spec: .workhorse/specs/private-server/mcp.md

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@passcod passcod enabled auto-merge June 25, 2026 06:09
@passcod passcod added this pull request to the merge queue Jun 25, 2026
Merged via the queue into main with commit 8670ab4 Jun 25, 2026
12 of 14 checks passed
@passcod passcod deleted the mcp-incidents-issues branch June 25, 2026 06:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant