Turns Django/Wagtail code into MCP tools (and resources) for Claude clients
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"django-mcp-kit","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# django-mcp-kit [](https://pypi.org/project/django-mcp-kit/) [](https://pypi.org/project/django-mcp-kit/) [](https://www.djangoproject.com/) [](LICENSE) Turns Django/Wagtail code into MCP tools (and resources) for Claude clients — without coupling your business logic to any MCP framework. - **Transport-neutral core.** A registry + dispatcher own `initialize` / `tools.list` / `tools.call`; the official MCP SDK is used **only at the wire** (`transports/sdk.py`) and is swappable. No FastMCP. - **Native Django authz.** DRF-style `permission_classes` checked before `run()`; object permissions (Wagtail `permissions_for_user`) stay in your service layer. - **Pluggable auth.** Static bearer tokens *and* OAuth 2.1 resource server (django-oauth-toolkit) behind one `Authenticator` interface, with RFC 9728 discovery metadata and the `401 + WWW-Authenticate` handshake. - **On-ramps.** Register a DRF `ViewSet`, expose a model (read-only by default), or declare MCP resources. ## Install ```bash pip install django-mcp-kit # core: MCP SDK wire transport, OAuth, DRF on-ramp, singleserver pip install "django-mcp-kit[wagtail]" # + the optional Wagtail admin settings page ``` > Batteries included. The MCP SDK + `uvicorn` (the only wire transport today), > django-oauth-toolkit (OAuth resource server), DRF (the ViewSet/model on-ramp), and > `singleserver` are all core dependencies — their imports stay lazy/contained, so the > architectural boundary holds in code even though the packages ship by default. The one > optional extra is **`[wagtail]`**, for the Wagtail admin settings page (Django-only > projects don't need Wagtail). ## Quickstart ```python # settings.py INSTALLED_APPS += […
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.