Our take
- Activity
- 49
- Community
- 22
- Issues
- 21
- Pull requests
- 61
+1 stars in the last 10 days
Overview
Joinly is middleware that lets AI agents participate in live video calls. Its MCP server exposes meeting controls and live context, including transcripts, chat, participants, and video snapshots, so an agent can interact by voice or chat while a meeting is underway.
It is aimed at developers who want to connect meeting platforms to an agent and its tools rather than build the meeting, transcription, and speech pipeline themselves. Joinly supports Google Meet, Zoom, and Microsoft Teams through a browser-based approach, and can be run locally or through Joinly's hosted cloud service.
Key Features
- Join and leave meetings, and mute or unmute the agent.
- Read live transcripts, chat history, and participant information through MCP tools and a subscribable transcript resource.
- Speak text aloud and send chat messages during a meeting.
- Access a meeting video snapshot, such as a view of a screen share.
- Use configurable speech-to-text and text-to-speech providers, including local Whisper and Kokoro options.
- Connect additional MCP servers so their tools are available to the meeting agent.
- Run as a Docker-based client or as an MCP server connected to a separate client.
Use Cases
- A developer can prototype a voice-enabled meeting assistant that answers questions or performs tasks during calls.
- Teams using MCP tools can let an agent act on meeting requests, such as searching the web or editing connected content, while participants talk.
- Developers building meeting-aware agents can consume live transcripts and chat instead of implementing those integrations themselves.
- Privacy-conscious users can self-host the meeting connector and choose local speech models where suitable.
Getting Started
With Docker installed and an LLM provider API key configured in a .env file, run:
docker run --env-file .env ghcr.io/joinly-ai/joinly:latest --client <MeetingURL>
See the README for configuration, custom clients, provider options, and development instructions.
Alternatives
- vexa: Vexa joins meetings to provide speaker-attributed transcripts through an API, while Joinly connects AI agents to meetings for listening, speaking, chat, and tool use.
| Project | Language | License | Stars | Status |
|---|---|---|---|---|
| joinly | Python | MIT | 566 | Not checked yet |
| vexa | Python | Apache-2.0 | 2.8k | Active |
Considerations
- The Docker image is approximately 2.3 GB because it includes a browser and models.
- Using hosted LLM or speech providers requires configuring their credentials. Local speech options are also available.
- The MCP server has no authentication and accepts client-supplied configuration. The README recommends binding it to localhost and not exposing it to a network.
- Meeting support uses browser access, and the roadmap lists improvements to browser-agent capabilities and meeting features as planned work.
- GPU-enabled Docker images require the NVIDIA Container Toolkit and CUDA 12.6 or later.
Found this useful?
Share it with someone who would like joinly.