Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Jitsi Server

БесплатноНе проверен

MCP server that enables AI agents to join Jitsi Meet rooms, send/receive chat, record meetings, and monitor participants using headless Chrome.

GitHubEmbed

Описание

MCP server that enables AI agents to join Jitsi Meet rooms, send/receive chat, record meetings, and monitor participants using headless Chrome.

README

MCP (Model Context Protocol) server for Jitsi Meet that allows AI agents to:

  • Join/leave meetings - Connect to any Jitsi Meet room
  • Read/write chat - Full bidirectional chat support
  • Record meetings - Capture video/audio streams locally
  • Get meeting state - Participants, recording status, etc.

Architecture

┌─────────────────┐     ┌─────────────────┐     ┌─────────────────┐
│   AI Agent      │────▶│  MCP Server     │────▶│  Jitsi Meet     │
│  (Claude, etc)  │     │  (this server)  │     │  (browser)      │
└─────────────────┘     └─────────────────┘     └─────────────────┘
                               │
                               ▼
                        ┌─────────────────┐
                        │  Puppeteer      │
                        │  (Chrome)       │
                        └─────────────────┘

This server uses Puppeteer to control a headless Chrome browser that joins Jitsi meetings. The MCP interface exposes tools and resources for AI agents to interact with the meeting.

Prerequisites

  • Node.js 18+
  • Chrome/Chromium (installed automatically by Puppeteer)

Installation

cd jitsi-mcp-server
npm install
npm run build

Configuration

Copy .env.example to .env and configure:

cp .env.example .env
Variable Description Default
JITSI_SERVER_URL Jitsi Meet server URL https://meet.jit.si
JITSI_DISPLAY_NAME Bot display name AI Assistant
JITSI_JWT_APP_ID JWT app ID (for private servers) -
JITSI_JWT_SECRET JWT secret (for private servers) -
RECORDINGS_DIR Where to save recordings ./recordings
RECORDING_FORMAT Video format (webm/mp4) webm
PORT HTTP server port 3000
HOST HTTP server host 0.0.0.0
HEADLESS Run browser headless true

Usage

Stdio Transport (for Claude Desktop, etc.)

npm start
# or
node dist/index.js

Add to Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "jitsi": {
      "command": "node",
      "args": ["/path/to/jitsi-mcp-server/dist/index.js"],
      "env": {
        "JITSI_SERVER_URL": "https://meet.jit.si",
        "JITSI_DISPLAY_NAME": "Claude Assistant"
      }
    }
  }
}

HTTP/SSE Transport

npm run dev
# or for production
node dist/http-server.js

Connect via SSE at http://localhost:3000/sse

MCP Tools

Tool Description
jitsi_join_meeting Join a Jitsi room
jitsi_leave_meeting Leave current meeting
jitsi_send_chat Send chat message
jitsi_get_chat_history Get chat messages
jitsi_get_participants List participants
jitsi_get_meeting_state Get full meeting state
jitsi_toggle_mute Mute/unmute microphone
jitsi_toggle_video Enable/disable camera
jitsi_start_recording Start screen recording
jitsi_stop_recording Stop and save recording
jitsi_take_screenshot Capture meeting screenshot

MCP Resources

URI Description
jitsi://meeting/state Current meeting state
jitsi://meeting/participants Participant list
jitsi://meeting/chat Chat history
jitsi://meeting/screenshot Live screenshot

REST API (HTTP mode only)

When running in HTTP mode, these endpoints are available:

# Join a meeting
POST /api/join
{"roomName": "my-room", "displayName": "Bot"}

# Leave meeting
POST /api/leave

# Send chat message
POST /api/chat
{"message": "Hello!"}

# Get chat history
GET /api/chat

# Get meeting state
GET /api/state

# Get participants
GET /api/participants

# Start recording
POST /api/recording/start

# Stop recording
POST /api/recording/stop

# Get screenshot
GET /api/screenshot

Example Agent Usage

// Using the MCP client
const response = await mcpClient.callTool('jitsi_join_meeting', {
  roomName: 'daily-standup',
  displayName: 'AI Scribe',
  startMuted: true,
  startWithVideoOff: true,
});

// Send a greeting
await mcpClient.callTool('jitsi_send_chat', {
  message: 'Hello! I\'m here to take notes for this meeting.',
});

// Start recording
await mcpClient.callTool('jitsi_start_recording', {});

// ... meeting happens ...

// Get chat history for summarization
const chat = await mcpClient.callTool('jitsi_get_chat_history', {});

// Stop recording
await mcpClient.callTool('jitsi_stop_recording', {});

// Leave
await mcpClient.callTool('jitsi_leave_meeting', {});

Private Jitsi Servers

For self-hosted Jitsi with JWT authentication:

  1. Configure your Jitsi server for JWT auth
  2. Set JITSI_JWT_APP_ID and JITSI_JWT_SECRET in .env
  3. The server will automatically generate JWTs for joining meetings

Important Notes

Audio Recording

Audio recording captures remote participants' audio via WebRTC. For reliable audio capture:

  • Set HEADLESS=false in your .env file
  • The browser needs a real audio context to capture WebRTC streams

Jitsi Server Compatibility

  • meet.jit.si: Works with anonymous users if a logged-in moderator starts the meeting first
  • Self-hosted: Full anonymous access typically available
  • Alternative servers: Tested with meet.ffmuc.net and others

Chat

The bot automatically enters a chat nickname when required by the Jitsi interface.

Limitations

  • Headless Audio: Audio recording may not work reliably in headless mode
  • Video Recording: Currently audio-only; video frames are not captured
  • Private Messages: Only public chat is supported

Development

# Run in development mode with hot reload
npm run dev

# Run HTTP server in dev mode
npm run dev:http

# Build
npm run build

# Run tests
npm test

# Lint
npm run lint

License

MIT

from github.com/tntclaus/jitsi-mcp-server

Установка Jitsi Server

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/tntclaus/jitsi-mcp-server

FAQ

Jitsi Server MCP бесплатный?

Да, Jitsi Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Jitsi Server?

Нет, Jitsi Server работает без API-ключей и переменных окружения.

Jitsi Server — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Jitsi Server в Claude Desktop, Claude Code или Cursor?

Открой Jitsi Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Jitsi Server with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории communication