MCP.so
登录

MCP Signaling Server (Django + Channels + ASGI)

@yer-retb

基本信息

分类

开发工具

传输方式

stdio

作者

yer-retb

关于 MCP Signaling Server

暂无概览

MCP Signaling Server 配置

使用下面的配置,将此服务器添加到你的 MCP 客户端。

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

MCP Signaling Server 工具

工具列表暂未提供

当前收录暂时没有可展示的工具列表,不代表服务没有工具。请查阅项目文档了解支持的能力。

工具是从 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, 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

常见问题

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.

评论

开发工具 分类下的更多 MCP 服务器