Workplace#Text to speech#Speech to text

joinly: send an agent into Zoom, Teams and Google Meet calls

Self-hosted meeting middleware. Agents join browser video calls over MCP, read the live transcript and speak or chat, with your choice of LLM and voice.

Project and installation docs

View project

https://github.com/joinly-ai/joinly

Most meeting tools do one thing: hand you a transcript afterwards. joinly wants the agent in the room. Its MCP server provides tools to join, listen, speak and look at the shared screen, so an agent can answer questions during the call and use other MCP servers to open a GitHub issue or edit a Notion page as it goes. Everything ships in one Docker image you host yourself.

What it does

  • Meeting control: join_meeting takes a link, display name and optional passcode; leave_meeting exits; mute_yourself and unmute_yourself handle the mic.
  • Listen and look: get_transcript returns the transcript, optionally for the last N minutes, and the subscribable transcript://live resource streams new utterances with speakers. get_participants and get_chat_history cover attendees and chat, and get_video_snapshot grabs the current frame, such as a screen share.
  • Speak: speak_text talks via TTS and send_chat_message posts in the meeting chat, with built-in handling for interruptions and multiple speakers.
  • Swappable parts: Whisper or Deepgram for speech-to-text, Kokoro, ElevenLabs or Deepgram for speech, and any major LLM API or local Ollama.

Who it’s for

  • Developers prototyping meeting assistants that look things up or capture action items live.
  • Teams that want meeting transcription without sending audio to a third-party SaaS.

Setup

Needs Docker and an LLM API key in a .env file. The image is about 2.3 GB because it bundles a browser and models. Run it as an MCP server bound to localhost:

docker pull ghcr.io/joinly-ai/joinly:latest
docker run -p 127.0.0.1:8000:8000 ghcr.io/joinly-ai/joinly:latest

Then connect with uvx joinly-client --env-file .env <MeetingUrl> or your own MCP client.

Our take

About 570 stars as of 2026-10-06, and the most complete tool design among meeting MCP servers: it reads the live transcript, talks back, and brings other MCP tools into the call. Against hosted meeting-bot services, the pitch is full self-hosting and free choice of models. The costs are real: a large image, decent hardware for local transcription, and a last push in early September 2026. On security, the README warns that the MCP server has no authentication and accepts client-supplied configuration, so bind it to localhost for a single trusted client. And tell attendees, and get their consent, before a bot records and transcribes a meeting. Licensed MIT.