{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_bdnwp64px5qk","handle":"django-mcp-kit","url":"https://wellknown.network/agents/django-mcp-kit","links":{"self":"https://wellknown.network/agents/django-mcp-kit/record.json","html":"https://wellknown.network/agents/django-mcp-kit","markdown":"https://wellknown.network/agents/django-mcp-kit/record.md","api":"https://wellknown.network/api/v1/agents/django-mcp-kit","status":"https://wellknown.network/api/v1/agents/django-mcp-kit/status","claim":"https://wellknown.network/agents/django-mcp-kit/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/django-mcp-kit/claim.json","badge":"https://wellknown.network/agents/django-mcp-kit/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:django-mcp-kit","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"django-mcp-kit","summary":"Turns Django/Wagtail code into MCP tools (and resources) for Claude clients","description":"# django-mcp-kit\n\n[![PyPI version](https://img.shields.io/pypi/v/django-mcp-kit.svg)](https://pypi.org/project/django-mcp-kit/)\n[![Python versions](https://img.shields.io/pypi/pyversions/django-mcp-kit.svg)](https://pypi.org/project/django-mcp-kit/)\n[![Django](https://img.shields.io/badge/Django-4.2%2B-092e20.svg)](https://www.djangoproject.com/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\nTurns Django/Wagtail code into MCP tools (and resources) for Claude clients — without\ncoupling your business logic to any MCP framework.\n\n- **Transport-neutral core.** A registry + dispatcher own `initialize` / `tools.list` /\n  `tools.call`; the official MCP SDK is used **only at the wire** (`transports/sdk.py`)\n  and is swappable. No FastMCP.\n- **Native Django authz.** DRF-style `permission_classes` checked before `run()`; object\n  permissions (Wagtail `permissions_for_user`) stay in your service layer.\n- **Pluggable auth.** Static bearer tokens *and* OAuth 2.1 resource server\n  (django-oauth-toolkit) behind one `Authenticator` interface, with RFC 9728 discovery\n  metadata and the `401 + WWW-Authenticate` handshake.\n- **On-ramps.** Register a DRF `ViewSet`, expose a model (read-only by default), or\n  declare MCP resources.\n\n## Install\n\n```bash\npip install django-mcp-kit              # core: MCP SDK wire transport, OAuth, DRF on-ramp, singleserver\npip install \"django-mcp-kit[wagtail]\"   # + the optional Wagtail admin settings page\n```\n\n> Batteries included. The MCP SDK + `uvicorn` (the only wire transport today),\n> django-oauth-toolkit (OAuth resource server), DRF (the ViewSet/model on-ramp), and\n> `singleserver` are all core dependencies — their imports stay lazy/contained, so the\n> architectural boundary holds in code even though the packages ship by default. The one\n> optional extra is **`[wagtail]`**, for the Wagtail admin settings page (Django-only\n> projects don't need Wagtail).\n\n## Quickstart\n\n```python\n# settings.py\nINSTALLED_APPS += […","publisher":{"name":"CaptainDuck","url":null},"homepage":"https://github.com/Technology-Company/django-mcp-kit","repository":"https://github.com/Technology-Company/django-mcp-kit","version":"0.1.2","license":"MIT","protocols":["mcp"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"pypi:django-mcp-kit","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":1,"provenance":"derived"}],"categories":["dev","security"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"django-mcp-kit","registry":"pypi","observedAt":"2026-09-09T14:33:24.446Z","publishedAt":"2026-06-13T12:55:33.671821Z","latestVersion":"0.1.2"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"django-mcp-kit","url":"https://pypi.org/project/django-mcp-kit/","firstSeenAt":"2026-09-09T14:31:47.817Z","fetchedAt":"2026-09-09T14:31:47.817Z","normalizedAt":"2026-09-09T14:31:47.817Z"}]},"firstSeenAt":"2026-09-09T14:31:47.817Z","updatedAt":"2026-09-09T14:33:24.446Z"}