Koskamo

Seminara MCP

An MCP server that enables AI agents to manage interactive live presentations, create sessions with AI presenters, retrieve attendee analytics, and export leads via tools like create_session and get_session_analytics.

Endpoint and access

OAuth sign-in: the first time you connect, your client opens the vendor's own authorization prompt in a browser.

Seminara MCP logo, by SeminaraCommunity listingStreamable HTTPOAuth sign-inEndpoint checked 2026-11-07Published by Seminara
You need:Bearer API keysOAuth 2.0 Device Flow authorization
MCP endpoint (Streamable HTTP)
https://seminara.online/api/v1/mcp
Vendor documentation

What its tools do

8 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

8 of 8 have a description · 8 of 8 declare behavior hints · 8 of 8 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Create interactive presentations with slides and AI personas
  • List active or scheduled presentation sessions
  • Retrieve attendee engagement and question metrics
  • Export captured leads and intent signals

Source and maintenance

Community listingRegistry 1.0.0
Maintenance checked

Protocol and capabilities

Server
seminara-mcp-server 2.1.0
MCP protocol negotiated in check
2025-11-25
Tools
8 advertised
Resources
5 advertised
Resource templates
Sign-in required
Prompts
3 advertised
Server-advertised capabilities
{
  "pap": true,
  "apps": {
    "a2ui": true,
    "uiResources": [
      "seminara://docs/spec",
      "seminara://docs/pap",
      "ui://seminara.online/sessions/create",
      "ui://seminara.online/sessions/preview",
      "ui://seminara.online/analytics"
    ],
    "generativeUI": true
  },
  "tools": {
    "listChanged": false
  },
  "logging": {},
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "subscribe": false,
    "listChanged": false
  },
  "personalAgentProtocol": "0.1-draft"
}

Tools

8 advertised

create_session
Advertised by the server during the last successful anonymous check.
Open-world

Create a new Seminara interactive presentation session with optional CTA, live publishing, slides, and knowledge base context.

create_session input schema
{
  "type": "object",
  "required": [
    "title"
  ],
  "properties": {
    "title": {
      "type": "string",
      "description": "Session title"
    },
    "ctaUrl": {
      "type": "string",
      "description": "Call to action destination link (e.g. \"https://cal.com/meeting\")"
    },
    "isLive": {
      "type": "boolean",
      "description": "Whether to publish session live immediately (default false, stays draft)"
    },
    "pdfUrl": {
      "type": "string",
      "description": "Optional presentation PDF URL"
    },
    "slides": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "imageUrl": {
            "type": "string",
            "description": "Slide image URL"
          },
          "agentNotes": {
            "type": "string",
            "description": "Private presenter instructions for Aura"
          },
          "textContent": {
            "type": "string",
            "description": "Slide key text and bullet points"
          }
        }
      },
      "description": "Optional slide cards to seed for this session"
    },
    "ctaText": {
      "type": "string",
      "description": "Call to action button text (e.g. \"Book a Demo\")"
    },
    "description": {
      "type": "string",
      "description": "Optional session description"
    },
    "knowledgeBase": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "content"
        ],
        "properties": {
          "title": {
            "type": "string",
            "description": "Document or topic title"
          },
          "content": {
            "type": "string",
            "description": "Contextual content text"
          }
        }
      },
      "description": "Optional background knowledge context or FAQs for Aura"
    }
  }
}
create_session output schema
{
  "type": "object",
  "required": [
    "id",
    "title",
    "status",
    "roomUrl"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "UUID of the created session"
    },
    "title": {
      "type": "string",
      "description": "Session title"
    },
    "isLive": {
      "type": "boolean",
      "description": "Whether session is published live"
    },
    "status": {
      "type": "string",
      "description": "Session status (draft or published)"
    },
    "roomUrl": {
      "type": "string",
      "description": "Audience join link"
    },
    "createdAt": {
      "type": "string",
      "description": "ISO timestamp of creation"
    },
    "rehearsalUrl": {
      "type": "string",
      "description": "Zero-cost rehearsal sandbox link"
    }
  }
}
create_session annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
list_sessions
Advertised by the server during the last successful anonymous check.
Advertised read-only

List existing sessions for the host account.

