MCP.so
Sign In

MCP Signaling Server (Django + Channels + ASGI)

@yer-retb

Basic information

Category

Developer Tools

Transports

stdio

Author

yer-retb

About MCP Signaling Server

No overview available yet

MCP Signaling Server 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"
      ]
    }
  }
}

MCP Signaling Server tools

Tool list not available yet

This listing does not currently have a tool list to display. This does not mean the server has no tools; check its documentation for supported capabilities.

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

Frequently asked questions

1

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.

2

What are the runtime dependencies?

The server requires Python 3, Django, Channels, and Daphne (ASGI server). The frontend requires Node.js and npm.

3

Where are signaling rooms stored?

Rooms are kept in memory using Python dictionaries (in‑memory storage) for development simplicity.

4

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`).

5

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