Skip to content
BEAD

Python Traceback Parser

Parse Python tracebacks into structured frames with chained exception handling.

json.decoder.JSONDecodeErrorExpecting value: line 1 column 1 (char 0)
FileLineFunctionSource
/app/server.py42handle_requestpayload = json.loads(body)
/usr/lib/python3.12/json/__init__.py346loadsreturn _default_decoder.decode(s)
/usr/lib/python3.12/json/decoder.py337decodeobj, end = self.raw_decode(s, idx=_w(s, 0).end())
↑ during handling of
app.errors.BadRequestErrorinvalid body
FileLineFunctionSource
/app/server.py50handle_requestraise BadRequestError("invalid body") from e
</>Use this tool programmaticallycurl · JavaScript · MCP

Same tool, callable from any HTTP client or from Claude (via MCP). Anonymous: 100 req/day per IP. Sign up for 1,000 req/day.

curl
curl https://api.b-e-a-d.com/tools/python-traceback-parser/run \
  -H "Content-Type: application/json" \
  -d '{
  "input": "your input here",
  "hideStdlib": false
}'
JavaScript (fetch)
const res = await fetch("https://api.b-e-a-d.com/tools/python-traceback-parser/run", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
  "input": "your input here",
  "hideStdlib": false
}),
});
const data = await res.json();
console.log(data.result);
MCP (Claude Desktop / Claude Code)
# In Claude Desktop / Claude Code, add to your MCP config:
{
  "mcpServers": {
    "bead": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.b-e-a-d.com"]
    }
  }
}

# Then ask Claude to call:
mcp__bead__bead_python_traceback_parser

Full reference: developer docs · OpenAPI spec

What it understands

  • Standard Traceback (most recent call last): header
  • Multi-frame call stacks with optional source-line context
  • Final exception line — type, optional module, message
  • Chained exceptions — “During handling of the above…” / “The above exception was the direct cause…”

You might also like

Used in these workflows