list_sessions input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "Number of sessions to return (default 10)"
    }
  }
}
list_sessions output schema
{
  "type": "object",
  "required": [
    "sessions"
  ],
  "properties": {
    "count": {
      "type": "number",
      "description": "Total count of returned sessions"
    },
    "sessions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          }
        }
      },
      "description": "List of host presentation sessions"
    }
  }
}
list_sessions annotations
{
  "readOnlyHint": true,
  "idempotentHint": true
}
get_session
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get details and slides count for a specific session.

get_session input schema
{
  "type": "object",
  "required": [
    "sessionId"
  ],
  "properties": {
    "sessionId": {
      "type": "string",
      "description": "UUID of the session"
    }
  }
}
get_session output schema
{
  "type": "object",
  "required": [
    "id",
    "title",
    "status"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "roomUrl": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "slidesCount": {
      "type": "number"
    }
  }
}
get_session annotations
{
  "readOnlyHint": true,
  "idempotentHint": true
}
get_session_analytics
Advertised by the server during the last successful anonymous check.
Advertised read-only

Retrieve attendee metrics, engagement scores, and Q&A stats for a session.

get_session_analytics input schema
{
  "type": "object",
  "required": [
    "sessionId"
  ],
  "properties": {
    "sessionId": {
      "type": "string",
      "description": "UUID of the session"
    }
  }
}
get_session_analytics output schema
{
  "type": "object",
  "required": [
    "sessionId"
  ],
  "properties": {
    "ctaClicks": {
      "type": "number"
    },
    "sessionId": {
      "type": "string"
    },
    "questionsCount": {
      "type": "number"
    },
    "totalAttendees": {
      "type": "number"
    },
    "averageEngagementSec": {
      "type": "number"
    }
  }
}
get_session_analytics annotations
{
  "readOnlyHint": true,
  "idempotentHint": true
}
export_leads
Advertised by the server during the last successful anonymous check.
Advertised read-only

Export attendee leads and high-intent engagement data for a session.

export_leads input schema
{
  "type": "object",
  "required": [
    "sessionId"
  ],
  "properties": {
    "sessionId": {
      "type": "string",
      "description": "UUID of the session"
    }
  }
}
export_leads output schema
{
  "type": "object",
  "required": [
    "sessionId",
    "leads"
  ],
  "properties": {
    "leads": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "company": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          },
          "ctaClicked": {
            "type": "boolean"
          }
        }
      }
    },
    "sessionId": {
      "type": "string"
    }
  }
}
export_leads annotations
{
  "readOnlyHint": true,
  "idempotentHint": true
}
discover_sessions
Advertised by the server during the last successful anonymous check.
Advertised read-only

Browse public community sessions listed on Seminara Discover. Returns live, publicly discoverable sessions with titles, descriptions, and join URLs. Does not require authentication.

discover_sessions input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "Number of sessions to return (default 10, max 50)"
    },
    "query": {
      "type": "string",
      "description": "Optional search term to filter sessions by title or description"
    }
  }
}
discover_sessions output schema
{
  "type": "object",
  "required": [
    "sessions"
  ],
  "properties": {
    "total": {
      "type": "number"
    },
    "sessions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "tags": {
            "type": "array"
          },
          "title": {
            "type": "string"
          },
          "joinUrl": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        }
      }
    }
  }
}
discover_sessions annotations
{
  "readOnlyHint": true,
  "idempotentHint": true
}
pap_query_aura
Advertised by the server during the last successful anonymous check.
Advertised read-only

Converse with Aura (Company Agent) via Personal Agent Protocol. Query slide outlines, ask real-time presentation questions, and inspect active CTAs.

pap_query_aura input schema
{
  "type": "object",
  "required": [
    "message"
  ],
  "properties": {
    "message": {
      "type": "string",
      "description": "Question or statement to Aura"
    },
    "sessionId": {
      "type": "string",
      "description": "Optional presentation session UUID"
    },
    "attendeeName": {
      "type": "string",
      "description": "Optional name of the attendee represented by the personal agent"
    }
  }
}
pap_query_aura output schema
{
  "type": "object",
  "required": [
    "reply"
  ],
  "properties": {
    "reply": {
      "type": "string",
      "description": "Natural spoken dialogue response from Aura"
    },
    "sessionId": {
      "type": "string"
    },
    "suggestedActions": {
      "type": "array"
    }
  }
}
pap_query_aura annotations
{
  "readOnlyHint": true,
  "idempotentHint": false
}
submit_attendee_lead
Advertised by the server during the last successful anonymous check.

