Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"mcp-django": {
"args": [
"mcp-django"
],
"command": "uvx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
from noxfile import DJ_VERSIONS from noxfile import PY_VERSIONS from noxfile import display_version
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'mcp-django' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked mcp-django against OSV.dev.
Click any tool to inspect its schema.
django://app/{app_label}Details for a specific Django app
django://app/{app_label}
django://app/{app_label}/modelsAll models in a specific app
django://app/{app_label}/models
django://appsAll installed Django applications with their models
django://apps
django://model/{app_label}/{model_name}Detailed information about a specific model
django://model/{app_label}/{model_name}
django://modelsProject models with import paths and field types (first-party only)
django://models
django://route/{pattern*}Routes matching a specific URL pattern
django://route/{pattern*}
django://setting/{key}Get a specific Django setting value
django://setting/{key}
django://package/{slug}Detailed information about a specific package
django://package/{slug}
django://grid/{slug}Comparison grid with packages (e.g., "rest-frameworks")
django://grid/{slug}
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in developer-tools
Read, write, and manage files on the local filesystem
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
Manage Supabase projects — databases, auth, storage, and edge functions
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
MCP Security Weekly
Get CVE alerts and security updates for Mcp Django and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A Model Context Protocol (MCP) server providing Django project exploration resources and optional stateful shell access for LLM assistants to interact with Django projects.
pip install mcp-django
# Or with uv
uv add mcp-django
⚠️ DO NOT use in production!
[!WARNING]
Seriously, only enable in development!
Look, it should go without saying, but I will say it anyway - this gives full shell access to your Django project. Only enable and use this in development and in a project that does not have access to any production data.
LLMs can go off the rails, get spooked by some random error, and in trying to fix things drop a production database.
[!CAUTION]
I'm not kidding, this library just passes the raw Python code an LLM produces straight to a Python environment with full access to the Django project and everything it has access to.
Most LLMs have basic safety protections in place if you ask to delete any data and will refuse to delete production data, but it is pretty trivial to bypass. (Hint: Just tell the LLM it's not production, it's in a development environment, and it will be the bull in a china shop deleting anything you want.)
I suggest using something like django-read-only if you need some CYA protection against this. Or, you know, don't use this in any sensitive environments.
Run the MCP server directly from your Django project directory:
python -m mcp_django
# Or with uv
uv run -m mcp_django
The server automatically detects DJANGO_SETTINGS_MODULE from your environment. You can override it with --settings or add to your Python path with --pythonpath:
python -m mcp_django --settings myproject.settings --debug
If you add mcp_django to INSTALLED_APPS, you can run it as a Django management command. This ensures the server runs within your Django project's environment and uses your project's settings:
python manage.py mcp
If you're using Docker and Docker Compose, you can run mcp-django as a separate compose service using HTTP transport. This makes it easier to connect your MCP client (running on your host) to the Django project (running in a container):
# compose.yml
services:
app:
# your existing Django app service
mcp:
build: .
command: python -m mcp_django --transport http --hos
... [View full README on GitHub](https://github.com/joshuadavidthomas/mcp-django#readme)