Nightlife Search
nightlife-mcp
MCP-Server für die Entdeckung von Nachtleben-Events, unterstützt durch Supabase.
Schnellstart
Produktions-Endpunkt: https://api.nightlife.dev/mcp
Holen Sie sich einen kostenlosen API-Schlüssel unter nightlife.dev
Fügen Sie ihn zur Claude Desktop-Konfiguration (
claude_desktop_config.json) hinzu:
{
"mcpServers": {
"nightlife": {
"url": "https://api.nightlife.dev/mcp",
"headers": {
"x-api-key": "YOUR_API_KEY"
}
}
}
}Für curl, das TypeScript SDK und andere Clients siehe CLIENT_SETUP.md.
Related MCP server: EvHenter MCP
Implementiert (v0.3)
search_eventsget_tonightget_event_detailssearch_venuesget_venue_infosearch_performersget_performer_infolog_unmet_requestcreate_vip_booking_requestget_vip_booking_statusget_vip_table_availabilityget_vip_table_chartget_recommendations(v0.2, hinterMCP_ENABLE_RECOMMENDATIONS=true)Streambarer HTTP-Endpunkt mit API-Key-Middleware
Strukturierte Tool-Ausgabeschemata (
outputSchema)Deterministische Tool-Fehler-Payloads mit stabilen Fehlercodes
Laufzeit-Anfrage-/Tool-Metriken verfügbar unter
/health
Voraussetzungen
Node.js 18+
Supabase-Projekt-URL + Service-Role-Key
Einrichtung
cp .env.example .env
npm installSetzen Sie die Umgebungsvariablen in .env:
SUPABASE_URLSUPABASE_SERVICE_ROLE_KEY
Optional:
DEFAULT_CITY(Standard:tokyo)MCP_TOP_LEVEL_CITIES(Standardbeispiel:tokyo,san-francisco; steuertavailable_citiesbei Antworten für nicht unterstützte Städte)DEFAULT_COUNTRY_CODE(Standard:JP)NIGHTLIFE_BASE_URL(Standard:https://nightlifetokyo.com)MCP_HTTP_REQUIRE_API_KEY(Standard:true)MCP_HTTP_USE_DB_KEYS(Standard:true)MCP_HTTP_ALLOW_ENV_KEY_FALLBACK(Standard:true)MCP_HTTP_API_KEYS(durch Kommas getrennte Legacy-Fallback-Schlüssel)MCP_ENABLE_RECOMMENDATIONS(Standard:false; aktiviertget_recommendations)
DB-API-Key-Modus (Empfohlen)
Die HTTP-Authentifizierung kann persistente API-Schlüssel von Supabase sowie eine Kontingentverfolgung nutzen.
Führen Sie die SQL-Migration in Ihrem Supabase SQL-Editor aus:
-- copy file contents from:
-- supabase/migrations/20260219094000_mcp_api_keys.sqlStellen Sie sicher, dass die DB-Auth-Flags in
.envaktiviert sind:
MCP_HTTP_REQUIRE_API_KEY=true
MCP_HTTP_USE_DB_KEYS=true
MCP_HTTP_ALLOW_ENV_KEY_FALLBACK=trueErstellen Sie einen API-Key-Datensatz:
npm run key:create -- --name claude-desktop --tier starter --daily-quota 1000 --minute-quota 60Dies gibt den rohen api_key einmalig aus. Speichern Sie ihn sicher und verwenden Sie ihn bei MCP-HTTP-Aufrufen.
Wenn der DB-RPC nicht verfügbar ist, funktioniert der Fallback auf MCP_HTTP_API_KEYS nur, wenn MCP_HTTP_ALLOW_ENV_KEY_FALLBACK=true gesetzt ist.
Concierge-Backlog für nicht erfüllte Anfragen
Öffentliche Concierge-Abläufe können nicht unterstützte Benutzerabsichten in Supabase protokollieren.
Migration ausführen:
-- copy file contents from:
-- supabase/migrations/20260226_concierge_unmet_requests.sqlRufen Sie dann das MCP-Tool log_unmet_request auf, wenn keine gute Antwort aus den verfügbaren Nachtleben-Daten existiert.
VIP-Buchung Phase 1
Die Einreichung von VIP-Tischbuchungen und die Statusverfolgung werden durch Supabase unterstützt.
Migration ausführen:
-- copy file contents from:
-- supabase/migrations/20260227143000_vip_phase1_requests_and_queue.sql
-- supabase/migrations/20260228124500_add_vip_booking_enabled_to_venues.sql
-- and if already deployed before 2026-02-28:
-- supabase/migrations/20260228111000_vip_outward_language_defaults.sql
-- supabase/migrations/20260301010000_vip_table_availability_chart.sql
-- supabase/migrations/20260301114000_vip_table_chart_storage_bucket.sql
-- supabase/migrations/20260303093000_vip_dashboard_admin_edits.sqlRufen Sie dann die MCP-Tools auf:
create_vip_booking_requestget_vip_booking_statusget_vip_table_availability(Tischverfügbarkeit pro Tag nach Veranstaltungsort/Datumsbereich lesen)get_vip_table_chart(Strukturiertes Tischdiagramm mit optionalem Status-Overlay pro Datum und optionalemlayout_image_urllesen)
Konversationsrichtlinie für create_vip_booking_request:
Bestätigen Sie das Buchungsdatum/-uhrzeit in der Ortszeit des Veranstaltungsortes vor dem Absenden.
Verwenden Sie eine Bestätigungsformulierung mit zwei Daten, insbesondere bei Ankünften spät in der Nacht (
00:00-05:59).Erforderliche Bestätigungsvorlage:
Just to confirm: you want a table for [Night Day] night ([Night Date]), arriving around [Time] on [Arrival Day], [Arrival Date] ([Timezone]). I'll submit that as [Night Day] night with [Time] arrival. Is that correct?
Wenn der Benutzer eine Uhrzeit wie
2amohne Tag angibt, fragen Sie:Do you mean 2:00 AM after Thursday night (Friday morning), or after Friday night (Saturday morning)?
Wenn der Benutzer den Tag ändert, generieren Sie die Bestätigung vor dem Absenden neu.
Ops-Tier-Sitzungen verfügen auch über interne Warteschlangen-Tools:
list_vip_reservations(alle ausstehenden Reservierungen; Standardstatus:submitted,in_review,confirmed)list_vip_requests_for_alerting(nur fällige Alarme)mark_vip_request_alert_sentclaim_vip_request_after_ackupdate_vip_booking_status(setztconfirmed/rejected/cancelledmit Audit-Ereignis)upsert_vip_venue_tables(schreibt Definitionen für Veranstaltungsort-Tische + Diagrammkoordinaten + optionale Tischnotizen + optionaleslayout_image_url)upsert_vip_table_availability(schreibt Tischstatus pro Datum)upload_vip_table_chart_image(lädt Diagrammbild in den Speicher hoch und fügtlayout_image_urlzu den Metadaten des Veranstaltungsort-Tisches hinzu)
Um zuerst buchbare Veranstaltungsorte zu entdecken, verwenden Sie:
search_venuesmitvip_booking_supported_only=trueoder
get_venue_infound prüfen Sievip_booking_supported
Für interne Mitarbeiter bei der Veranstaltungsort-Buchung, fordern Sie Warteschlangenaufgaben über die DB-Funktion an:
public.claim_next_vip_agent_task(p_agent_id text)
VIP-Ops-Dashboard
Interne Dashboard-Routen:
GET /ops/loginPOST /ops/loginPOST /ops/logoutGET /ops/vip-dashboard
Interne Admin-API-Routen (Cookie-Sitzung geschützt):
GET /api/v1/admin/vip-bookingsGET /api/v1/admin/vip-bookings/:idPATCH /api/v1/admin/vip-bookings/:id
Erforderliche Umgebungsvariablen:
VIP_DASHBOARD_ADMINS(durch Kommas getrennteusername:password-Paare)
Optionale Umgebungsvariablen:
VIP_DASHBOARD_SESSION_TTL_MINUTES(Standard:720)VIP_DASHBOARD_SESSION_COOKIE_NAME(Standard:vip_dashboard_session)
Ausführen
Stdio (lokale Desktop-Clients):
npm run devStreambares HTTP:
npm run dev:httpFür Produktions-Build:
npm run build
npm startFür HTTP in der Produktion:
npm run start:httpAuthentifizierter Produktions-Smoke-Check:
NLT_API_KEY=... npm run smoke:prod:authOptionale Umgebungs-Overrides:
NLT_MCP_URL(Standard:https://api.nightlife.dev/mcp)NLT_REST_BASE_URL(Standard:https://api.nightlife.dev/api/v1)NLT_SMOKE_CITY(Standard:tokyo)
Debug-Web-UI für Empfehlungen:
MCP_ENABLE_RECOMMENDATIONS=true npm run dev:http
# open http://127.0.0.1:3000/debug/recommendationsHinweise
Die Datumsbehandlung unterstützt
tonight,this_weekend,YYYY-MM-DDundYYYY-MM-DD/YYYY-MM-DD.get_recommendationsgibt bis zu 10 verschiedene modale Slots mit dynamischem stadtbewusstem Fallback zurück.Veranstaltungsort- und Performer-Tools enthalten Snapshots kommender Events.
log_unmet_requestschreibt ungelöste Benutzeranfragen inpublic.concierge_unmet_requests.VIP Phase 1 schreibt Buchungseinreichungen in
public.vip_booking_requestsund Warteschlangenaufgaben für Mitarbeiter inpublic.vip_agent_tasks.VIP-Inventar schreibt Tischdefinitionen in
public.vip_venue_tablesund datumsspezifische Status inpublic.vip_table_availability.search_venuesundget_venue_infoenthaltenvip_booking_supported, damit Clients genau anzeigen können, welche Veranstaltungsorte VIP-Buchungseinreichungen akzeptieren.vip_booking_supportedstammt auspublic.venues.vip_booking_enabled(getrennt vonguest_list_enabled).create_vip_booking_requestakzeptiert nur Veranstaltungsorte, bei denenvip_booking_supported=trueist.Die Stadtverwaltung wird durch
public.cities(slug, Zeitzone und Service-Tages-Cutoff) unterstützt.Unterstützte Städte auf oberster Ebene sind umgebungskonfigurierbar (zum Beispiel
tokyoundsan-francisco), während Tokio der Standard bleiben kann.Stdio-Transport: keine API-Key-Prüfung.
HTTP-Transport (
/mcp): API-Key standardmäßig erforderlich (MCP_HTTP_REQUIRE_API_KEY=true).API-Key-Header:
Authorization: Bearer <key>x-api-key: <key>
HTTP-Antworten enthalten Key-Tier/Quelle und Ratenbegrenzungs-Header, wenn DB-gestützte Authentifizierung aktiv ist:
X-API-Key-TierX-API-Key-SourceX-RateLimit-Daily-LimitX-RateLimit-Daily-RemainingX-RateLimit-Minute-LimitX-RateLimit-Minute-Remaining
Health-Endpunkt:
/health.Debug-Seite für manuelles Tool-Testen:
/debug/recommendations.Tool-Fehler werden als JSON-Text-Payloads in
result.content[0].textzurückgegeben:INVALID_DATE_FILTERINVALID_EVENT_IDUNSUPPORTED_EVENT_IDEVENT_NOT_FOUNDINVALID_VENUE_IDVENUE_NOT_FOUNDINVALID_PERFORMER_IDPERFORMER_NOT_FOUNDINVALID_BOOKING_REQUESTBOOKING_REQUEST_NOT_FOUNDBOOKING_STATUS_UPDATE_FAILEDVIP_TASK_NOT_AVAILABLEVIP_ALERT_UPDATE_FAILEDVIP_CLAIM_FAILEDINVALID_REQUESTREQUEST_WRITE_FAILEDDB_QUERY_FAILEDINTERNAL_ERROR
Mitwirken & CI
Siehe CONTRIBUTING.md für den Workflow und die Regeln. KI-Agenten lesen AGENTS.md. CLAUDE.md ist die Quelle der Wahrheit für die Architektur.
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
- AlicenseAqualityDmaintenanceEnables users to search for events, performers, and venues through the SeatGeek API. Provides event recommendations, detailed venue seating information, and performer discovery capabilities for ticketed entertainment events.43MIT
- FlicenseNot gradedqualityDmaintenanceAn event aggregation platform that enables users to search, retrieve, and create event data using a Sanity.io backend. It provides specialized tools for managing event details, locations, categories, and venues through the Model Context Protocol.
- AlicenseNot gradedqualityDmaintenancePreference-aware events discovery MCP server that aggregates events, restaurants, and cultural activities across multiple sources and re-ranks them against your personal taste profile to surface things you'd actually want to do.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables querying electronic/dance music events from 19hz.info by region, with tools to list available regions and retrieve events data.7MIT
Related MCP Connectors
Live-concert discovery: 44,000+ upcoming concerts worldwide by city, artist, genre or festival.
Discover festivals worldwide by location, date, and genre. Compare options with key details like d…
Search and book theatre, attractions, tours across 681 cities. 13,090+ products.
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/alcylu/nightlife-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server