MCP-Native  //  Incident Knowledge

Your agents stop
repeating incidents.

FixDoc is a knowledge store your AI agents query over MCP before debugging production. Validated fixes, playbooks, and environment insights go in. Ranked, token-budgeted context comes out.

Resolve. Record. Promote.

$ pipx install fixdoc && fixdoc init
Works with Claude Code, Cursor, and any MCP client. Your knowledge is a git repo of markdown you own. Local mode makes zero network calls.
fixdoc · mcp server
// INSTALL

Get started in 60 seconds

Install, connect your agent, index your knowledge.

quick start
// HOW IT WORKS

Every incident makes the next one shorter

Four MCP tools: search_fixes, record_fix, confirm_fix, get_fix. That is the entire agent surface. Everything else, including validation and deletion, is a human act in your git repo.

01 · A symptom hits

Your agent is mid-debug on a production issue. Before guessing, it calls search_fixes with the symptom.

02 · Validated knowledge returns

Ranked entries with provenance: who validated it, how many incidents it resolved, the file it lives in. get_fix pulls any full entry by ID.

03 · The incident resolves

Minutes instead of an afternoon of rediscovery. The agent calls record_fix with what actually worked.

04 · Quarantine, then review

New entries land in quarantine. Nothing an agent writes is retrievable until a human promotes it with a PR merge. CODEOWNERS scopes who validates what.

05 · The next agent starts smarter

Once promoted, the entry ranks by proof. confirm_fix bumps its occurrence count every time it resolves a real incident. At quarter end you can say: “Fixes in FixDoc resolved 37 repeat incidents.”

// RETRIEVAL

Whole answers, ranked by proof

search_fixes returns complete fix bodies inside a token budget. Never a truncated paragraph, never a link the agent cannot follow. Ranking weighs validation status and real resolution counts, not just embedding distance.

search_fixes · response
# search_fixes("pods stuck Pending after nodepool scale-up")
fx-8a41c2  validated  occurrences: 3  similarity: 0.91
AKS pods stuck Pending after nodepool scale-up
validated_by: @platform-team · fixes/aks/pods-pending-nodepool-scaleup.md
Root cause: Azure CNI reserves max_pods IPs per node at creation, and the nodepool subnet is exhausted.
1. Confirm remaining IPs: az network vnet subnet show ... --query availableIpAddressCount
2. If near zero, add a subnet or lower max_pods on the new nodepool.
3. Do NOT delete Pending pods first. They reschedule and mask the count.
budget: 1 returned · 7 candidates · 412 / 2000 tokens
Wrong-universe filtering

An identical-sounding Databricks fix never surfaces for an AKS query. Environment metadata filters before similarity ranks.

Trust-weighted ranking

Validated entries with proven occurrence counts outrank fresh quarantine candidates. Similarity alone does not win.

Token budget

Results fit the budget you set. Whole fix bodies or nothing. A half-truncated runbook is worse than no runbook.

// TRUST MODEL

It’s your repo. We index it.

Your knowledge base is a git repository of markdown files that you own. FixDoc adds the index, the ranking, and the MCP surface. It never becomes the system of record.

Markdown in git

Every entry is a markdown file in a repo you control. Diff it, grep it, blame it, review it like code. No proprietary format, no export API.

Validation is a PR

Promotion from quarantine is a merge. CODEOWNERS decides who validates what: the database team signs off on Postgres fixes, the platform team on Kubernetes.

Leave with everything

Delete FixDoc and your knowledge is intact and readable. Full git history, plain markdown, zero migration.

Local mode

Index and embeddings are built and queried on your machine. Nothing leaves it. No account required.

// INGESTION

Tribal knowledge dies in Slack. Catch it.

The fix for last month’s outage exists. It is in a Slack thread, a closed ticket, or one engineer’s head. FixDoc drains those sources into reviewable entries. Everything imported lands in quarantine, same as agent writes.

Watch any command

fixdoc watch -- terraform apply wraps the command, tees output to your terminal, and captures failures with the error, resource address, and context. When the fix lands, it becomes an entry.

Slack import

fixdoc import slack captures fix threads using emoji reactions: issue emoji on the root message, resolution emoji on the reply that solved it.

Jira and ServiceNow

fixdoc import jira and fixdoc import servicenow turn closed tickets into entries. Close notes become resolutions. Source tags mean re-running never duplicates.

Notion import

fixdoc import notion pulls resolved incident pages. Section-aware extraction finds the Fix or Root Cause heading instead of ingesting the whole page.

// PRICING

Free where it counts

Free

Open source. Runs locally. Forever. pipx install fixdoc and you are done.

  • Unlimited entries and queries
  • All four MCP tools
  • All importers
  • Nothing leaves your machine
Team COMING SOON

Hosted shared index, a review UI for quarantine, zero ops. Your git repo stays the source of truth. Not shipped yet.

  • Hosted shared index
  • Review UI for quarantine
  • Zero ops
Watch the repo for the release →
Enterprise

For teams whose incidents cannot leave the building.

  • Self-hosted in your VPC
  • SSO and SCIM
  • Audit export for every read and write
Talk to us →
// PRIVACY & OWNERSHIP

Your data, your machine

What leaves my machine in local mode?

Nothing. The index and embeddings are built and queried locally. There is no telemetry, no account, and no network call in the query path. The only thing that moves is your git repo, and it moves where you push it.

Can an agent corrupt our knowledge base?

No. The MCP surface is four tools: search_fixes, record_fix, confirm_fix, get_fix. There is no delete tool and no admin tool by design. The worst a prompt-injected agent can do is create a quarantined entry that a human will read before it ever becomes retrievable.

Who owns the data?

You do, in the most literal sense. Every entry is a markdown file in a git repository under your account or your org. FixDoc holds an index of it, never the canonical copy.

What happens if we stop using FixDoc?

You keep everything. Uninstall FixDoc and your repo is still a readable, greppable set of markdown files with full git history. There is no export step because there is nothing to export from.

How will hosted differ when it ships?

Team moves the index and the quarantine review UI to our infrastructure so nobody on your team runs a server. The git repo remains yours, and validation remains a PR merge. It is not available yet. Until it ships, local mode is the product.