Releases: xelaxela13/django-native-mcp
Release list
django-native-mcp v0.1.2
Added Streamable HTTP host and transport security configuration through Django settings. The integration now supports custom hosts, DNS rebinding protection, allowed hosts, and allowed origins using the official MCP SDK TransportSecuritySettings. Existing configurations remain backward compatible, with strict validation and regression coverage for Host, Origin, MCPApplication routing, and Bearer authentication.
django-native-mcp v0.1.1
Added
- Bearer-token authentication for Streamable HTTP MCP endpoints.
- New
MCPTokenmodel with:- DRF-compatible 40-character token generation;
- associated Django user;
created;last_used;- optional
expires.
- Django admin support for managing MCP tokens.
- Configurable authentication backends through:
DJANGO_NATIVE_MCP = {
"DEFAULT_AUTHENTICATION_CLASSES": [
"django_native_mcp.authentication.MCPTokenBackend",
],
}- Public MCP mode by setting
DEFAULT_AUTHENTICATION_CLASSEStoNoneor[].
Behavior
HTTP MCP endpoints are protected by default. Clients must send:
Authorization: Bearer <token>Missing, expired, inactive, or invalid tokens return 401 Unauthorized.
Permissions and scopes are not included yet. Any valid token currently grants access to all registered tools.
Validation
- 38 tests passing
- Ruff checks passing
- mypy passing
- Django system checks passing
- Verified against the tracked Django demo using the official MCP Streamable HTTP client
django-native-mcp v0.1.0
django-native-mcp v0.1.0
Initial alpha release of a Django-native MCP tool framework built on the official MCP Python SDK.
Highlights
- Explicit Django MCP application and tool registration
@app.tooland@shared_tooldecorators- Django app autodiscovery via
mcp.py - Streamable HTTP and stdio transports
- Django management commands:
mcp_listmcp_inspectmcp_callmcp_serve
- In-process MCP testing client
- Typed package with Python 3.12+ support
- Runnable Django/MCP example in
example/
Installation
pip install django-native-mcp