Joinly
πβοΈ - 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.
What is Joinly?
Joinly is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to πβοΈ - 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...
πβοΈ - 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.
This server falls under the Communication category on MCPgee, the world's largest MCP server directory with 33,000+ servers.
Features
- πβοΈ - MCP server to interact with browser-based meeting plat
Use Cases
Maintainer
Works with
Installation
Manual Installation
npx joinlyConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
How to Set Up and Use Joinly
Joinly is an open-source connector middleware that lets AI agents join and actively participate in Zoom, Google Meet, and Microsoft Teams calls via a Docker-based bot that can speak, listen, and send chat messages in real time. It exposes a set of MCP tools and resources so that any MCP-compatible agent can send a bot to a meeting URL, receive live transcripts, speak synthesized responses through text-to-speech, and send text to the meeting chat. The architecture supports bring-your-own-LLM (including local Ollama models), pluggable TTS/STT providers (Kokoro, ElevenLabs, Deepgram, Whisper), and composable MCP server chaining for adding tools like web search or Notion access during live calls.
Prerequisites
- Docker installed (required β the bot bundles a Chromium browser and local models, approximately 2.3 GB image)
- A meeting URL for Zoom, Google Meet, or Microsoft Teams
- An LLM provider API key: OPENAI_API_KEY for OpenAI GPT models, ANTHROPIC_API_KEY for Claude, or a local Ollama setup (no key required)
- Optional: ELEVENLABS_API_KEY or DEEPGRAM_API_KEY for cloud TTS/STT providers (Kokoro and Whisper are included locally)
- An MCP-compatible client to connect external MCP servers to the joinly agent
Pull the Joinly Docker image
Pull the latest Joinly image (~2.3 GB) from the GitHub Container Registry. The image bundles Chromium, Kokoro TTS, Whisper STT, and all dependencies so no additional install is needed.
docker pull ghcr.io/joinly-ai/joinly:latestCreate a .env file with your LLM provider credentials
Create a .env file in your working directory with at minimum JOINLY_LLM_PROVIDER, JOINLY_LLM_MODEL, and the matching provider API key. The example uses OpenAI, but Anthropic Claude and Ollama are also supported.
# .env
JOINLY_LLM_PROVIDER=openai
JOINLY_LLM_MODEL=gpt-4o
OPENAI_API_KEY=your-openai-api-key
# For Claude:
# JOINLY_LLM_PROVIDER=anthropic
# JOINLY_LLM_MODEL=claude-opus-4-5
# ANTHROPIC_API_KEY=your-anthropic-api-keySend the bot to a meeting (quickstart mode)
Run the container with --client and the meeting URL to immediately join as a conversational agent. The bot will appear as a participant named 'joinly' and can respond to voice and chat in real time.
docker run --env-file .env ghcr.io/joinly-ai/joinly:latest --client https://meet.google.com/xxx-yyyy-zzzRun as an MCP server and connect an external client
Run the container as an MCP server (without --client) and connect to it using the joinly-client Python package. This mode allows you to add external MCP servers (Tavily, Notion, GitHub, etc.) that the agent can use during the meeting.
# Terminal 1 β start the joinly MCP server:
docker run -p 8000:8000 --env-file .env ghcr.io/joinly-ai/joinly:latest
# Terminal 2 β connect a client and join the meeting:
uvx joinly-client --env-file .env https://meet.google.com/xxx-yyyy-zzz
# With additional MCP servers (config.json):
uvx joinly-client --env-file .env --mcp-config config.json https://meet.google.com/xxx-yyyy-zzzCustomize TTS, STT, and participant name
Pass command-line arguments to change the bot's display name, language, TTS provider, or STT provider. ElevenLabs and Deepgram require their API keys in .env.
docker run --env-file .env ghcr.io/joinly-ai/joinly:latest \
--client https://zoom.us/j/1234567890 \
--name "AI Assistant" \
--lang en \
--tts elevenlabs \
--stt deepgramJoinly Examples
Client configuration
MCP configuration for chaining an additional Tavily web-search MCP server to the joinly agent, giving it live web search during meetings.
{
"mcpServers": {
"tavily": {
"command": "npx",
"args": ["-y", "@tavily/mcp"],
"env": {
"TAVILY_API_KEY": "your-tavily-api-key"
}
}
}
}Prompts to try
During a live meeting, participants can speak or type these prompts to the joinly agent to trigger in-meeting actions.
- "Joinly, what is the agenda for today's meeting?"
- "Joinly, search the web for the latest news on [topic] and summarize it for us."
- "Joinly, create a Notion page with the action items we just discussed."
- "Joinly, read back the last five minutes of the transcript."
- "Joinly, send a message in the chat with a summary of what was just decided."Troubleshooting Joinly
The bot joins the meeting but cannot hear participants or transcription is empty
Whisper STT is the default and runs locally inside the container. If transcription is empty, check that the container has enough RAM (Whisper base requires ~1 GB). Try --stt-arg model_name=tiny for lower resource usage, or switch to Deepgram STT with --stt deepgram and DEEPGRAM_API_KEY in .env.
Meeting platform blocks the bot or it cannot join the call
Enable the VNC debug view to see what the browser is doing: docker run --env-file .env -p 5900:5900 ghcr.io/joinly-ai/joinly:latest --vnc-server --client <URL>. Connect with a VNC client to port 5900 to watch the browser session and diagnose the login or join flow.
Container exits immediately with a platform or architecture error
The Docker image is built for linux/amd64. On Apple Silicon Macs, Docker Desktop runs it under Rosetta 2. Ensure you are using Docker Desktop 4.x+ with the Rosetta 2 emulation option enabled in Settings β General.
Frequently Asked Questions about Joinly
What is Joinly?
Joinly is a Model Context Protocol (MCP) server that πβοΈ - 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. It connects AI assistants to external tools and data sources through a standardized interface.
How do I install Joinly?
Follow the installation instructions on the Joinly GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.
Which AI clients work with Joinly?
Joinly works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.
Is Joinly free to use?
Yes, Joinly is open source and available under the MIT license. You can use it freely in both personal and commercial projects.
Joinly Alternatives β Similar Communication Servers
Looking for alternatives to Joinly? Here are other popular communication servers you can use with Claude, Cursor, and VS Code.
Slack
β 86.1kEnables interaction with Slack workspaces through comprehensive channel management, messaging, user management, file uploads, and Block Kit formatting. Features secure credential storage via macOS Keychain and supports all major Slack operations incl
LibreChat
β 37.3kEnhanced ChatGPT Clone: Features Agents, MCP, DeepSeek, Anthropic, AWS, OpenAI, Responses API, Azure, Groq, o1, GPT-5, Mistral, OpenRouter, Vertex AI, Gemini, Artifacts, AI model switching, message search, Code Interpreter, langchain, DALL-E-3, OpenA
Note Gen
β 11.9kA cross-platform Markdown AI note-taking software.
DeepChat
β 5.8kπ¬DeepChat - A smart assistant that connects powerful AI to your personal world
WhatsApp MCP
β 5.7kConnects AI assistants to the official Meta WhatsApp Cloud API for managing conversations and sending various message types through natural language. It provides tools for media management, template messages, and real-time webhook processing without
Apple
β 3.1kEnables interaction with Apple apps like Messages, Notes, and Contacts through the MCP protocol to send messages, search, and open app content using natural language.
Browse More Communication MCP Servers
Explore all communication servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.
Set Up Joinly in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
Ready to use Joinly?
Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.