This connects your Zoom meeting and Brevo email workflow data to Claude, letting you query webinar analytics directly from prompts. You can pull participant behavior (who stayed past the offer, who dropped off early, who engaged in chat), segment contacts by attention duration, and review transcript-synced retention curves without opening a dashboard. The MCP layer sits on top of ManyMeet's core product, which already pipes Zoom attendance into Brevo tags for behavior-triggered sequences. Reach for this when you're running sales webinars on Zoom meetings and want to ask natural language questions about funnel performance, participant intent signals, or follow-up segmentation from inside Claude instead of exporting CSVs or logging into separate analytics tools.
Public tool metadata for what this MCP can expose to an agent.
get_statusReturns the full tool map, recommended workflow, and platform capabilities. Call this first when you start a session, or any time you are unsure which tool to call.Returns the full tool map, recommended workflow, and platform capabilities. Call this first when you start a session, or any time you are unsure which tool to call.
No parameter schema in public metadata yet.
list_hostsFirst step of the golden path. Returns one entry per host with id, name, and integration health. Use the returned id as host_id for list_webinars and most other tools.First step of the golden path. Returns one entry per host with id, name, and integration health. Use the returned id as host_id for list_webinars and most other tools.
No parameter schema in public metadata yet.
get_hostReturns one host's Zoom/Brevo integration status, webhook health, and team members. Use to verify integrations are active before troubleshooting missing data. For the host's webinars, call list_webinars instead.1 paramsReturns one host's Zoom/Brevo integration status, webhook health, and team members. Use to verify integrations are active before troubleshooting missing data. For the host's webinars, call list_webinars instead.
host_idintegerlist_webinarsSecond step of the golden path. Returns one entry per webinar with id, topic, duration, run_count, and next_run_at. Use the returned id as webinar_id for get_webinar and list_webinar_runs.1 paramsSecond step of the golden path. Returns one entry per webinar with id, topic, duration, run_count, and next_run_at. Use the returned id as webinar_id for get_webinar and list_webinar_runs.
host_idintegerget_webinarReturns one webinar's configuration: email schedule, Brevo list assignments, registration settings. Default include=[] returns the base payload. Pass include=["trends"] to also embed cross-run registration/attendance trends under extras.trends. For per-run detail, use list_web...2 paramsReturns one webinar's configuration: email schedule, Brevo list assignments, registration settings. Default include=[] returns the base payload. Pass include=["trends"] to also embed cross-run registration/attendance trends under extras.trends. For per-run detail, use list_web...
includevaluewebinar_idintegerlist_webinar_runsThird step of the golden path. Returns one entry per run (instance) with id, scheduled_at, started_at, status, registration_count, attendance_count. Use the returned id as run_id for get_webinar_run and get_webinar_run_analytics.1 paramsThird step of the golden path. Returns one entry per run (instance) with id, scheduled_at, started_at, status, registration_count, attendance_count. Use the returned id as run_id for get_webinar_run and get_webinar_run_analytics.
webinar_idintegerget_webinar_runReturns one run's detail: scheduled vs. actual timing, Zoom meeting info, registration/attendance counts, recording status. For analytics on this run, use get_webinar_run_analytics. For the registrant list, use list_webinar_run_registrations.1 paramsReturns one run's detail: scheduled vs. actual timing, Zoom meeting info, registration/attendance counts, recording status. For analytics on this run, use get_webinar_run_analytics. For the registrant list, use list_webinar_run_registrations.
run_idintegerlist_webinar_run_registrationsReturns one entry per registrant for a run: name, contact_id, status (registered/attended/cancelled/no-show), registered_at, attended_duration_minutes. Pair contact_id with list_contact_emails to cross-reference email engagement per registrant.1 paramsReturns one entry per registrant for a run: name, contact_id, status (registered/attended/cancelled/no-show), registered_at, attended_duration_minutes. Pair contact_id with list_contact_emails to cross-reference email engagement per registrant.
run_idintegerget_webinar_run_analyticsDefault returns the full analytics bundle for a run. Pass sections=[...] only to scope down. Response shape: {"run_id": int, "sections": {<name>: {...}}}. Valid section names: "funnel", "timeline", "duration", "email_stats", or "all" (default). For per-registrant detail behind...2 paramsDefault returns the full analytics bundle for a run. Pass sections=[...] only to scope down. Response shape: {"run_id": int, "sections": {<name>: {...}}}. Valid section names: "funnel", "timeline", "duration", "email_stats", or "all" (default). For per-registrant detail behind...
run_idintegersectionsvalueget_webinar_run_recordingReturns recording metadata for a run: status, segment_count, duration_minutes. Call this first — get_webinar_run_transcript and get_webinar_run_chat_log only return data when status is 'ready'.1 paramsReturns recording metadata for a run: status, segment_count, duration_minutes. Call this first — get_webinar_run_transcript and get_webinar_run_chat_log only return data when status is 'ready'.
run_idintegerget_webinar_run_transcriptReturns the full speaker-attributed transcript text of a run. Requires get_webinar_run_recording status='ready'. For chat (text messages from participants), use get_webinar_run_chat_log instead.1 paramsReturns the full speaker-attributed transcript text of a run. Requires get_webinar_run_recording status='ready'. For chat (text messages from participants), use get_webinar_run_chat_log instead.
run_idintegerget_webinar_run_chat_logReturns the chat log (participant text messages) from a run. Requires get_webinar_run_recording status='ready'. For host/speaker spoken content, use get_webinar_run_transcript instead.1 paramsReturns the chat log (participant text messages) from a run. Requires get_webinar_run_recording status='ready'. For host/speaker spoken content, use get_webinar_run_transcript instead.
run_idintegerget_registrant_journeyReturns one person's full history across all of a host's webinars: every registration, attendance, duration, and cancellation. Lookup is by email (the cross-webinar identifier). For per-run registrant lists, use list_webinar_run_registrations instead.2 paramsReturns one person's full history across all of a host's webinars: every registration, attendance, duration, and cancellation. Lookup is by email (the cross-webinar identifier). For per-run registrant lists, use list_webinar_run_registrations instead.
emailstringhost_idintegerlist_contact_emailsReturns one entry per email sent to a contact: id, brevo_uuid, template_id, subject, sent_at, open/click/bounce timestamps and counts. Lookup is by contact_id (use list_webinar_run_registrations to find it). Pass a returned brevo_uuid to get_sent_email to fetch the rendered body.2 paramsReturns one entry per email sent to a contact: id, brevo_uuid, template_id, subject, sent_at, open/click/bounce timestamps and counts. Lookup is by contact_id (use list_webinar_run_registrations to find it). Pass a returned brevo_uuid to get_sent_email to fetch the rendered body.
host_idintegercontact_idintegerget_email_templateReturns one Brevo email template's design: id, name, subject, htmlContent, sender. Use this to inspect campaign content as authored. For the rendered copy a specific contact actually received (with merge tags resolved), use get_sent_email instead. Cached in memory; safe to cal...2 paramsReturns one Brevo email template's design: id, name, subject, htmlContent, sender. Use this to inspect campaign content as authored. For the rendered copy a specific contact actually received (with merge tags resolved), use get_sent_email instead. Cached in memory; safe to cal...
host_idintegertemplate_idintegerget_sent_emailReturns the rendered body of one email a contact actually received: subject, body, date, templateId. Look up brevo_uuid via list_contact_emails first — do not guess it. Brevo rate-limits this endpoint to 300/hour across the host; call selectively, never in a loop.3 paramsReturns the rendered body of one email a contact actually received: subject, body, date, templateId. Look up brevo_uuid via list_contact_emails first — do not guess it. Brevo rate-limits this endpoint to 300/hour across the host; call selectively, never in a loop.
host_idintegerbrevo_uuidstringcontact_idintegerio.github.mindstone/mcp-server-microsoft-teams
com.mintmcp/outlook-email
helbertparanhos/resend-email-mcp
marlinjai/email-mcp
io.github.mindstone/mcp-server-email-imap
io.github.osamahassouna/email-playbook-mcp