MCP server enabling AI agents to join and interact in browser-based meetings via voice, chat, and transcripts.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent โ or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag โ we're steadily working through the catalog.
๐ก Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Joinly.
join_meetingCallable MCP tool function
leave_meetingCallable MCP tool function
speak_textCallable MCP tool function
textCallable MCP tool function
send_chat_messageCallable MCP tool function
messageCallable MCP tool function
joinly.ai is a connector middleware designed to enable AI agents to join and actively participate in video calls. Through its MCP server, joinly.ai provides essential meeting tools and resources that can equip any AI agent with the skills to perform tasks and interact with you in real time during your meetings.
Want to dive right in? Jump to the Quickstart! Want to know more? Visit our website!
[!IMPORTANT]
Don't want the hustle of setting everything up? Try our cloud first! โ๏ธ๐
In this demo video, joinly answers the question 'What is Joinly?' by accessing the latest news from the web. It then creates an issue in a GitHub demo repository.
In this demo video, we connect joinly to our notion via MCP and let it edit the content of a page content live in the meeting.
Any ideas what we should build next? Write us! :rocket:
Run joinly via Docker with a basic conversational agent client.
[!IMPORTANT] Prerequisites: Docker installation
Create a new folder joinly or clone this repository (not mandatory for the following steps). In this directory, create a new .env file with a valid API key for the LLM provider you want to use, e.g. OpenAI:
[!TIP] You can find the OpenAI API key here
[!NOTE] See .env.example for complete configuration options including Anthropic (Claude) and Ollama setups. Replace the placeholder values with your actual API keys and adjust the model name as needed. Delete the placeholder values of the providers you don't use.
Pull the Docker image (~2.3GB since it packages browser and models):
Launch your meeting in Zoom, Google Meet or Teams and let joinly join the meeting using the meeting link as <MeetingURL>. Then, run the following command from the folder where you created the .env file:
:red_circle: Having trouble getting started? Let's figure it out together on our discord!
In Quickstart, we ran the Docker Container directly as a client using --client. But we can also run it as a server and connect to it from outside the container, which allows us to connect other MCP servers. Here, we run a custom client using the joinly-client package and connect it to the joinly MCP server.
[!IMPORTANT] Prerequisites: do the Quickstart (except the last command), install uv, and open two terminals
Start the joinly server in the first terminal (note, we are not using --client here and publish port 8000 on localhost only):
[!WARNING] The joinly MCP server has no authentication and accepts client-supplied configuration, so it is meant to run locally with a single trusted client. Bind it to
localhost(as above) and do not expose the port to a network.
While the server is running, start the example client implementation in the second terminal window to connect to it and join a meeting:
Add the tools of any MCP server to the agent by providing a JSON configuration. The configuration file can contain multiple entries under "mcpServers" which will all be available as tools in the meeting (see fastmcp client docs for config syntax):
Add for example a Tavily config for web searching, then run the client using the config file, here named config.json:
Configurations can be given via env variables and/or command line args. Here is a list of common configuration options, which can be used when starting the docker container:
Alternatively, you can pass --name, --lang, and provider settings as command line arguments using joinly-client, which will override settings of the server:
In general, the docker image provides an MCP server which is started by default. But to quickly get started, we also include a client implementation that can be used via --client. Note, in this case no server is started and no other client can connect to it.
We provide a Docker image with CUDA GPU support for running the transcription and TTS models on a GPU. To use it, you need to have the NVIDIA Container Toolkit installed and CUDA >= 12.6. Then pull the CUDA-enabled image:
Factual signals from GitHub, npm, and our automated checks โ not a rating.
No reviews yet โ be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/joinly-ai-joinly)<a href="https://allmcps.com/mcp/joinly-ai-joinly"><img src="https://allmcps.com/api/badge/joinly-ai-joinly?style=directory" alt="Joinly on AllMCPs" /></a>