MCP Elicitation and Apps Demo
MCP Elicitation and Apps Demo
Ein minimaler MCP-Server-Demo mit Elicitation- und MCP-Apps-Unterstützung für Webinar-Präsentationen.
Features
Elicitation-Tool:
book_appointmentmit SQLite-PersistenzMCP-App:
view_appointmentsmit interaktiver HTML-BenutzeroberflächeTailwind CSS: Moderne, responsive Oberfläche
Echtzeitdaten: Live-Terminstatistiken
SQLite-Datenbank: Datenpersistenz und Beispieldaten
HTTP-Transport: Endpunkt unter
http://localhost:3000/mcp
Related MCP server: MCP Appointment Booking Server
MCP-Apps-Funktion
Diese Demo enthält jetzt MCP-Apps-Unterstützung mit:
Interaktive HTML-Oberfläche, die in MCP-Hosts gerendert wird
Tailwind CSS für modernes Styling
Echtzeit-Visualisierung von Termindaten
Statistik-Dashboard
Vorgeladene Beispieldaten
Datenbankschema
CREATE TABLE appointments (
id INTEGER PRIMARY KEY AUTOINCREMENT,
person TEXT NOT NULL,
duration_minutes INTEGER NOT NULL,
created_at TEXT NOT NULL
);Installation
# Install dependencies
npm install
# Build TypeScript
npm run buildDemo ausführen
Elicitation-Demo (Original)
# Start the original elicitation server
npm start
# Or for development with auto-reload:
npm run devMCP-Apps-Demo (Neu)
# Start the MCP Apps server
npm run start:apps
# Or for development with auto-reload:
npm run dev:appsEinfacher Test
So sieht der erwartete Ablauf aus:
npm run testWebinar-Ablauf
Server starten:
npm startEinen MCP-Client mit
http://localhost:3000/mcpverbindenFragen: „Einen Termin mit John buchen"
Elicitation fragt nach der Dauer: 30 / 60 / 90 Minuten
Wählen Sie 60
Öffnen Sie
appointments.dbin einer SQLite-GUIZeigen Sie die eingefügte Zeile mit John, 60 Minuten und Zeitstempel
Tool-Spezifikationen
Termin buchen (Elicitation-Demo)
Name: book_appointment
Ersteingabe:
{
"person": "string"
}Elicitation (wenn die Dauer fehlt):
Nachricht: „Wie lange soll der Termin dauern?"
Schema: Enum von 30, 60 oder 90 Minuten
Ergebnis: Fügt in SQLite ein und gibt eine Bestätigungsnachricht zurück.
Termine anzeigen (MCP-App)
Name: view_appointments
Eingabe: Keine erforderlich
Ergebnis: Öffnet eine interaktive HTML-Oberfläche mit:
Liste aller Termine
Statistik-Dashboard (Gesamtzahl der Termine, Gesamtdauer, durchschnittliche Dauer)
Echtzeit-Datenaktualisierung
Modernes Tailwind-CSS-Styling
MCP-App-Funktionen:
Interaktive Benutzeroberfläche, die direkt in MCP-Hosts gerendert wird
HTML-Inhalt, der über die MCP-Resources-API bereitgestellt wird
Echtzeitdaten aus der SQLite-Datenbank
Codestruktur
Original-Demo
src/server-simple.ts– Einfacher MCP-Server mit Elicitation-Logiksrc/db.ts– SQLite-Datenbankoperationenappointments.db– SQLite-Datenbankdatei (wird beim ersten Start erstellt)
MCP-Apps-Demo
src/server-apps.ts– Erweiterter Server mit MCP-Apps-Unterstützungsrc/appointments-ui.html– Interaktive HTML-Oberfläche mit Tailwind CSSappointments.db– Gemeinsame SQLite-Datenbank mit Beispieldaten
Wichtige Implementierungspunkte
Tool startet – Empfängt den Parameter
personElicitation – Erkennt fehlende
duration_minutes, gibtinputRequiredzurückFortsetzen – Nachdem der Benutzer die Dauer angegeben hat, wird der Vorgang abgeschlossen und in der DB gespeichert
Testen
Sie können beide Server mit jedem MCP-kompatiblen Client (Claude Desktop, VS Code mit MCP-Erweiterung usw.) testen, indem Sie sich mit http://localhost:3000/mcp verbinden.
Elicitation-Demo testen
Mit
http://localhost:3000/mcpverbindenbook_appointmentmit{"person": "John"}aufrufenDer Server fragt per Elicitation nach der Dauer (30/60/90 Minuten)
Dauer angeben, um den Termin abzuschließen
MCP-Apps-Demo testen
Den MCP-Apps-Server starten:
npm run start:appsMit
http://localhost:3000/mcpverbindenview_appointmentsaufrufen (keine Parameter erforderlich)Der MCP-Host rendert die interaktive HTML-Oberfläche
Termine mit Statistiken und Echtzeitdaten erkunden
Anforderungen
Node.js 18+
SQLite-GUI (zum Anzeigen der Datenbank während der Demo)
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceAn MCP server that enables interaction with OnSched's consumer-facing appointment scheduling API through natural language, allowing users to manage bookings, appointments, and scheduling operations.
- Alicense-qualityDmaintenanceAn MCP server that enables users to book, cancel, reschedule, and list appointments through natural language interactions. It uses YAML configurations for agent behavior and function logic to manage appointment data and availability.MIT
- Alicense-qualityDmaintenanceEnables users to manage medical appointments by searching for doctors, checking availability, and booking sessions through a natural language interface. It serves as a reference implementation for advanced MCP features like symptom-based specialist recommendations and multi-step scheduling workflows.15MIT
- Flicense-qualityDmaintenanceA demonstration MCP server that shows how to use elicitations to ask users for preferences during a video search tool execution.1
Related MCP Connectors
An AI concierge that turns static forms into adaptive AI conversations. From any MCP client.
MCP server for the Fail Modes taxonomy — a knowledge base of AI system failure modes
Remote MCP for MCP consent scope receipt, structured receipts, audit logs, and reviewer-ready eviden
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/artemreva-hub/Otus.AI_For_Dev.Webinar14.MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server