MCP.so
登录

📡 MCP Signaling Server (Django + Channels + ASGI)

@yer-retb

关于 📡 MCP Signaling Server (Django + Channels + ASGI)

暂无概览

基本信息

分类

开发工具

运行时

node

传输方式

stdio

发布者

yer-retb

配置

使用下面的配置,将此服务器添加到你的 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, 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.

评论

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