Django Chainsaw MCP server
Finds what will hurt in a Django project: cascades, N+1, unsafe migrations, tenant leaks.
0 stars107 downloads/wk
Reviews
Write oneNobody has reviewed Django Chainsaw yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Django Chainsaw tools (37, 4 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
amplificationEndpoints anyone can call that cost a great deal to answer.
api_contractThe shape every serializer currently promises its clients.
api_contract_checkWhat this branch changes about the API, and who it breaks.
blocking_in_asyncSynchronous calls that run on the event loop.
bypassed_effectsBulk writes that skip everything the model's save() chain promised.
celery_argumentsModel instances handed to Celery tasks, and calls whose arity is wrong.
checkwrite actionRun every analysis and return one severity-sorted list.
choice_typosLiterals compared against a field whose `choices` will never match them.
dangling_referencesURL names and template names that nothing will resolve.
datetime_auditNaive datetimes in code, and ambiguous defaults on model fields.
defeated_prefetchesRelations that were prefetched and then re-queried anyway.
delete_impactwrite actionShow what deleting one row of a model would take with it.
deploy_safetywrite actionIs a pending destructive migration safe to deploy yet?
endpoint_costHow many queries one request to each endpoint will cost.
escaping_side_effectsCalls inside a transaction whose effect cannot be rolled back.
explain_modelEverything known about one model, and the risks only visible combined.
fastapi_exposurefind_n_plus_oneFind relation traversals in a template that each cost a query.
find_unscoped_queriesFind querysets that read tenant-scoped data without scoping the query.
list_modelsList the project's models with their fields and relations.
migration_riskRate migrations by what they do to a live database.
missing_indexesFields the code filters or sorts on that carry no index.
money_precisionPlaces where a decimal amount stops being exact.
multiplied_aggregatesAggregates whose numbers are wrong because a join multiplied the rows.
open_endpointsEndpoints anyone can call, crossed with what their serializer exposes.
project_infoCheck that the target Django project loads, and report what it is.
project_profileWhat this project is built on, without needing Django to boot.
queries_in_loopsDatabase work written inside a loop, split by what the fix is.
race_conditionsRead-modify-save races, and row locks taken outside any transaction.
request_impactEvery finding, grouped by the entry points that actually reach it.
scan_templateswrite actionRun the N+1 analysis over every template in a directory.
serializer_exposureWhat each DRF ModelSerializer exposes, and what looks unintended.
serializer_nplusoneN+1 queries in DRF serializers, with the queryset fix for each.
sqlalchemy_nplusonesuggest_fixesFindings turned into code, grouped by how safe each one is to apply.
unused_eager_loadingselect_related and prefetch_related the serializer never reads.
what_happens_onFollow the signal chain a save or delete actually triggers.
Public scan report
scanner v0.1.5 · 2026-09-19 · same rubric, same numbers if you re-run it
- Code scan51 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 6 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Install directly
claude mcp add django-chainsaw-mcp -- uvx django-chainsaw-mcp
Django Chainsaw: common questions
- Is Django Chainsaw MCP server safe?
- Yes, by our scan: it is graded A (92/100). Read the Django Chainsaw safety report
- How do I install Django Chainsaw?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Django Chainsaw need an API key?
- No secret keys are declared. It reads 2 settings from the environment.
- Is Django Chainsaw maintained?
- The last commit was 7 days ago (2026-09-14). The latest release is v0.1.5.