MCP Server

WebinarIgnition

com.webinarignition/mcp
Marketing & Advertising Media & Content Public & reachable MCP 2025-11-25

What this MCP does

Plans and sets up webinars, including registration pages, invitation emails, reminders, and automated rooms.

wi_webinar
WebinarIgnition
Plan, write and set up a webinar from a chat, and answer questions about WebinarIgnition. It picks a topic, produces the title, the invitation emails, the reminders and the registration page, and prepares the live, automated or evergreen room on the user's own WordPress site. Needs no sign-in. Returns JSON. `was` selects the step: • start — entry point; returns a question with tappable options. • thema — starts a conversation from the user's text; needs `text`. • weiter — continues a conversation; needs `session_id` and `text`. A result with ready=true means the texts can be written next with was=texte. • texte — writes the finished texts for a ready session; needs `session_id`. Optional: `job_id` to poll a running job, `direction` for an angle, `skip_direction`, `invite_type` (list, personal, facebook, whatsapp, instagram, linkedin, telegram, youtube), or type="custom" with `custom_channel` for any other channel. • stand — returns what the session has collected so far; needs `session_id`. • seite — checks a WordPress address for WebinarIgnition; needs `url`; returns state, next_action and next_url. • verbinden — connects the chat to the user's own WordPress; the first call needs `session_id` and `url` and returns a connect_url that the user opens in their own browser; a later call without `url` reports whether it went through. • faehigkeiten — lists the abilities of the connected site; needs `session_id`. • ausfuehren — runs one ability on the connected site; needs `session_id`, `tool` and `args`. Destructive abilities are not run here; the answer points to wi_webinar_delete. • trennen — drops the connection; needs `session_id`. • handoff — returns a handover link carrying the collected data; needs `session_id` (or `known_facts`/`content`), optional `url`. • technik — returns the setup plan without a connected site. • frage — answers a product question (prices, limits, integrations); needs `text`. • status — technical state of the connector. Returns { error, message } when a required field is missing, and { question } when the user has choices to make.
Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['was'], 'properties': {'url': {'type': 'string', 'description': "The WordPress address (seite). With was=handoff: the host's WordPress address to point the handover link at."}, 'was': {'enum': ['start', 'thema', 'weiter', 'texte', 'stand', 'seite', 'verbinden', 'faehigkeiten', 'ausfuehren', 'trennen', 'handoff', 'technik', 'frage', 'status'], 'type': 'string', 'description': 'Which step to run.'}, 'args': {'type': 'object', 'description': 'Only with was=ausfuehren: the arguments for that ability, shaped by its input_schema.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'text': {'type': 'string', 'description': "What the host said (thema · weiter) or the question in the host's language (frage)."}, 'tool': {'type': 'string', 'description': 'Only with was=ausfuehren: the ability name exactly as was=faehigkeiten reported it, e.g. webinarignition_create_webinar. Slashes and hyphens are accepted too, but the site publishes underscores.'}, 'type': {'type': 'string', 'description': 'Only with was=texte: invites (default), starter, or custom. custom = the invitation is for a channel that is NOT one of the eight built-in platforms â\x80\x94 pass the channel name in custom_channel. A channel outside the eight built-ins is written as custom, not as one of the eight.'}, 'focus': {'enum': ['thema', 'texte', 'technik', 'fragen', 'alles'], 'type': 'string', 'description': 'Only with was=start: what it should be about.'}, 'wants': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Only with was=start: what the host wants, as short keywords (e.g. "thema", "texte", "technik").'}, 'has_wi': {'type': 'boolean', 'description': "Only with was=start: true when WebinarIgnition is already installed on the host's site."}, 'job_id': {'type': 'string', 'description': 'Only with was=texte: the job number from an earlier call, to check whether the texts are ready. Without job_id a new job is started; only one text job runs at a time.'}, 'rating': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': "Only with was=handoff: the host's rating (1-10), if any."}, 'content': {'type': 'string', 'description': 'Only with was=handoff: finished text to carry over, if the session alone does not hold it.'}, 'has_mcp': {'type': 'boolean', 'description': 'Only with was=start: true when the host already uses an MCP/connector â\x80\x94 the connector normally sets this itself.'}, 'language': {'type': 'string', 'default': 'de', 'description': 'The language the host writes in.'}, 'direction': {'type': 'string', 'description': "Optional with was=texte: the angle/framing of the invitation (natural language), e.g. 'Zeitersparnis und Skalierung ohne neue Mitarbeiter' for an agency. If missing, the invitation is written at once without a special angle."}, 'situation': {'type': 'string', 'description': 'Only with was=start: what the host just said.'}, 'session_id': {'type': 'string', 'description': 'From an earlier turn (weiter · texte · stand).'}, 'invite_type': {'enum': ['list', 'personal', 'facebook', 'whatsapp', 'instagram', 'linkedin', 'telegram', 'youtube'], 'type': 'string', 'description': 'Only with was=texte, when the invitation is for a specific platform: list = email list, personal = personal message, facebook = Facebook post, whatsapp = WhatsApp status, instagram = Instagram post, linkedin = LinkedIn post, telegram = Telegram channel, youtube = YouTube post.'}, 'known_facts': {'type': 'object', 'description': 'Everything you already know â\x80\x94 send it every turn so nothing is lost on a restart.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'has_wordpress': {'type': 'boolean', 'description': 'Only with was=start: true when the host already has a WordPress site.'}, 'custom_channel': {'type': 'string', 'description': 'Only with was=texte and type="custom": the exact name of the channel or format the invitation is for when it is not one of the eight built-in platforms â\x80\x94 e.g. Xing, WeChat, Line, KakaoTalk, Viber, Threads, Mastodon, a guest article, or the host\'s own format. The text is then written for exactly this channel, not for a built-in platform.'}, 'skip_direction': {'type': 'boolean', 'description': 'Only with was=texte: true when the host wants NO special angle â\x80\x94 then it generates without an angle.'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
wi_webinar_delete
WebinarIgnition — delete
Delete or replace something on the connected WordPress site — irreversible. Runs only an ability that is verified as destructive: delete a campaign, a webhook, registrants (single or all), the logs, the attendee questions, or the HC import that replaces a campaign. Writes abilities are not run here; use wi_webinar with was="ausfuehren" for those. Needs `session_id` and `tool`, optional `args`. Returns JSON.
Destructive Open world
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['session_id', 'tool'], 'properties': {'args': {'type': 'object', 'description': 'The arguments for that ability, shaped by its input_schema.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'tool': {'type': 'string', 'description': 'The destructive ability name exactly as was="faehigkeiten" reported it, e.g. webinarignition_delete_campaign or webinarignition_delete_webhook. Slashes and hyphens are accepted too, but the site publishes underscores.'}, 'session_id': {'type': 'string', 'description': 'The conversation id from an earlier turn â\x80\x94 the session whose WordPress site is connected.'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['result'], 'properties': {'result': {}}, 'additionalProperties': False}
Changed
wi_webinar_delete
Sept. 28, 2026, 2:40 a.m.
Changed
wi_webinar
Sept. 28, 2026, 2:40 a.m.
Added
wi_webinar_delete
Sept. 26, 2026, 2:40 a.m.
Added
wi_webinar
Sept. 26, 2026, 2:40 a.m.