Its warning names the shape of the risk — delete, edit users, bulk modify — and points at the FogBugz API reference for the command set, so the credential's own permissions are the boundary rather than the tool list. Everything else here is deliberately narrower: the write tools take named fields, and the lookup tools exist so that an assignee, project, milestone, category or status is resolved to a real value before a case is created or moved. `list_statuses` is the one worth calling early, since it reports which statuses count as resolved in the workflow you are writing into.
A FogBugz client exposing 19 tools over the case lifecycle, FogBugz search syntax, and the people, project, area, milestone, category and status lookups a valid case needs, plus a generic XML API escape hatch.
- The case lifecycle as distinct calls: `create_case` files one with project, area, assignee, milestone and priority; `update_case` changes those fields; `assign_case` moves it to a person; and `resolve_case`, `close_case` and `reopen_case` each take a comment that lands on the case.
- Search in the syntax the tracker already speaks: `search_cases` accepts FogBugz queries such as `project:Website status:Active` or `tag:regression milestone:v2.0`, while `list_my_cases` narrows to one assignee's cases by status.
- The whole thread rather than a summary: `get_case` returns a case with its full event and comment history, and `cols` selects which fields come back.
- The lookups that make a write valid: `list_people` returns assignee names, IDs and email addresses, `list_projects` returns active projects, `list_milestones` filters by `ixProject`, `list_categories` returns category IDs and names, and `list_statuses` filters by `ixCategory` and reports whether each status counts as resolved.
- Detail behind an ID: `view_project` and `view_area` expand a numeric project or area ID, and `create_project` opens a new project with a primary contact.
- Something to paste into a thread: `get_case_link` returns a direct URL to a case that can be shared with teammates.
- An escape hatch: `api_request` sends any FogBugz XML API command with its own `params` when no dedicated tool fits.
A FogBugz instance you can reach, given as FOGBUGZ_URL, and an API key for it as FOGBUGZ_API_KEY.
One command plus a key — npx @todevs/fogbugz-mcp, then supply credentials
