MCP.so
Sign In

πŸ“‘ MCP Signaling Server (Django + Channels + ASGI)

@yer-retb

About πŸ“‘ MCP Signaling Server (Django + Channels + ASGI)

No overview available yet

Basic information

Category

Developer Tools

Runtime

node

Transports

stdio

Publisher

yer-retb

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "Asynchronous-MCP-Server-with-WebRTC-Signaling": {
      "command": "python3",
      "args": [
        "-m",
        "venv",
        "venv"
      ]
    }
  }
}

Tools

No tools detected

We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.

Overview

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, and leave messages
  • 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.

Comments

More Developer Tools MCP servers