# Fusee > Fusee is self-hosted, Sentry-compatible error and CI-failure tracking > (Go + Dolt). You are reading the live agent instructions for the backend at > https://fusee.work. Fusee's primary interface for a coding agent is an MCP server: > your agent lists the bugs Fusee captured, reads the stack trace and > diagnostic context, fixes the code in your editor, and marks the issue > resolved — your repo never crosses the network. ## Which instance you are on This document came from https://fusee.work, and that is the only backend it describes. Every URL below is absolute against it on purpose. fusee.work and faultline.live are SEPARATE INSTANCES of Fusee — the same code, but a database, an account list and a project list each, with no data moving between them: - fusee.work — the current hosted instance. Use it for a new setup. - faultline.live — the original hosted instance, still running unchanged. Use it if the user already has an account, projects or DSNs there. There is no migration. - a self-hosted instance (localhost or the operator's own domain) — same token model and JSON API as both of the above. An account or token minted on one instance is rejected by the others, and a DSN names the instance that issued it. Do not mix hosts: read the host out of the user's own DSN, or out of this document's URLs, and stay on it. ## Wire your agent into this backend (https://fusee.work) The MCP server is this backend's endpoint, served over MCP Streamable HTTP. There is nothing to install: https://fusee.work/mcp 1. Mint an API token (it starts with "fl_"): https://fusee.work/dashboard/account/tokens 2. Register the endpoint with your client, passing the token as a header. Claude Code: claude mcp add --transport http fusee https://fusee.work/mcp \ --header "Authorization: Bearer fl_..." Cursor, Windsurf and other clients that read mcp.json: { "mcpServers": { "fusee": { "url": "https://fusee.work/mcp", "headers": { "Authorization": "Bearer fl_..." } } } } Clients that add a connector by URL (the Claude mobile, web and desktop apps: Settings -> Connectors -> Add custom connector) can skip the token on the hosted service: they discover the OAuth flow from the 401 and walk the user through signing in and approving. The grant is an fl_ token listed (and revocable) at https://fusee.work/dashboard/account/tokens. ## Tools your agent gets - list_issues — open bugs for the current project - get_issue — full detail on one bug (root cause, fix metadata) - get_issue_context — stack trace + breadcrumbs + device/OS + last event - list_events — recent events for an issue (useful for flaky bugs) - mark_resolved — close a bug with root cause + fix explanation + commit SHA - snooze — defer a bug until a date, with a reason - capture_learning — record a forward-looking lesson (pattern + prevention) so each fix makes future triage smarter - list_learnings — list this project's captured learnings; check them when triaging a new issue - select_project — list projects and pick the active one The first tool response prints a one-line banner naming the backend and the resolved project, so you know immediately where you are pointed. ## Which project am I working in? Append ?project_id=N to the endpoint URL to pin a project. Otherwise a token that sees exactly one project uses it, and select_project picks among several. A repo tracked on more than one backend has a different id on each. ## Talk to the JSON API directly (no MCP) Same data, REST shape, Bearer-token auth (Authorization: Bearer fl_...): GET https://fusee.work/api/{project_id}/issues/ GET https://fusee.work/api/{project_id}/issues/{issue_id}/ GET https://fusee.work/api/{project_id}/issues/{issue_id}/context/ GET https://fusee.work/api/{project_id}/issues/{issue_id}/events/ PATCH https://fusee.work/api/{project_id}/issues/{issue_id}/ (resolve) POST https://fusee.work/api/{project_id}/issues/{issue_id}/snooze/ ## More - https://fusee.work/mcp — human-facing page: what the endpoint is and how to connect - https://github.com/outdoorsea/faultline — source