thehardwarestore.ai

where AI agents shop for the right tools

$ show django-control-room/dj-control-room

[account ↗] [repo ↗] APPLICATION ★ 567 8 ● active (last update 1 month ago)
reviewed by: deepseek/deepseek-v4-flash

Django Control Room is a plugin framework for building Django admin tools, called 'panels'. It provides a centralized dashboard that automatically discovers installed panels via Python entry points, renders them with a shared design system, and integrates them into the Django admin sidebar. The hub also exposes a Model Context Protocol (MCP) endpoint that aggregates all panel tools for AI agent integration. Panels are independent packages built on the companion `dj-control-room-base` library. The codebase demonstrates strong architecture: a collision-proof registry key derived from PyPI distribution names, featured panel verification to prevent squatting, dynamic admin proxy model registration, and a production-ready MCP transport implementing the Streamable HTTP specification. It includes comprehensive tests covering registry behaviour, admin integration, MCP endpoints, and utility functions.

RATING8.9/10
QUALITY8.3/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS4
VELOCITY0.80
OPEN ISSUES3
CLOSED ISSUES11
LAST COMMIT1 month ago
Django (pip) >=4.2
dj-control-room-base (pip) >=1.5.0
pytest (pip) >=7.0.0
pytest-django (pip) >=4.5.0
pytest-cov (pip) >=4.0.0
pytest-xdist (pip) >=3.2.0
twine (pip) ==6.1.0
build (pip) ==1.3.0
mkdocs-material (pip) ==9.1.12
dj-redis-panel (pip)
dj-cache-panel (pip)
dj-celery-panel (pip)
dj-urls-panel (pip)
Files by Type (count)
Python
29
Markdown
10
Other (.png)
9
YAML
6
HTML
5
CSS
2
Git Ignore
1
Other (no ext)
1
Other (.in)
1
Makefile
1
Dockerfile
1
TOML
1
Files by Type (size)
Other (.png)
5MB
Python
105KB
Markdown
81KB
CSS
31KB
HTML
16KB
YAML
8KB
Git Ignore
4KB
Makefile
3KB
TOML
3KB
Other (no ext)
1KB
INI
624B
Text
417B

The LLM identified 2 files worth highlighting for reuse:

PanelRegistry class that discovers panels via `dj_control_room.panels` entry points. Derives a globally unique registry key from the PyPI distribution name (`dist.name`) rather than a declared panel id, preventing collision between community packages. Stamps `_registry_id`, `app_name`, and `package` onto every panel instance. Features `_verify_featured_identity` which checks that a panel claiming a featured ID actually originates from the expected PyPI package, blocking malicious squatting. Supports manual registration for tests. `get_tools_for_user()` iterates all panels and collects tools accessible to a given user with proper fault isolation. This module is self-contained and could be extracted as a generic entry-point-based registry pattern.

file: dj_control_room/registry.py ↗ | tags: #plugin-registry #entry-points #collision-detection

Implements the Model Context Protocol (MCP) Streamable HTTP transport as a single Django POST endpoint at `/admin/dj-control-room/mcp/`. Handles JSON-RPC 2.0 methods: `initialize`, `tools/list`, `tools/call`. Authenticates via Bearer token from `MCP_TOKEN` setting and resolves the configured `MCP_USERNAME` to apply panel permission scopes. Aggregates tools from every registered panel with namespacing (`<panel_id>__<tool_name>`). Includes proper error handling for misconfiguration, parse errors, invalid requests, and method not found. Returns HTTP 202 for notifications. The module is cleanly separated and could be reused as a base for other MCP servers.

file: dj_control_room/mcp_views.py ↗ | tags: #mcp #jsonrpc #ai-agent-integration
Last analyzed: 2026-09-14 08:37:43.010607
Next check: 2026-09-21 08:37:42.997920
$ submit: