๐ก MCP Signaling Server (Django + Channels + ASGI)
@yer-retb
๐ก MCP Signaling Server (Django + Channels + ASGI) ใซใคใใฆ
ๆฆ่ฆใฏใพใ ใใใพใใ
ๅบๆฌๆ ๅ ฑ
่จญๅฎ
ไปฅไธใฎ่จญๅฎใไฝฟใฃใฆใใใฎใตใผใใผใ MCP ๅฏพๅฟใฏใฉใคใขใณใใซ่ฟฝๅ ใใฆใใ ใใใ
{
"mcpServers": {
"Asynchronous-MCP-Server-with-WebRTC-Signaling": {
"command": "python3",
"args": [
"-m",
"venv",
"venv"
]
}
}
}ใใผใซ
ใใผใซใฏๆคๅบใใใพใใใงใใ
ใใผใซใฏ README ใใ่ชๅ็ใซๆฝๅบใใใพใใใกใณใใใผใฏ ## Tools ใจใใ่ฆๅบใใฎไธใซ่จ่ผใใใใจใงใใใฎใฟใใซๅๆ ใงใใพใใ
ๆฆ่ฆ
What is MCP Signaling Server (Django + Channels + ASGI)?
An asynchronous backend WebSocket signaling server built with Django and Channels, implementing a custom protocol called MCP (Message Context Protocol) for real-time WebRTC signaling. It allows React frontend clients to exchange signaling messages without using REST APIs.
How to use MCP Signaling Server (Django + Channels + ASGI)?
Clone the repository, create a Python virtual environment, install dependencies from requirements.txt, then run the server using daphne mcp_server.asgi:application. Connect via WebSocket at ws://127.0.0.1:8000/ws/signal/?room=ROOM_NAME. A test script (test_mcp.py) is provided to simulate two clients.
Key features of MCP Signaling Server (Django + Channels + ASGI)
- ASGI-compliant Django server with real-time WebSocket support
- Custom signaling protocol: MCP (Message Context Protocol)
- Room-based signaling (multi-user capable)
- Supports
offer,answer,candidate, andleavemessages - Works with any frontend WebRTC client (React, etc.)
- Includes test script for two-client simulation
Use cases of MCP Signaling Server (Django + Channels + ASGI)
- Set up peer-to-peer video/audio chat with WebRTC signaling
- Enable real-time messaging between two browser clients via WebRTC DataChannels
- Test and develop custom WebRTC signaling logic with a lightweight backend
- Create room-based applications where exactly two peers communicate directly
- Demonstrate integration of Django Channels with WebSocket and WebRTC
FAQ from MCP Signaling Server (Django + Channels + ASGI)
How many peers can join a room?
Only two peers are allowed per room. A third client is rejected by the backend and receives an error.
What are the runtime dependencies?
The server requires Python 3, Django, Channels, and Daphne (ASGI server). The frontend requires Node.js and npm.
Where are signaling rooms stored?
Rooms are kept in memory using Python dictionaries (inโmemory storage) for development simplicity.
What WebSocket transport does the server use?
The server uses ASGI via Daphne; clients connect using the ws:// protocol (e.g., ws://localhost:8000/ws/signal/?room=ROOM_NAME).
Does the server include authentication or authorization?
The README does not mention any authentication mechanism; the signaling server appears to be open to any WebSocket connection.
ใ้็บ่ ใใผใซใใฎไปใฎใณใณใใณใ
MCP Framework
QuantGeekDevThe Typescript MCP Framework
nuxt-mcp / vite-plugin-mcp
antfuMCP server helping models to understand your Vite/Nuxt app better.
test
cloudwegoThe ultimate LLM/AI application development framework in Go.
mcp-excalidraw
yctimlinMCP server and Claude Code skill for Excalidraw โ programmatic canvas toolkit to create, edit, and export diagrams via AI agents with real-time canvas sync.
Serena
oraiosA powerful MCP toolkit for coding, providing semantic retrieval and editing capabilities - the IDE for your agent
ใณใกใณใ