WebinarIgnition

Build or create a webinar from chat: registration page, invitation emails, evergreen funnel.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
100%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,897Tokens (tool definitions)
~7.6 KBTypical response size
Moderate attention impact (1.48% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mcp": {
      "url": "https://mcp.webinarignition.com"
    }
  }
}

Remote endpoints

https://mcp.webinarignition.comstreamable-http

What it can do

Tool inventory

Tools (2)

๐ŸŸข Read-only๐ŸŸก Write๐Ÿ”ด Deleteโšช Unknown
๐ŸŸกwi_webinar(was, tool, args, text, session_id, ...)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "was": {
      "type": "string",
      "enum": [
        "start",
        "thema",
        "weiter",
        "texte",
        "stand",
        "seite",
        "verbinden",
        "faehigkeiten",
        "ausfuehren",
        "trennen",
        "handoff",
        "technik",
        "frage",
        "status"
      ],
      "description": "Which step to run."
    },
    "tool": {
      "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": "string"
    },
    "args": {
      "description": "Only with was=ausfuehren: the arguments for that ability, shaped by its input_schema.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "text": {
      "description": "What the host said (thema ยท weiter) or the question in the host's language (frage).",
      "type": "string"
    },
    "session_id": {
      "description": "From an earlier turn (weiter ยท texte ยท stand).",
      "type": "string"
    },
    "job_id": {
      "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.",
      "type": "string"
    },
    "url": {
      "description": "The WordPress address (seite). With was=handoff: the host's WordPress address to point the handover link at.",
      "type": "string"
    },
    "content": {
      "description": "Only with was=handoff: finished text to carry over, if the session alone does not hold it.",
      "type": "string"
    },
    "rating": {
      "description": "Only with was=handoff: the host's rating (1-10), if any.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "language": {
      "default": "de",
      "description": "The language the host writes in.",
      "type": "string"
    },
    "known_facts": {
      "description": "Everything you already know โ€” send it every turn so nothing is lost on a restart.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "focus": {
      "description": "Only with was=start: what it should be about.",
      "type": "string",
      "enum": [
        "thema",
        "texte",
        "technik",
        "fragen",
        "alles"
      ]
    },
    "situation": {
      "description": "Only with was=start: what the host just said.",
      "type": "string"
    },
    "type": {
      "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 โ€” pass the channel name in custom_channel. A channel outside the eight built-ins is written as custom, not as one of the eight.",
      "type": "string"
    },
    "custom_channel": {
      "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 โ€” 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.",
      "type": "string"
    },
    "invite_type": {
      "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.",
      "type": "string",
      "enum": [
        "list",
        "personal",
        "facebook",
        "whatsapp",
        "instagram",
        "linkedin",
        "telegram",
        "youtube"
      ]
    },
    "direction": {
      "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.",
      "type": "string"
    },
    "skip_direction": {
      "description": "Only with was=texte: true when the host wants NO special angle โ€” then it generates without an angle.",
      "type": "boolean"
    },
    "has_wordpress": {
      "description": "Only with was=start: true when the host already has a WordPress site.",
      "type": "boolean"
    },
    "has_wi": {
      "description": "Only with was=start: true when WebinarIgnition is already installed on the host's site.",
      "type": "boolean"
    },
    "has_mcp": {
      "description": "Only with was=start: true when the host already uses an MCP/connector โ€” the connector normally sets this itself.",
      "type": "boolean"
    },
    "wants": {
      "description": "Only with was=start: what the host wants, as short keywords (e.g. \"thema\", \"texte\", \"technik\").",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "was"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {}
  },
  "required": [
    "result"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
๐Ÿ”ดwi_webinar_delete(session_id, tool, args)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "session_id": {
      "type": "string",
      "description": "The conversation id from an earlier turn โ€” the session whose WordPress site is connected."
    },
    "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."
    },
    "args": {
      "description": "The arguments for that ability, shaped by its input_schema.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "session_id",
    "tool"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {}
  },
  "required": [
    "result"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded2 tools