DayPlay — SF Bay Area Local Intelligence for AI Agents

DayPlay es la capa de inteligencia local para el Área de la Bahía de San Francisco: lugares verificados en tiempo real, eventos en vivo e itinerarios caminables para San Francisco, Oakland y Berkeley (35 centroides de vecindarios). Diseñado para agentes de IA: un endpoint MCP remoto (https://www.dayplay.io/api/mcp) responde a "cosas que hacer en SF", "qué está pasando este fin de semana" y solicitudes completas de salidas de múltiples paradas con tramos a pie y horarios. Cuando no existe nada verificado, el servidor lo dice: nunca inventa lugares, eventos, fechas ni horarios (Garantía Anti-Deriva). 3 herramientas de descubrimiento gratuitas (get_neighborhoods, get_events, get_places); una cuenta gratuita de DayPlay desbloquea plan_outing y manage_saved_plans: los planes se guardan en la cuenta de DayPlay del usuario. Sin clave API. NO DISPONIBLE fuera del Área de la Bahía de SF: las solicitudes fuera del mercado se rechazan por protocolo, nunca se inventan.

Documentación

DayPlay MCP — Eventos, Lugares e Itinerarios del Área de la Bahía de SF para Agentes de IA

@dayplayai/mcp-server · v1.3.2 · MIT

Run on Apify

smithery badge

dayplayTeam/dayplay-mcp MCP server

Un servidor MCP de configuración cero que le brinda a cualquier agente de IA un conserje localmente fundamentado para el Área de la Bahía de San Francisco únicamente — lugares seleccionados, eventos en tiempo real verificados y vinculación por vecindario que elimina la deriva entre bahías.

🔒 Alcance: Solo el Área de la Bahía de SF. Este servidor atiende estrictamente San Francisco, Oakland y Berkeley — 35 centroides de vecindarios. No atiende Nueva York, Los Ángeles, Chicago, Austin, Seattle, Miami, Londres, Tokio ni ninguna otra ciudad, región o país. Las ubicaciones fuera del mercado no se atienden. Si un usuario pregunta sobre cualquier ubicación fuera del Área de la Bahía de SF, el agente debe declarar "Dayplay es estrictamente solo para el Área de la Bahía de San Francisco (San Francisco, Oakland, Berkeley); no cubre <location>" y no debe llamar a una herramienta ni inventar lugares, eventos, fechas, horarios o vecindarios para esa ubicación. Los resultados cero para una consulta válida del Área de la Bahía de SF se informan honestamente, nunca se rellenan con lugares inventados.

Endpoint remoto: https://www.dayplay.io/api/mcp (HTTP Streamable / MCP)


Inicio rápido

Cursor

Opción A — servidor remoto directo (recomendado, sin instalación). Agregue a ~/.cursor/mcp.json o al .cursor/mcp.json de este repositorio:

{
  "mcpServers": {
    "dayplay": {
      "url": "https://www.dayplay.io/api/mcp"
    }
  }
}

Opción B — proxy stdio de configuración cero (funciona con cualquier cliente):

{
  "mcpServers": {
    "dayplay": {
      "command": "npx",
      "args": ["-y", "@dayplayai/mcp-server"]
    }
  }
}

Claude Desktop

Edite claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "dayplay": {
      "command": "npx",
      "args": ["-y", "@dayplayai/mcp-server"]
    }
  }
}

Reinicie Claude Desktop y luego pregunte: "¿Qué está pasando en el Mission esta noche?"

Grok Bot

Agregue el conector remoto de Dayplay:

https://www.dayplay.io/api/mcp

O conéctelo a través de stdio en la configuración MCP de Grok:

{
  "mcpServers": {
    "dayplay": {
      "command": "npx",
      "args": ["-y", "@dayplayai/mcp-server"]
    }
  }
}

Combínelo con la habilidad vibe-scout para aplicar el alcance a nivel de indicaciones.

Prueba rápida en terminal

npx -y @dayplayai/mcp-server --smoke

Imprime el endpoint en vivo y los nombres de herramientas disponibles. Sale con código distinto de cero en caso de fallo.


Herramientas

Cada herramienta está vinculada al Área de la Bahía de SF (San Francisco, Oakland, Berkeley — 35 centroides). Las ubicaciones fuera del mercado se rechazan, nunca se inventan.

