
How to add joinly to Cursor
Make your meetings accessible to AI agents — let them join, talk, and act in Zoom, Meet & Teams calls in real time. Paste the config into ~/.cursor/mcp.json and restart Cursor.
Last updated June 14, 2026 · 527★ · http · no auth
Cursor config for joinly
docker pull ghcr.io/joinly-ai/joinly:latest{
"mcpServers": {
"joinly": {
"url": "http://localhost:8000/mcp/",
"type": "streamable-http"
}
}
}Remote server — no local install needed. Restart the client after saving the config.
Setup steps
- 1Open Cursor → Settings → MCP → Add new MCP server (or edit ~/.cursor/mcp.json directly).
- 2Paste the joinly config below into the "mcpServers" object.
- 3Fill in placeholder secrets, then save.
- 4Cursor reloads MCP servers automatically — check Settings → MCP for a green status dot.
- 5Ask Cursor to use one of joinly's tools to confirm it's connected.
Before you start
- Docker (to pull and run ghcr.io/joinly-ai/joinly)
- A .env file with an LLM provider API key (e.g. OPENAI_API_KEY, or Anthropic/Ollama config)
- An MCP client to connect to the server (e.g. the joinly-client package via uvx, or a custom client)
- Optional: NVIDIA Container Toolkit and CUDA >= 12.6 for the GPU image; provider API keys for ElevenLabs/Deepgram if used
What joinly can do in Cursor
join_meetingJoin a meeting with a URL, participant name, and optional passcode.
leave_meetingLeave the current meeting.
speak_textSpeak text in the meeting using TTS (requires a 'text' parameter).
send_chat_messageSend a chat message in the meeting (requires a 'message' parameter).
mute_yourselfMute the agent's microphone.
unmute_yourselfUnmute the agent's microphone.
get_chat_historyGet the current meeting chat history in JSON format.
get_participantsGet the current meeting participants in JSON format.
Security
Self-hosted and privacy-first. The server itself requires no auth on its local MCP endpoint (default http://localhost:8000/mcp/), so do not expose port 8000 to untrusted networks. Provider API keys (LLM, ElevenLabs, Deepgram, etc.) are supplied via a .env file passed to the container. The agent can speak, send chat, and read transcripts/participants/video in live meetings — treat it as an active meeting participant.
joinly + Cursor FAQ
Where is the Cursor config file?
Cursor reads MCP servers from ~/.cursor/mcp.json. Paste the joinly config there under the "mcpServers" key and restart the client.
Is joinly safe to use with Cursor?
Self-hosted and privacy-first. The server itself requires no auth on its local MCP endpoint (default http://localhost:8000/mcp/), so do not expose port 8000 to untrusted networks. Provider API keys (LLM, ElevenLabs, Deepgram, etc.) are supplied via a .env file passed to the container. The agent can speak, send chat, and read transcripts/participants/video in live meetings — treat it as an active meeting participant.
How do I connect to the joinly MCP server?
Start the server with `docker run -p 8000:8000 ghcr.io/joinly-ai/joinly:latest`, then connect an MCP client to the streamable-HTTP endpoint at http://localhost:8000/mcp/. The README recommends the joinly-client package: `uvx joinly-client --joinly-url http://localhost:8000/mcp/ --env-file .env <MeetingUrl>`.
Which meeting platforms are supported?
Google Meet, Zoom, and Microsoft Teams, plus any meeting reachable over a browser.
Which LLM, STT, and TTS providers can I use?
Bring-your-own-LLM (OpenAI, Anthropic/Claude, or local Ollama). STT supports Whisper (local, default) or Deepgram. TTS supports Kokoro (local, default), ElevenLabs, or Deepgram.