The faultline MCP server lets Claude, Claude Code, Cursor, and any MCP-compatible client list, diagnose, and resolve your app's errors — with your permission.
https://faultline.live/mcp That URL is the MCP endpoint itself, served over Streamable HTTP. An MCP client that opens it gets the tools; a browser gets this page.
Faultline is Sentry-compatible error tracking. The MCP server turns a recurring error into a unit of agent work: the agent sees the issue, reads the evidence, ships the fix, and closes the loop, all without leaving the editor or the chat.
list_issues ranks the project's open issues by recency and volume; get_issue returns one in full, including who resolved it last and when it regressed.
get_issue_context hands the agent the stack trace, breadcrumbs, and device or runtime context in one call; list_events pages through recent occurrences when one trace isn't enough.
mark_resolved closes an issue after the fix; snooze defers one with a reason; capture_learning and list_learnings keep what was learned about a fingerprint for the next agent that meets it.
Plus select_project to re-scope mid-session and create_project to start a new one. Every call is checked against the connecting account's token, so an agent sees exactly the projects its owner does.
Two ways in, both against this host. Pick the one your client supports.
Open Settings → Connectors → Add custom connector and paste this URL. Claude sends you here to sign in and approve the connection; from then on the tools above are available in any chat, on phone, web or desktop.
https://faultline.live/mcpApproving mints an fl_ token named after the client. It is listed, and revocable, at Account → API tokens.
Register the endpoint as an HTTP MCP server and pass an fl_ token in the Authorization header. Mint one at Account → API tokens after you sign in.
claude mcp add --transport http faultline https://faultline.live/mcp \
--header "Authorization: Bearer fl_…"Cursor, Windsurf and friends take the same URL and header in their mcp.json under a url key.
Which project? There is no repo to detect one from, so pin it with ?project_id=N on the URL. Otherwise a token that sees one project uses it, and the agent calls select_project when there are several.
For anyone writing or debugging a client. Everything below is standard MCP Streamable HTTP with OAuth discovery; nothing is faultline-specific except the tools.
WWW-Authenticate header names the resource metadata below.Accept: text/event-stream, the server-to-client event stream. Any other GET, such as a browser's, gets this page.https://faultline.live/.well-known/oauth-protected-resource/mcp (RFC 9728) says which authorization server issues tokens for this endpoint.https://faultline.live/.well-known/oauth-authorization-server (RFC 8414) advertises dynamic client registration and a PKCE authorization-code flow. The flow ends in an ordinary fl_ token.Wiring an agent up programmatically? The machine-readable version of this page is at /llms.txt.
Editors that launch MCP servers as a subprocess can run the same tool set from a local binary, faultline-mcp, which talks to this host's JSON API with your token. It can also detect the project from a repo's git remote, which the remote endpoint cannot. Version: latest.
macOS / Linux one-liner:
curl -fsSL https://faultline.live/mcp/install.sh | bashThen point your editor at the binary. Same shape across Cursor, Claude Code, and Windsurf — adjust the command path to wherever you saved it, and use an fl_ token from Account → API tokens.
{
"mcpServers": {
"faultline": {
"command": "/usr/local/bin/faultline-mcp",
"env": {
"FAULTLINE_API_TOKEN": "fl_…",
"FAULTLINE_BASE_URL": "https://faultline.live"
}
}
}
}Optional: drop a .faultline.json file in any repo with a project_id field, and the MCP server will auto-scope to that project. Otherwise it tries the FAULTLINE_PROJECT_ID env var, then a git-remote lookup against your faultline projects. Update later with faultline-mcp update.
The faultline CLI lists, resolves, and ignores issues straight from your shell.