get_places

Consulte lugares seleccionados filtrados por vecindario, estado de abierto ahora, calificaciones o ventana de recién abierto.

ALCANCE: Solo el Área de la Bahía de San Francisco (San Francisco, Oakland, Berkeley). Las ubicaciones fuera del mercado (p. ej., Austin, Nueva York, Tokio) se rechazan — nunca invente lugares. Verificado espacialmente para eliminar la deriva entre bahías y geográfica.

ParámetroTipoDescripción
neighborhoodstringNombre del vecindario del Área de la Bahía de SF (solo SF, Oakland, Berkeley)
open_nowbooleanFiltrar estrictamente por lugares abiertos en este momento
sort"rating" | "distance"Orden de clasificación
newly_opened_daysintegerFiltrar por lugares abiertos en los últimos N días
limitintegerMáximo de lugares a devolver (predeterminado 20)

Ejemplo de indicación: "Encuentra un lugar abierto ahora mismo en North Beach con calificación de 4.5 o superior."

plan_outing 🔒 cuenta gratuita

Construye un itinerario completo de salida con múltiples paradas (cena, bebidas, eventos) con tramos caminables y horarios, ajustado al ambiente, intereses y presupuesto. La primera llamada devuelve una vista previa gratuita de 2 paradas más un código de conexión único (DP-XXXXXX) y https://www.dayplay.io/link; una cuenta gratuita de DayPlay desbloquea el plan completo, guardado en su cuenta y visible en la aplicación DayPlay.

manage_saved_plans 🔒 cuenta gratuita

Guarde itinerarios, liste planes guardados y configure alertas (agotados, cierres, clima) a través de action: "save" | "list" | "set_alert" | "cancel_alert". Requiere la misma conexión de cuenta gratuita. Los planes guardados aparecen en su cuenta de DayPlay tanto en web como en la aplicación.

get_events

Consulte ocurrencias de eventos verificadas y en tiempo real, filtradas estrictamente por fecha, vecindario y categoría.

ALCANCE: Solo el Área de la Bahía de San Francisco (San Francisco, Oakland, Berkeley). Las ubicaciones fuera del mercado se rechazan — nunca invente eventos. Verificado espacialmente para eliminar la deriva entre bahías y geográfica.

ParámetroTipoDescripción
datestring (YYYY-MM-DD)Fecha objetivo
neighborhoodstringNombre del vecindario del Área de la Bahía de SF (p. ej., Mission, North Beach, Oakland, Berkeley)
categorystringFiltro de categoría (p. ej., música, arte, comida)
sourcestringFiltro de fuente de datos
limitintegerMáximo de eventos a devolver (predeterminado 20)

Ejemplo de indicación: "¿Qué eventos de música en Berkeley hay este sábado?"

get_neighborhoods

Devuelve la lista completa y exclusiva de los 35 centroides de vecindarios del Área de la Bahía de San Francisco con coordenadas y radios (solo San Francisco, Oakland, Berkeley). No se cubre ningún otro mercado. Úselo para vincular estrictamente los itinerarios a un vecindario específico y para detectar consultas fuera del mercado.

Ejemplo de indicación: "Dame la lista de vecindarios y luego construye un itinerario para el sábado que nunca salga de Bernal Heights."


La Garantía Anti-Deriva

La mayoría de las respuestas de IA locales fallan de la misma manera: una recomendación de "Mission" termina en Oakland, un evento de "Berkeley" en realidad está en San José, y un itinerario a pie requiere silenciosamente cruzar un puente.

Alcance: Solo el Área de la Bahía de SF (San Francisco, Oakland, Berkeley). Sin cobertura nacional o global.

