
Errorcatalog
io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 3, 2026
Catalogue every error a codebase throws, and whether each message is documented.
Overview
Errorcatalog's local MCP server; no sign-in required; STDIO.
No AI overview yet: these facts come from the registry entry and the server itself.
Installation
In SourceWeft
- Open Errorcatalog in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
errorcatalog
Every error message thrown in a codebase, catalogued — and, when you supply the documentation, a note of whether each message is documented.
errorcatalog scans source text line by line for throw
statements of the form throw new <Name>Error(...), where the
type name ends in Error (Error, TypeError, RangeError,
or a custom type such as FooError). For each throw site it
records the file, the 1-based line, the error type, and:
- literal — the first argument is a double-quoted,
single-quoted, or backtick string with no
${in it. The message is recorded exactly as written, escape sequences included — nothing is unescaped. - dynamic — the first argument is anything else: a
template containing
${, an identifier, a call, a concatenation, or a literal that does not close on the same line. The message isnull. - no message —
throw new <Name>Error()with no argument at all. The message isnulland the entry carries the noteno message argument.
Throws that are not new <Name>Error(...) — a bare string, a
non-Error constructor, a variable — are not catalogued.
Duplicate throws stay as separate entries: the catalog is per
throw site.
When documentation texts are supplied, each literal message
is checked verbatim against them: documented is true when
the message appears as a substring of some supplied doc,
false when it does not, and null for dynamic and no-message
entries — and for every entry when no docs are supplied, in
which case the result reports docs_provided: false and the
documented / undocumented counts are both 0.
Known limitation, by design: only the first line of a throw statement is inspected, so a literal whose argument list spans lines is catalogued as dynamic. The analysis is pure local text work: no network, no filesystem access in the core.
CLI
sources.json and docs.json each contain a JSON array of
{"path": "src/app.ts", "content": "..."} objects. The
--docs flag is optional. The catalog is printed as JSON.
Exit codes: 0 on success, 1 on a runtime error (including
an unreadable or invalid JSON file, or a malformed entry —
the error names the offending path, e.g.
sources[0].content is required), 2 on a usage error.
MCP server
MCP client config:
Tools
-
catalog_errors— Catalogue every error thrown in the given sources, and whether each literal message is documented.sources(array, required, at least 1) — source files as{path, content}objectsdocs(array, optional) — documentation texts as{path, content}objects; literal messages are checked verbatim against them
Returns
{errors, counts, docs_provided}, where each error is{path, line, error_type, message, dynamic, documented}(plusnoteon no-message entries) and counts is{total, literal, dynamic, no_message, documented, undocumented}.
Docker
Development
License
MIT — Copyright (c) 2026 Rene Turcios
Source: README.md at commit b2d1052
Tools
0Version history
1- v0.1.0LatestNov 3, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts