1. Conduid
  2. Science
  3. Django Chainsaw
MCP server · Science

Django Chainsaw

Finds what will hurt in a Django project: cascades, N+1, unsafe migrations, tenant leaks.

Unclaimed science
37Low

Scored a month ago · breakdown

About Django Chainsaw

Django Chainsaw is an MCP server published by syrian963 in the Science category: finds what will hurt in a Django project: cascades, N+1, unsafe migrations, tenant leaks.

Recent commit activity is the strongest signal that reported issues will get attention.

Install

uvx
uvx django-chainsaw-mcp
pip
pip install django-chainsaw-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (30)

bypassed_effectsBulk writes that skip everything the `save()` chain promised.

Parameters not published.

celery_arguments**What the worker actually receives**, and whether it can even be called.

Parameters not published.

checkRun everything that applies, one severity-sorted list, one exit code.

Parameters not published.

choice_typosLiterals a field's `choices` will never match: valid SQL, zero rows, no exception.

Parameters not published.

dangling_referencesURL names, templates, signal senders and Celery tasks nothing will resolve.

Parameters not published.

datetime_auditNaive datetimes and field defaults that break when the clock moves.

Parameters not published.

defeated_prefetchesPrefetches paid for and then re-queried by the accessor that reads them.

Parameters not published.

delete_impactDelete one row: what cascades, what blocks, what gets nulled. Transitive.

Parameters not published.

deploy_safety**Is this destructive migration safe to ship yet?**

Parameters not published.

endpoint_costHow many queries one request costs, before anybody sends one.

Parameters not published.

Show all 30 tools
escaping_side_effectsMail and tasks fired inside a transaction that can still roll back.

Parameters not published.

explain_model**Everything about one model, plus the risks only visible combined.**

Parameters not published.

find_n_plus_oneRelation traversals in a template that each cost a query, and the fix.

Parameters not published.

find_unscoped_queries**Which queries read data the caller may not own?** The IDOR shape.

Parameters not published.

list_modelsEvery model with fields, relation kind, direction and `on_delete`.

Parameters not published.

migration_riskMigrations rated: blocks writes, rewrites the table, breaks running code.

Parameters not published.

missing_indexesFields the code filters or sorts on that carry no index.

Parameters not published.

money_precision**Where a decimal amount stops being exact.**

Parameters not published.

multiplied_aggregatesCounts and sums multiplied by a join across two multi-valued relations.

Parameters not published.

open_endpointsSensitive fields on endpoints anybody can call.

Parameters not published.

project_infoDoes the target project load at all? Run this first when something is broken.

Parameters not published.

queries_in_loopsQueries written inside a loop, split by which of three fixes applies.

Parameters not published.

race_conditionsCounters read into Python, changed, and saved. Also unsafe upserts.

Parameters not published.

request_impactEvery finding grouped by the entry points that reach it, so the question becomes which endpoint to fix.

Parameters not published.

scan_templatesThe same across a directory, resolving context from views.

Parameters not published.

serializer_exposureWhat DRF serializers expose, including what the next migration will add.

Parameters not published.

serializer_nplusoneN+1 in DRF serializers, which is where it lives in an API project.

Parameters not published.

suggest_fixes**Findings turned into code, grouped by how safe each one is to apply.**

Parameters not published.

unused_eager_loadingJoins and prefetches nothing in the response reads.

Parameters not published.

what_happens_on**What does this save actually trigger?** Follows the signal chain.

Parameters not published.

Ask AI

✦

Ask AI about Django Chainsaw

Powered by Claude · Grounded in docs

I know everything about Django Chainsaw. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

6 checks have not been run yet.

Releases

v0.1.5v0.1.5 · 10 Sep 2026[0.1.5] - 2026-09-10 A delivery release. Both changes were already on `main`; neither had reached anybody, because the places people actually read are the published package and the PyPI page, and a merge updates neither. Changed The PyPI…
v0.1.4v0.1.4 — a prefetch paid for and then thrown away · 9 Sep 2026[0.1.4] - 2026-09-09 Added `defeated_prefetches`: a relation that was prefetched and then re-queried anyway. `prefetch_related` fills a cache on each parent object, and the related manager hands it back only to the accessors that can…
v0.1.3v0.1.3 · 9 Sep 2026[0.1.3] - 2026-09-09 Changed The release publishes itself to the MCP registry. Three releases meant three GitHub device flows, and the registry token expired during two of them in the window between the PyPI upload and the registry call,…
v0.1.2v0.1.2 · 9 Sep 2026[0.1.2] - 2026-09-09 Found by installing 0.1.1 from PyPI into a clean environment and running it against a project it had never seen. Every test before this one used the source tree, which is not what anybody else gets. Fixed A third of…
v0.1.1v0.1.1 · 9 Sep 2026[0.1.1] - 2026-09-09 Registry publication only. No behaviour changed. The MCP registry will not list a server unless the PyPI package can be shown to belong to the same person, and the proof it looks for is a line in the README as…
Questions

About Django Chainsaw

How do I install Django Chainsaw?

Run uvx django-chainsaw-mcp, then add the server to your MCP client's configuration.

Is Django Chainsaw safe to use with an AI agent?

Its trust score is 37 out of 100 (low). Conduid hasn't run static security checks on this repository yet, so review the source yourself before granting it credentials. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Django Chainsaw still maintained?

Yes — the latest release is v0.1.5 (10 Sep 2026), and the last commit was a month ago. The repository has 0 stars.