jazz_agent
Jazz Agent
Una herramienta de un solo usuario que lee los horarios de los clubes de jazz de Nueva York, averigua quién toca y crea una lista de reproducción de Spotify por club y por semana para que la música llegue sin tener que pedirla. Mantiene un registro permanente de todo lo que ha mostrado y expone ese registro a Claude a través de MCP para que puedas preguntar al respecto y registrar lo que te gustó mientras escuchas.
Dos mitades, deliberadamente separadas:
Un pipeline por lotes diario (cron) que extrae, empareja y concilia listas de reproducción.
Un servidor MCP siempre activo que responde preguntas sobre el registro y registra comentarios.
Por qué está construido así
Tres hallazgos impulsaron el diseño, y los tres contradicen el enfoque obvio:
Spotify eliminó los endpoints a los que recurrirías. Los cambios de la API de noviembre de 2024 eliminaron
related-artists,recommendations,audio-featuresyaudio-analysispara cualquier aplicación registrada posteriormente. No hay datos acústicos ni datos de similitud de artistas disponibles. Las conexiones entre artistas provienen de MusicBrainz y de los propios listados de los clubes; el "estilo" proviene de las etiquetas de género y de tus propias notas.Los selectores CSS son la herramienta equivocada para seis sitios web sin mantenimiento. La extracción la realiza un LLM sobre el texto de la página, por lo que añadir un club es una fila en una tabla, y el rediseño de un local no rompe nada.
Listas de reproducción semanales, no nocturnas. Una lista por club y por semana de programación (martes–lunes) elimina toda una clase de problemas: residencias que abarcan varias noches, el mismo acto tocando dos sets y listas que caducan a mitad de su vigencia. La ejecución diaria se convierte en un bucle de convergencia idempotente en lugar de un evento de creación.
Related MCP server: Spotify MCP Server
Documentación
Documento | Para qué sirve |
La especificación técnica. Cada issue hace referencia a una sección de la misma. | |
ADRs. Por qué se tomó cada decisión, qué se rechazó y la evidencia. | |
Esquema, índices y las consultas que hacen útil el grafo de gustos. | |
Pégalo en un Claude Project. Contrato de ejecución para el chatbot. | |
Convertir un VPS en la nube recién aprovisionado en una máquina lista para ejecutar esto. Empieza aquí. | |
Registrar las credenciales de Spotify y Google OAuth, y ejecutar el servidor. | |
Referencia completa de despliegue, copias de seguridad y el manual de fallos: cómo reconstruir el host desde cero. | |
Convenciones e invariantes para el agente que implementa esto. | |
El PRD original, textual. Superado en algunos lugares; consulta los ADRs. |
El PRD se mantiene sin editar como registro de la intención original. Cuando la arquitectura se aparta de él, el ADR lo dice explícitamente y nombra la sección del PRD que supera.
Estado
Todos los issues del hito v1 están implementados y probados. Quedan dos cosas antes de que esto esté realmente en producción, ambas requieren un humano: registrar un cliente real de Google OAuth y una aplicación real de Spotify Developer (consulta las secciones 4-5 de docs/RUNBOOK.md), y desplegar en un VPS real. La construcción se rastreó como issues bajo el hito v1, cada uno con criterios de aceptación y enlaces explícitos Blocked by; consulta los issues cerrados para ver qué se construyó y por qué.
Stack
Python 3.12 con uv, Postgres 17 (tsvector, pg_trgm, pgvector), httpx con Playwright como opción por club, Anthropic Claude Haiku para extracción y adjudicación, FastMCP con OAuth delegado por Google, Docker Compose en un pequeño VPS Linux.
Licencia
MIT.
This server cannot be deployed
Maintenance
Related MCP Connectors
- RoomtoneOAuthio.roomtone
Ask Claude about your meetings: summaries, action items and transcripts from Roomtone
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
- TaprootOAuthcom.taproothq
Persistent memory layer for AI tools. Save and recall notes across Claude and other MCP clients.
Your professional network in Claude — search contacts, log notes, and send warm intros.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceConnects Claude to Spotify for music discovery, playlist creation, and collection analysis through natural language. Enables searching songs, analyzing music diversity, creating playlists, and getting recommendations using Spotify's API.-
- FlicenseAqualityDmaintenanceIntegrates Spotify with Claude to enable voice-controlled music playback, playlist management, and personalized recommendations through conversational AI. It provides comprehensive tools for searching tracks, managing liked songs, and analyzing listening habits.151-
- AlicenseNot gradedqualityDmaintenanceEnables querying local meeting notes, calendar events, email metadata, and daily digests from Imprint's database via natural language through Claude Desktop and other MCP clients.12 npmMIT
- AlicenseNot gradedqualityDmaintenanceConnects your Plaud voice recorder to Claude, giving access to recordings, transcripts, and AI summaries so you can query your notes via natural language.16MIT