tododebt
How much acknowledged debt is sitting in the codebase?
tododebt inventories the markers — TODO, FIXME, HACK by
default — across a set of source files and reports every
occurrence with its file, 1-based line number, and line text,
plus counts in total, by marker, and by file.
A marker counts only as a standalone token (the marker followed
by a non-letter), so TODOS and METHOD never false-positive,
while TODO:, FIXME(user), and // TODO all count. Only the
first marker on a line is reported. Matching is case-sensitive.
The MCP tool takes file contents as input (no disk access); the
CLI reads the files you name. Pure local computation: no
network, no configuration.
CLI
Exit codes: 0 on success (a non-empty inventory is a result,
not an error), 1 on a runtime error (including an unreadable
file), 2 on a usage error.
MCP server
MCP client config:
Tools
scan_todos — Inventory debt markers across supplied source
files.
files (array, required) — the files to scan, as
{path, content} pairs
markers (array of strings, optional) — markers to look
for; default TODO, FIXME, HACK
Docker
Development
License
MIT — Copyright (c) 2026 Rene Turcios