Demio MCP by usefulapi

Read webinars, sessions and participants, and register attendees for a webinar in Demio.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
87%
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,161Tokens (tool definitions)
~1.4 KBTypical response size
Moderate attention impact (0.91% 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": {
    "demio": {
      "url": "https://demio.usefulapi.io/mcp"
    }
  }
}

Remote endpoints

https://demio.usefulapi.io/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢demio_check_connection

Check that the API key and secret are valid. Returns pong=true and whether the key pair is a sandbox pair. Demio API: GET /ping.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢demio_list_events(type)

List active (not canceled) webinar events with their next session, status, time and registration URL. Use type=upcoming for future sessions, past for finished ones, or automated for evergreen events. Demio API: GET /events.

Input Schema

{
  "type": "object",
  "properties": {
    "type": {
      "description": "Filter by event type. Omit for all active events.",
      "type": "string",
      "enum": [
        "upcoming",
        "past",
        "automated"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢demio_get_event(event_id, active)

Get one event with its registration URL, next session ID and every session (date) in its series, with status and time. Demio API: GET /event/{id}.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Event ID (from demio_list_events)."
    },
    "active": {
      "description": "Return only the active sessions in the series.",
      "type": "boolean"
    }
  },
  "required": [
    "event_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢demio_get_event_session(event_id, date_id)

Get one session (event date) with its status, Unix timestamp and time zone. Demio API: GET /event/{id}/date/{date_id}.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Event ID (from demio_list_events)."
    },
    "date_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Session ID, also called Event Date ID (from demio_get_event)."
    }
  },
  "required": [
    "event_id",
    "date_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢demio_list_participants(date_id, status)

List the participants of one session with their name, email, custom field values, attendance flag and status. Use status to filter (attended, did not attend, completed, left early, banned). Demio API: GET /report/{date_id}/participants.

Input Schema

{
  "type": "object",
  "properties": {
    "date_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Session ID, also called Event Date ID (from demio_get_event)."
    },
    "status": {
      "description": "Only return participants with this status.",
      "type": "string",
      "enum": [
        "attended",
        "did not attend",
        "completed",
        "left early",
        "banned"
      ]
    }
  },
  "required": [
    "date_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴demio_register_attendee(event_id, ref_url, date_id, name, email, ...)

WRITE: register one person for a webinar and return their personal join link. Give event_id or ref_url. Without date_id, Demio uses the nearest active session. A repeat call can create a second registrant. Demio API: PUT /event/register.

Input Schema

{
  "type": "object",
  "properties": {
    "event_id": {
      "description": "Event ID. Give this or ref_url.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "ref_url": {
      "description": "Event registration page URL, when the event ID is unknown.",
      "type": "string",
      "format": "uri"
    },
    "date_id": {
      "description": "Session ID. Omit to use the nearest active session.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "First name of the registrant."
    },
    "email": {
      "type": "string",
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
      "description": "Email address of the registrant."
    },
    "last_name": {
      "description": "Last name (predefined field).",
      "type": "string"
    },
    "company": {
      "description": "Company (predefined field).",
      "type": "string"
    },
    "website": {
      "description": "Website (predefined field).",
      "type": "string"
    },
    "phone_number": {
      "description": "Phone number (predefined field).",
      "type": "string"
    },
    "gdpr": {
      "description": "Value for the predefined GDPR field.",
      "type": "string"
    },
    "custom_fields": {
      "description": "Custom registration fields as { field_id: value }. Field IDs are in the event's Registration block.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    }
  },
  "required": [
    "name",
    "email"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools