# joinly-ai/joinly [Health: Active]

**Category:** 💬 Communication  
**Repository:** https://github.com/joinly-ai/joinly  
**GitHub Stars:** 569  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/joinly-ai-joinly

## Description
MCP server to interact with browser-based meeting platforms (Zoom, Teams, Google Meet). Enables AI agents to send bots to online meetings, gather live transcripts, speak text, and send messages in the meeting chat.

## Tools
Capabilities this server exposes over MCP:

- **join_meeting**
- **leave_meeting**
- **speak_text**
- **text**
- **send_chat_message**
- **message**
- **mute_yourself**
- **unmute_yourself**
- **get_chat_history**
- **get_participants**
- **get_transcript**
- **get_video_snapshot**

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "joinly": {
    "command": "uvx",
    "args": ["joinly-client"],
    "env": {
      "JOINLY_LLM_MODEL": "",
      "JOINLY_LLM_PROVIDER": "",
      "OPENAI_API_KEY": "",
      "ELEVENLABS_API_KEY": "",
      "DEEPGRAM_API_KEY": ""
    }
  }
}
```

**Requires environment variables:** `JOINLY_LLM_MODEL`, `JOINLY_LLM_PROVIDER`, `OPENAI_API_KEY`, `ELEVENLABS_API_KEY`, `DEEPGRAM_API_KEY` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What joinly-ai/joinly does

The joinly-ai/joinly MCP server gives an AI agent access to browser-based video meetings. It supports Zoom, Google Meet, Microsoft Teams, and other meeting platforms available through a browser. An agent can enter a meeting, communicate through speech or chat, and inspect meeting state while the call is in progress.

The project is designed for live participation rather than post-meeting processing. It can support an agent that answers questions aloud, responds to messages in meeting chat, gathers a transcript, or checks who is present. The repository also describes conversational handling for interruptions and multiple speakers.

## How it works

The published Docker image packages the browser and models needed to run the application. In the simplest mode, the container starts a client directly with a meeting URL. In server mode, the container exposes an MCP endpoint, and a separate client can connect to it and provide the meeting URL.

A custom client can add other MCP servers through a JSON configuration. Their tools then become available to the agent during the meeting. The documented example uses `joinly-client`, installed and run with `uvx`, but the server is intended to work with an MCP client that can connect to its endpoint.

Speech and transcription use selectable providers. Local Whisper is the default speech-to-text option, while local Kokoro is the default text-to-speech option. The configuration also documents Deepgram for both functions and ElevenLabs for text-to-speech. The language can be changed when the client or container starts.

## Setup and configuration

The documented quickstart requires Docker. Create an environment file with an LLM provider, model, and the provider’s API key. The example uses OpenAI with `JOINLY_LLM_MODEL`, `JOINLY_LLM_PROVIDER`, and `OPENAI_API_KEY`; the repository also references Anthropic and Ollama configurations in its example environment file.

Pull `ghcr.io/joinly-ai/joinly:latest`, then run the image with `--client` and a Zoom, Google Meet, or Teams URL. For server mode, publish port 8000 only on localhost and connect with `uvx joinly-client`. Command-line options can set the participant name, language, host, port, speech providers, and provider-specific arguments.

## Tools and capabilities

The joinly-ai/joinly MCP server exposes tools for:

- Joining and leaving meetings.
- Speaking text aloud and sending meeting chat messages.
- Reading chat history, participants, and the live transcript.
- Muting and unmuting the agent.
- Capturing a video snapshot.

The listed tool names include `join_meeting`, `leave_meeting`, `speak_text`, `text`, `send_chat_message`, `message`, `mute_yourself`, `unmute_yourself`, `get_chat_history`, `get_participants`, `get_transcript`, and `get_video_snapshot`.

## Limitations and notes

The MCP server has no authentication and accepts configuration supplied by its client. The documentation therefore recommends running it locally for one trusted client, binding it to localhost, and not exposing port 8000 to a network.

The Docker image is approximately 2.3 GB because it includes a browser and models. Provider availability depends on the selected speech and transcription service, and some providers require their own API keys. The direct `--client` mode does not start a server for other clients to use.

_Full upstream README: https://allmcps.com/mcp/joinly-ai-joinly/readme_