Submit consented attendee contact details and lead interest for a presentation session on behalf of a human user (Personal Agent Protocol).

submit_attendee_lead input schema
{
  "type": "object",
  "required": [
    "sessionId",
    "email"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Attendee full name"
    },
    "email": {
      "type": "string",
      "description": "Attendee contact email"
    },
    "notes": {
      "type": "string",
      "description": "Optional notes or question context"
    },
    "phone": {
      "type": "string",
      "description": "Optional attendee phone number"
    },
    "company": {
      "type": "string",
      "description": "Optional attendee company name"
    },
    "sessionId": {
      "type": "string",
      "description": "UUID of the presentation session"
    },
    "ctaClicked": {
      "type": "boolean",
      "description": "Whether the attendee clicked or opted into the session CTA"
    }
  }
}
submit_attendee_lead output schema
{
  "type": "object",
  "required": [
    "success"
  ],
  "properties": {
    "leadId": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "success": {
      "type": "boolean"
    }
  }
}
submit_attendee_lead annotations
{
  "readOnlyHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}

Prompts

3 advertised

prepare_presentation_brief

Advertised by the server during the last successful anonymous check.

Design and structure an autonomous live interactive presentation for Aura, with slide outlines, conversational voice notes, and attendee CTA.

topic
Presentation topic or product focus (required)
targetAudience
Target audience description or prospective buyer profile
ctaGoal
In-session attendee conversion goal (e.g. Book Demo, Start Trial, Request Quote)
rehearse_presentation

Advertised by the server during the last successful anonymous check.

Conduct a zero-cost sandbox rehearsal for a presentation deck to verify slide transitions and voice delivery without consuming account minutes.

sessionId
UUID of the presentation session to rehearse (required)
pap_aura_briefing

Advertised by the server during the last successful anonymous check.

Personal Agent briefing template: query Aura about slide deck takeaways, product highlights, and active offers.

sessionId
UUID of the presentation session (required)
userQuestion
The specific question or interest of the human user represented by the personal agent

Resources

5 advertised

Seminara Autonomous Presentation Platform Specification

Advertised by the server during the last successful anonymous check.

Comprehensive platform specification covering WebRTC live presenter architecture (Aura), sub-second voice pipeline, dynamic slide FSM, and pricing.

Seminara Autonomous Presentation Platform Specification URI
seminara://docs/spec

MIME type: text/markdown

Personal Agent Protocol (PAP) Architecture

Advertised by the server during the last successful anonymous check.

Specification and surfaces for personal AI agents (Meta AI, Claude) discovering and interacting with Seminara company agents.

Personal Agent Protocol (PAP) Architecture URI
seminara://docs/pap

MIME type: text/markdown

Interactive Session Creator App

Advertised by the server during the last successful anonymous check.

Interactive UI app allowing users to upload slide decks, define presentation outlines, and test voice notes directly in-agent.

Interactive Session Creator App URI
ui://seminara.online/sessions/create

MIME type: text/html;profile="mcp-app"

Live Presentation Room Preview App

Advertised by the server during the last successful anonymous check.

Interactive preview player for live AI presentation rooms with slide synchronizer.

Live Presentation Room Preview App URI
ui://seminara.online/sessions/preview

MIME type: text/html;profile="mcp-app"

Live Engagement Analytics App

Advertised by the server during the last successful anonymous check.

Interactive visual analytics dashboard for audience dropoff, question frequency, and CTA conversions.

Live Engagement Analytics App URI
ui://seminara.online/analytics

MIME type: text/html;profile="mcp-app"

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1100 ms
95th percentile latency
1100 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1100 ms · metadata changed · refuses unauthenticated resources/templates/list (HTTP 401)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http seminara-mcp https://seminara.online/api/v1/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add seminara-mcp --url https://seminara.online/api/v1/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable seminara-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "seminara-mcp": {
      "url": "https://seminara.online/api/v1/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "seminara-mcp": {
      "type": "streamableHttp",
      "url": "https://seminara.online/api/v1/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start seminara-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "seminara-mcp": {
      "type": "http",
      "url": "https://seminara.online/api/v1/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http seminara-mcp https://seminara.online/api/v1/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://seminara.online/api/v1/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "seminara-mcp": {
      "serverUrl": "https://seminara.online/api/v1/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Seminara MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.