Recibos de Dayplay:

  • Verificado espacialmente. Cada lugar y resultado de evento se valida contra las coordenadas y radios de los centroides de vecindarios obtenidos en vivo de get_neighborhoods (35 vecindarios del Área de la Bahía).
  • Consultas vinculadas al vecindario. neighborhood es un parámetro de vinculación de coincidencia exacta, no una sugerencia difusa de palabras clave — los resultados fuera del radio vinculado se descartan, no se degradan en el ranking.
  • Cero deriva entre bahías. Sin resultados de Oakland en una consulta de San Francisco. Sin resultados de Marin en una consulta del East Bay. Sin itinerarios que crucen puentes y pretendan ser caminables.
  • En tiempo real, no obsoleto. get_events consulta ocurrencias verificadas por date, por lo que "esta noche" significa esta noche — no una página de SEO de la temporada pasada.
  • Rechazo fuera del mercado. Los nombres de mercados fuera del Área de la Bahía se rechazan antes de cualquier llamada ascendente, y el texto mostrado declara el límite de solo-Área-de-la-Bahía-de-SF en lugar de devolver geografía plausible pero incorrecta.
  • Vacío honesto. Si una consulta vinculada no tiene coincidencias verificadas, devuelve nada en lugar de rellenar con lugares inventados.

Ese es el producto: la respuesta se queda donde usted está.


Configuración

Variable de entornoPredeterminadoPropósito
DAYPLAY_MCP_URLhttps://www.dayplay.io/api/mcpSobrescribir el endpoint remoto (staging, autoalojado, desarrollo local)

No se requiere clave API para el endpoint público. Los tokens de autenticación opcionales, si su implementación los necesita, se pasan como encabezados estándar de Authorization por el cliente MCP — nunca los confíe a archivos de configuración.


Cómo funciona el proxy

MCP client (stdio)  ⇄  bin/dayplay-mcp.js  ⇄  https://www.dayplay.io/api/mcp (Streamable HTTP)

El shim lista las herramientas y reenvía tools/call textualmente al endpoint remoto, por lo que las nuevas herramientas de Dayplay aparecen automáticamente sin una actualización de npm. Es un puente de transporte, no una reimplementación — cada esquema, filtro y regla de verificación es servida por Dayplay mismo.

Prefiera HTTP directo si su cliente lo admite; use el shim para clientes solo-stdio.


Estructura del repositorio

dayplay-mcp/
├── .cursor/
│   └── mcp.json              # Direct Cursor MCP connection
├── .cursor-plugin/
│   └── plugin.json           # Cursor Marketplace catalog plugin manifest
├── skills/
│   └── vibe-scout/
│       └── SKILL.md          # Grok Bot & Cursor Agent prompt instructions
├── bin/
│   └── dayplay-mcp.js        # Executable proxy for `npx -y @dayplayai/mcp-server`
├── assets/
│   └── logo.svg
├── test/
│   └── e2e.mjs
├── smithery.yaml             # Smithery.ai registry manifest
├── plugin.json               # Agent Plugins standard manifest
├── package.json              # npm metadata (@dayplayai/mcp-server v1.3.2, MIT)
├── README.md                 # This file
└── LICENSE                   # MIT (Dayplay Team)

Desarrollo

node bin/dayplay-mcp.js --smoke   # verify remote endpoint + tool discovery
node bin/dayplay-mcp.js           # run the stdio proxy
node test/e2e.mjs                 # end-to-end stdio smoke (tools + 3 tool calls)

Publicación (mantenedores)

La publicación está totalmente automatizada mediante npm Trusted Publishing (OIDC) — sin NPM_TOKEN, sin indicaciones de 2FA. El flujo de trabajo .github/workflows/publish.yml está vinculado en la configuración npm del paquete a este repositorio y flujo de trabajo exactos.

npm version patch        # or minor / major — bumps package.json, creates the vX.Y.Z tag
git push --follow-tags

Luego CI: verifica que la versión de package.json coincida con la etiqueta → npm ci → prueba rápida → npm publish --provenance (firmado con sigstore, atestiguado con OIDC).

Advertencia: --follow-tags no siempre envía la etiqueta. Si no aparece ninguna ejecución de flujo de trabajo en Actions dentro de un minuto, termine con:

git push origin v1.X.Y

Notas:

  • El registro muestra "el paquete se está procesando" durante ~3 minutos después de la publicación antes de que se resuelva la nueva versión — no entre en pánico verificando demasiado pronto.
  • El flujo OIDC de npm requiere npm ≥ 11.5.1 en CI; el flujo de trabajo instala npm@latest por esta razón.
  • Si el flujo de trabajo alguna vez gana un bloque environment:, la vinculación de npm Trusted Publisher debe actualizarse al mismo nombre de entorno, o las publicaciones serán rechazadas.

Licencia

MIT © Dayplay Team — https://www.dayplay.io