jazz_agent
Jazz Agent
単一ユーザー向けツールで、NYCのジャズクラブのスケジュールを読み取り、誰が演奏しているかを把握し、クラブごとに週ごとのSpotifyプレイリストを作成して、音楽が求められることなく届くようにします。また、これまでに表面化したすべてのものを永続的なログに記録し、そのログをMCP経由でClaudeに公開して、質問したり、聴いている間に気に入ったものを記録したりできるようにします。
意図的に分離された2つの部分:
日次バッチパイプライン(cron) - スクレイピング、マッチング、プレイリストの調整を行う。
常時稼働のMCPサーバー - ログに関する質問に答え、フィードバックを記録する。
このように構築された理由
3つの発見が設計を導き、そのすべてが明白なアプローチと矛盾しています:
Spotifyは、あなたが利用しようとするエンドポイントを削除しました。 2024年11月のAPI変更により、それ以降に登録されたアプリでは
related-artists、recommendations、audio-features、audio-analysisが削除されました。音響データやアーティスト類似性データは利用できません。アーティストのつながりはMusicBrainzとクラブのリスト自体から得られ、「スタイル」はジャンルタグとあなた自身のメモから得られます。CSSセレクタは、メンテナンスされていない6つのウェブサイトには不適切なツールです。 抽出はページテキストに対してLLMによって行われるため、クラブを追加するのはテーブルの1行であり、会場のリニューアルで何も壊れません。
毎晩ではなく、毎週のプレイリスト。 クラブごとに予約週(火曜日から月曜日)ごとに1つのプレイリストを作成することで、複数の夜にまたがるレジデンシー、同じアーティストが2回演奏する、プレイリストが途中で期限切れになるといった問題のクラス全体が排除されます。日次の実行は、作成イベントではなく、冪等な収束ループになります。
Related MCP server: Spotify MCP Server
ドキュメント
Document | 用途 |
技術仕様書。すべてのイシューはそのセクションを参照します。 | |
ADR。各選択が行われた理由、却下されたもの、および証拠。 | |
スキーマ、インデックス、およびテイストグラフを有用にするクエリ。 | |
Claude Projectに貼り付けます。チャットボットのランタイム契約。 | |
新しくプロビジョニングされたクラウドVPSを、これを実行できるボックスに変えます。ここから始めてください。 | |
SpotifyとGoogle OAuthの認証情報を登録し、サーバーを実行します。 | |
完全なデプロイリファレンス、バックアップ、および障害プレイブック -- ホストをゼロから再構築する方法。 | |
これを実装するエージェントのための規約と不変条件。 | |
元のPRD、逐語的。一部は置き換えられています。ADRを参照してください。 |
PRDは、当初の意図の記録として編集されずに保持されます。アーキテクチャがそこから逸脱する場合、ADRはそれを明示的に述べ、置き換えるPRDのセクションを指定します。
ステータス
すべてのv1マイルストーンイシューは実装され、テストされています。これが実際に本番で稼働する前に残っている2つのことは、どちらも人間を必要とします:実際のGoogle OAuthクライアントと実際のSpotify Developerアプリの登録(docs/RUNBOOK.mdのセクション4〜5を参照)、および実際のVPSへのデプロイです。ビルドはv1マイルストーンのイシューとして追跡され、それぞれに受け入れ基準と明示的なBlocked byリンクがありました -- 何が構築され、なぜそうなったかはクローズ済みイシューを参照してください。
スタック
Python 3.12とuv、Postgres 17(tsvector、pg_trgm、pgvector)、httpxとPlaywright(クラブごとのオプトイン)、抽出と裁定にはAnthropic Claude Haiku、Google委任OAuthを使用したFastMCP、小さなLinux VPS上のDocker Compose。
ライセンス
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