Expose Django registered views and URL patterns as Model Context Protocol (MCP) tools.
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-framework","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-framework **Batteries-included MCP for Django.** Expose a Django project's admin, views, and DRF API as Model Context Protocol tools, resources, and prompts — auto-derived from what Django already knows about your project. If it's registered, it surfaces; no per-tool decorators. Named in homage to [`djangorestframework`](https://www.django-rest-framework.org/) — the *framework* here means **opinionated and batteries-included**, not "a toolkit for building your own MCP server." Distributed on PyPI as **`django-mcp-framework`**; imported in Python as **`django_mcp`** (mirroring the `djangorestframework` / `rest_framework` precedent). ### Three derivation surfaces 1. **Admin** — every `ModelAdmin` becomes a CRUD tool set plus one tool per `@admin.action`. `list_display`, `search_fields`, `list_filter`, `fieldsets`, and `has_*_permission` all participate. `ModelAdmin` is the richest schema source Django ships — already encoding display columns, search vectors, filter facets, permission gates, and admin actions — and this package's first job is to project it mechanically into the MCP wire surface. 2. **Views** — every FBV, CBV, and DRF ViewSet in `ROOT_URLCONF`. CBV method sets are introspected for verb narrowing (a `get`-only `DetailView` → `view.retrieve:`, `ListView` → `view.list:`); FBV decorator chains *and* closure cells are walked to detect `@login_required` and `@permission_required` even when `functools.wraps` has masked the qualname; DRF ViewSets honor `permission_classes` and collapse PUT + PATCH to one `view.update:` tool per DMCP-02 §10.1. 3. **Resources & prompts** — every admin-registered model becomes a URI-addressable resource template (`django-mcp://model/…`); every `FileField` / `ImageField` gets its own `django-mcp://field/…/{pk}/<field>` template; every `@admin.action` emits a parallel `prompt.admin.<app>.<Model>.<action>`. The deliberate posture: **no annotation required**. Regist…
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.