MightyAutomation
Server Details
Mighty Automation is a marketing automation platform with built-in CRM. This MCP connector lets AI clients run email marketing, enroll contacts in automations, create and update contacts, search leads, add tags and notes, list appointments, create booking links, import files, and manage webhooks. Everything is scoped to one workspace with a revocable key. Read tools are free; actions are $0.005 per successful call (import_file $0.025). Paid Mighty Automation plan required. Auth: Bearer API key (
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 37 tools
Most tools have clearly distinct purposes, especially across CRM, calendar, hooks, media, and Grok pipeline operations. A few contact-lookup tools (find_contact, search_leads, list_contacts, get_contact) and Grok pipeline stages require careful description reading, but boundaries are generally documented.
The set overwhelmingly follows a snake_case verb_noun convention, with predictable prefixes for the Grok subdomain. Minor deviations like whoami and less strictly verb-based names such as grok_render_status and grok_stitch keep it from being fully uniform.
37 tools is heavy for one MCP server and spans many subdomains: CRM, calendar, automations, webhooks, media, campaigns, dialer, content calendar, credits, and an AI audio/video pipeline. While each tool may be individually justified, the overall set is large and increases selection burden.
Core workflows are well covered for contacts, appointments, hooks, and the Grok audio/video pipeline. However, notable lifecycle gaps remain: automations are mostly read/enroll only, campaigns are list-only, media assets cannot be deleted or downloaded, and contact deletion/tag removal are absent.
Available Tools
37 toolsadd_noteAdd a noteAInspect
Append a note to a contact's timeline — visible in the CRM and usable for handoffs, call summaries, or context the member should see.
Inputs: content (required), contact_id (required). Returns: ok, note, error
add_tagAdd tags to a contactAIdempotentInspect
Merge one or more tags onto a contact — existing tags are kept. Locate the contact by contact_id or email.
Inputs: tags (required), email, contact_id. Returns: ok, tags, added, error, +1 more
cancel_appointmentCancel an appointmentADestructiveInspect
Cancel an appointment on the Sales Calendar, optionally noting a reason on it. Ids come from list_appointments. CRM calendar only — no attendee email. Appointments synced to Google Calendar or booked through a scheduling link return manage_in_app: cancel those in the Sales Calendar. Confirm with the member first.
Inputs: appointment_id (required), reason. Returns: ok, error, message, appointment
create_appointmentCreate an appointmentAInspect
Add an appointment, call, or meeting to the workspace Sales Calendar, optionally attached to a contact (by contact_id or email). This writes the CRM calendar only — it does not create a Google Calendar event, send an invite, or email anyone.
Inputs: title (required), scheduled_at (required), type, email, +5 more. Returns: ok, error, appointment
create_booking_linkCreate a booking linkAInspect
Generate a shareable scheduling link — the contact (or anyone with the link) can book an appointment on the workspace calendar. Optionally bind it to a contact so the booking attaches to their record.
Inputs: title, contact_id, window_end, window_start, +4 more. Returns: ok, url, slug, error, +1 more
create_hookSubscribe to events (webhook)AInspect
Register a webhook URL — MightyAutomation POSTs each matching event to it as they happen. Use event_type "*" for every event, or a specific type like contact_created / form_submitted / appointment_booked. This is how an external agent receives real-time notifications instead of polling list_events.
Inputs: event_type (required), target_url (required). Returns: id, ok, error, event_type, +1 more
delete_hookUnsubscribe a webhookADestructiveIdempotentInspect
Remove a webhook subscription by id (ids come from list_hooks). Events stop being delivered to that URL. Idempotent — deleting a missing hook still succeeds.
Inputs: hook_id (required). Returns: ok, error
enroll_automationEnroll contact in an automationAInspect
Start an automation for a contact — locate it by automation_id or automation_name (case-insensitive; names come from list_automations) and the contact by contact_id or email. Google steps (Gmail send, Calendar event, Drive file, Sheets row) do NOT run immediately: they come back in pending_google_approvals with status awaiting_approval until the account owner approves them in the app.
Inputs: email, contact_id, automation_id, automation_name. Returns: ok, error, run_id, status, +3 more
find_contactFind contact by emailARead-onlyIdempotentInspect
Look up a CRM contact by email address (case-insensitive). Returns the contact if it exists. For broader searches by name, company, stage, or phone use search_leads.
Inputs: email (required). Returns: ok, error, contacts
get_automationGet automation detailARead-onlyIdempotentInspect
One automation's full definition — its trigger and steps — plus name, status, and timestamps. Get the id from list_automations. Read-only.
Inputs: automation_id (required). Returns: ok, error, automation
get_contactGet contact detailARead-onlyIdempotentInspect
Full contact record plus recent activity and upcoming events. Get the id from find_contact, list_contacts, or search_leads.
Inputs: contact_id (required). Returns: ok, error, contact, activities, +1 more
get_credit_balanceGet credit balanceARead-onlyIdempotentInspect
MightyAI credit balance for this workspace plus the last 10 ledger entries (grants, purchases, spend) — this is how you check what MCP calls and AI usage cost.
Inputs: no named parameters. Returns: ok, error, balance_usd, balance_micros, +4 more
get_pipeline_boardGet pipeline boardARead-onlyIdempotentInspect
The CRM pipeline as a board: every stage in board order with how many contacts sit in it, plus a count of contacts with no stage. A "deal" here is a contact in a pipeline stage — there are no deal amounts. List the contacts in one stage with search_leads (stage).
Inputs: no named parameters. Returns: ok, error, stages, truncated, +2 more
grok_generate_audioGenerate audio (ElevenLabs)AInspect
Turn a stored transcript (transcript_id), pasted text, or ready-made script turns into a generated podcast episode via ElevenLabs. Paid, metered generation that runs in the background: returns immediately with the job id — call grok_stitch with it for status and the final audio path.
Inputs: text, title, turns, with_natalie, +1 more. Returns: ok, error, job_id, run_id, +3 more
grok_generate_videoGenerate video (HyperFrames)AInspect
Render a video through the workspace video connector (default hyperframes — AI-authored motion graphics rendered in the platform sandbox). Pass audio_job_id (from grok_generate_audio) or audio_path to mux narration under the video. Paid, metered render that runs in the background: returns immediately with render_id — call grok_render_status for progress and the result path.
Inputs: brief (required), style, connector, audio_path, +2 more. Returns: ok, error, run_id, status, +2 more
grok_publish_youtubePublish video to YouTubeADestructiveInspect
Upload a finished render to the workspace's connected YouTube channel (Data API v3). This is a REAL outbound publish — visibility defaults to private; use unlisted or public deliberately. Requires the channel to be connected in admin → Grok Boost first.
Inputs: title (required), tags, render_id, video_path, +2 more. Returns: ok, url, error, video_id
grok_render_statusVideo render statusARead-onlyIdempotentInspect
Check a video render's progress — status queued/rendering/done/failed, error detail, and a signed download URL once done. Ids come from grok_generate_video.
Inputs: render_id (required). Returns: ok, url, error, render
grok_run_pipelineRun the full pipelineADestructiveInspect
Orchestrated Grok Boost run: transcript (transcript_id, text, or turns) → ElevenLabs audio → HyperFrames video → optional YouTube publish. Stages run in the background across separate invocations — returns immediately with a run_id; watch grok_runs / the admin feed for progress and the final video_url.
Inputs: brief (required), text, style, title, +4 more. Returns: ok, step, error, run_id, +1 more
grok_stitchStitch episode audioADestructiveInspect
Report a podcast job's generation status and — once its stored dialogue chunks exist — re-stitch them with the show intro/outro bookends and return the final audio path. Poll this after grok_generate_audio; also re-runs the stitch to apply updated bookends without paying for generation again.
Inputs: job_id (required), intro_path, outro_path. Returns: ok, error, status, stitched, +3 more
grok_upload_transcriptUpload a transcriptAInspect
Store a transcript in the workspace for the Grok Boost audio pipeline. Returns a transcript_id to pass to grok_generate_audio.
Inputs: text (required), title. Returns: ok, error, transcript, transcript_id
import_fileImport a file from URLAInspect
Download a remote file (public https URL) into the workspace Media Assets library. Allowed types: image/, audio/, video/*, and application/pdf — text/html and other types are rejected; max 10 MB. Optionally attach a note to a contact recording that the file was imported for them.
Inputs: url (required), name, contact_id. Returns: ok, url, asset, error
list_appointmentsList appointmentsARead-onlyIdempotentInspect
Upcoming appointments on the workspace calendar. Optionally bound the window with from/to ISO timestamps.
Inputs: to, from. Returns: ok, error, appointments
list_automationsList automationsARead-onlyIdempotentInspect
Automations in the workspace (id, name, status). Use an automation id or name with enroll_automation.
Inputs: no named parameters. Returns: ok, error, automations
list_campaignsList email campaignsARead-onlyIdempotentInspect
Email campaigns in the workspace, newest first — name, subject, status, audience size, sent count, and schedule. Read-only: this never sends or schedules a campaign.
Inputs: limit, status. Returns: ok, error, campaigns
list_contactsList contactsARead-onlyIdempotentInspect
List CRM contacts, newest first. Filter to contacts created after a timestamp, and page with limit/offset. Use search_leads for name/stage/tag-style searches.
Inputs: limit, offset, created_after. Returns: ok, error, contacts
list_content_calendarList content calendarARead-onlyIdempotentInspect
Content Calendar items between two dates, time-sorted: planned items (with type and status), scheduled or published blog posts, published podcast episodes, and ready video clips. Read-only — nothing is created, scheduled, or posted.
Inputs: to (required), from (required). Returns: ok, error, items
list_dial_callsList Mighty Dial callsARead-onlyIdempotentInspect
The Mighty Dial call log, newest first — direction, from/to numbers, status, duration, voicemail flag, and the matched contact. Read-only: no recordings or transcripts, and it never places a call.
Inputs: limit, since, direction, contact_id. Returns: ok, calls, error
list_eventsList activity eventsARead-onlyIdempotentInspect
Workspace event feed, newest first — contact_created, tag_added, entered_stage, form_submitted, appointment_booked, call_completed, and more. Use type to filter to one event type and since to filter by timestamp.
Inputs: type, limit, since. Returns: ok, error, events
list_hooksList webhook subscriptionsARead-onlyIdempotentInspect
REST-hook subscriptions — the URLs MightyAutomation POSTs events to. Pair with create_hook / delete_hook to manage them.
Inputs: no named parameters. Returns: ok, error, subscriptions
list_media_assetsList media assetsARead-onlyIdempotentInspect
Files in the workspace Media Assets library, newest first — title, kind, MIME type, size, tags, and source. Metadata only (no download links). Use import_file to add a file.
Inputs: kind, limit. Returns: ok, error, assets
list_pipeline_stagesList pipeline stagesARead-onlyIdempotentInspect
Pipeline stage names in board order. Use the exact stage names from here when calling update_contact or search_leads.
Inputs: no named parameters. Returns: ok, error, stages
reschedule_appointmentReschedule an appointmentADestructiveInspect
Move an appointment to a new start time (and optionally a new length). Ids come from list_appointments. CRM calendar only — no attendee email. Appointments synced to Google Calendar or booked through a scheduling link return manage_in_app: reschedule those in the Sales Calendar.
Inputs: scheduled_at (required), appointment_id (required), duration_minutes. Returns: ok, error, message, appointment
search_leadsSearch leads & contactsARead-onlyIdempotentInspect
Search the CRM by free text (matches first/last name, email, company), pipeline stage, lifecycle (lead|prospect|contact|customer|churned), or "has a phone number". Returns matching contacts and a total.
Inputs: q, limit, stage, offset, +2 more. Returns: ok, error, leads, total
send_emailSend an emailADestructiveInspect
Send an email to a contact from the workspace sender identity and log it on the contact timeline. Fails safely if the contact is marked do-not-contact. Confirm the subject/body with the member before sending — this is a real outbound email.
Inputs: body (required), subject (required), contact_id (required), cc, +1 more. Returns: ok, sent, error, status
update_contactUpdate a contactADestructiveIdempotentInspect
Update fields on an existing contact — move it to a new pipeline stage, change lifecycle, set email/phone/name, or mark do_not_contact. Only the fields you pass are changed; tags replaces the tag set (use add_tag to merge instead).
Inputs: contact_id (required), tags, email, phone, +5 more. Returns: ok, error, contact
upsert_contactCreate or update a contactADestructiveIdempotentInspect
Create a CRM contact, or update it if one already exists for the email. This is how you "save a lead" — email is the only required field. Tags are merged (never replaced), notes are appended, and events are emitted so automations can fire.
Inputs: email (required), tags, notes, phone, +6 more. Returns: ok, error, events, created, +1 more
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRemote MCP server that lets AI assistants read tracked competitive intelligence — competitor news, reviews, website changes, social posts and ads — and act on it by managing projects, competitors, battle cards, reports and canvases. Every answer carries a source and a date, and write actions only publish when explicitly shared.MIT
- AlicenseCqualityCmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs112 npm29 PyPIMIT
- AlicenseAqualityDmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.169 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityCmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.