🚀 Audius用Atris MCP
Audius音楽プラットフォームに大規模言語モデル(LLM)を通じてアクセスできるMCP(Model Context Protocol)サーバーです。
🚀 クイックスタート
このサーバーを使用するには、以下の前提条件を満たす必要があります。
- Node.js 16以上
- Audius APIキー(オプションですが、本番環境での使用をおすすめします)
✨ 主な機能
- ツール:Audius上でトラック、ユーザー、プレイリスト、アルバムを検索できます。
- オーディオストリーミング:AudiusからAIアプリケーションに直接オーディオコンテンツをストリーミングできます。
- コンテンツ作成:トラックをアップロードし、プレイリストを作成し、Audius上のコンテンツを管理できます。
- ソーシャル機能:ユーザーをフォローし、トラックをお気に入り登録し、コンテンツにコメントできます。
- 収益化:有料コンテンツにアクセスし、トラックを購入し、アーティストにチップを送ることができます。
- 分析:再生回数、トレンドデータ、リスナーの洞察を追跡できます。
- リソース:トラック、ユーザー、プレイリスト、アルバムのデータを構造化されたリソースとしてアクセスできます。
- プロンプト:音楽の発見、コンテンツ作成、分析のためのガイド付き体験を提供します。
📦 インストール
Smitheryを使用したインストール
Smitheryを通じてClaude Desktop用のAtrisを自動インストールするには、以下のコマンドを実行します。
npx -y @smithery/cli install @glassBead-tc/audius-mcp-atris --client claude
NPMを使用したインストール(推奨)
npmから直接インストールするには、以下のコマンドを実行します。
npm install audius-mcp-atris
または、yarnを使用する場合は、以下のコマンドを実行します。
yarn add audius-mcp-atris
手動インストール
- このリポジトリをクローンします。
git clone https://github.com/glassBead/audius-mcp-atris.git
cd audius-mcp-atris
- 依存関係をインストールします。
npm install
- TypeScriptコードをビルドします。
npm run build
Dockerを使用したインストール
Dockerを使用してMCPサーバーをビルドし、実行することもできます。
- Dockerイメージをビルドします。
docker build -t audius-mcp-atris .
- コンテナを実行します。
docker run -it --rm \
-e AUDIUS_API_KEY=your_api_key_here \
-e AUDIUS_API_SECRET=your_api_secret_here \
-e AUDIUS_ENVIRONMENT=production \
audius-mcp-atris
注:AUDIUS_ENVIRONMENTを"production"に設定すると、SDKがローカルノードではなく、公開されているAudiusディスカバリーノードに接続します。
3. Claude Desktopの場合、claude_mcp_config.json
をDockerを使用するように設定します。
{
"mcpServers": {
"audius": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"audius-mcp-atris"
],
"env": {
"AUDIUS_API_KEY": "your_api_key_here",
"AUDIUS_API_SECRET": "your_api_secret_here",
"AUDIUS_ENVIRONMENT": "production"
}
}
}
}
🔧 設定
提供されている.env.example
を参考に、ルートディレクトリに.env
ファイルを作成します。
# Audius API設定
AUDIUS_API_KEY=your_api_key_here
AUDIUS_API_SECRET=your_api_secret_here
AUDIUS_ENVIRONMENT=production # またはstaging、development
# MCPサーバー設定
SERVER_NAME=audius-mcp
SERVER_VERSION=1.0.0
💻 使用例
サーバーの起動
サーバーを起動するには、以下のコマンドを実行します。
npm start
これにより、メインのMCPサーバーとオーディオストリーミングサーバーが自動的に起動します。オーディオストリーミングサーバーは、デフォルトでポート7070で実行されます(STREAM_SERVER_PORT環境変数で設定可能)。
テストまたは開発用にストリーミングサーバーのみを起動する必要がある場合は、以下のコマンドを実行します。
node start-stream-server.js
Claudeへの接続
このサーバーをClaudeとともに使用するには、以下の手順を実行します。
- Claude for DesktopまたはClaude CLIをインストールします。
NPXを使用したインストール(推奨)
このMCPサーバーを使用する最も簡単な方法は、npxを使用することです。npxを使用すると、パッケージをグローバルにインストールせずに実行できます。
Claude CLIの場合
claude mcp add audius npx audius-mcp-atris
Claude Desktopの場合
claude_mcp_config.json
ファイル(プラットフォームによって場所が異なります)を編集します。
- macOS:
~/Library/Application Support/Claude/claude_mcp_config.json
- Windows:
%APPDATA%\Claude\claude_mcp_config.json
- Linux:
~/.config/Claude/claude_mcp_config.json
以下の設定を追加します。
{
"mcpServers": {
"audius": {
"command": "npx",
"args": [
"audius-mcp-atris"
],
"env": {
"AUDIUS_API_KEY": "your_api_key_here",
"AUDIUS_API_SECRET": "your_api_secret_here"
}
}
}
}
その他のLLMアプリケーションの場合
Model Context Protocolをサポートするアプリケーションの場合は、それぞれの設定ファイルに以下の設定を使用します。
{
"audius": {
"command": "npx",
"args": [
"audius-mcp-atris"
],
"env": {
"AUDIUS_API_KEY": "your_api_key_here",
"AUDIUS_API_SECRET": "your_api_secret_here"
}
}
}
ローカルインストール方法
ローカルインストールを好む場合は、以下の手順を実行します。
npm install -g audius-mcp-atris
claude mcp add audius audius-mcp-atris
{
"mcpServers": {
"audius": {
"command": "audius-mcp-atris",
"env": {
"AUDIUS_API_KEY": "your_api_key_here",
"AUDIUS_API_SECRET": "your_api_secret_here"
}
}
}
}
利用可能なツール
サーバーは以下の機能を提供します。
ディスカバリーツール
- 検索:様々なフィルターを使用してトラック、ユーザー、プレイリストを検索できます。
- 高度な検索:ジャンル、ムード、BPMなどのフィルターを使用して検索できます。
- トレンドディスカバリー:トレンドまたはアンダーグラウンドのトラックを取得できます。
- 似たアーティスト:好きなアーティストに似たアーティストを見つけることができます。
トラックツール
- トラックのストリーミング:Audiusのトラックから直接オーディオをストリーミングできます。
- トラック情報の取得:IDによって詳細なトラック情報を取得できます。
- トラックの検索:様々なフィルターを使用してトラックを検索できます。
- トレンドトラック:Audius上で人気のあるトラックを発見できます。
- トラックのコメント:トラックにコメントを表示し、追加することができます。
- トラックの分析:再生回数、トレンドデータ、聴取者の洞察を取得できます。
ユーザーツール
- ユーザープロファイル:詳細なユーザー情報を取得できます。
- ユーザーのトラック:ユーザーがアップロードしたトラックを一覧表示できます。
- ユーザーのフォロー:他のユーザーをフォローできます。
- ユーザーの分析:再生メトリクス、サポーターなどを追跡できます。
コンテンツ作成
- トラックのアップロード:新しいトラックをAudiusに追加できます。
- トラックの更新:既存のトラックのメタデータを変更できます。
- プレイリストの作成:トラックのコレクションを作成できます。
- プレイリストの管理:トラックの追加、削除、並べ替えができます。
ソーシャルインタラクション
- アーティストのフォロー:お気に入りのクリエイターとつながることができます。
- トラックのお気に入り登録:音楽を保存し、評価を示すことができます。
- コメント:トラックにコメントを追加できます。
- リポスト:誰がコンテンツをリポストしたかを確認できます。
- メッセージング:直接メッセージを送受信できます。
収益化
- 有料コンテンツ:ゲート付きコンテンツにアクセスし、購入できます。
- NFTゲート付きコンテンツ:NFTベースのアクセスを確認し、検証できます。
- トラックの購入:さまざまな支払いオプションで有料コンテンツを購入できます。
- チップの送信:直接アーティストをサポートできます。
- トランザクションの追跡:チップの履歴と統計を表示できます。
ブロックチェーンとウォレット
- ウォレットの管理:EthereumおよびSolanaウォレットを管理できます。
- トークンの残高:暗号通貨の残高を確認できます。
- トランザクション:履歴を表示し、転送を実行できます。
- 報酬:Audiusプラットフォームの報酬とチャレンジにアクセスできます。
リソース
以下のURIテンプレートを使用してAudiusのデータにアクセスできます。
audius://track/{id}
:IDによるトラックの詳細
audius://user/{id}
:IDによるユーザープロファイル
audius://playlist/{id}
:IDによるプレイリストの詳細
audius://album/{id}
:IDによるアルバムの詳細
プロンプト
サーバーは、一般的な音楽関連のタスクに対するガイド付き体験を提供します。
- 音楽の発見:好みに基づいたレコメンデーションを見つけることができます。
- トラックの分析:トラックの特性を分析し、洞察を得ることができます。
- アーティストのプロファイル:包括的なアーティストの概要を生成できます。
- 音楽の作成:トラックの作成と公開を支援します。
- プレイリストの作成:プレイリストの作成と宣伝を支援します。
- メッセージング:他のユーザーとのやり取りをガイドします。
- 分析:音楽のパフォーマンスに関するレポートと洞察を生成します。
- ブロックチェーン:暗号通貨とトークンの操作を支援します。
- 収益化:有料コンテンツの設定と購入をガイドします。
- 通知:プラットフォームの通知を管理し、整理します。
🔧 技術詳細
プロジェクト構造
├── src/
│ ├── index.ts # エントリーポイント
│ ├── server.ts # MCPサーバーの設定
│ ├── config.ts # 設定の処理
│ ├── sdk-client.ts # Audius SDKクライアントのラッパー
│ ├── tools/ # MCPツールの実装
│ │ ├── tracks.ts # トラック関連のツール
│ │ ├── users.ts # ユーザー関連のツール
│ │ ├── playlists.ts # プレイリスト関連のツール
│ │ ├── search.ts # 検索関連のツール
│ │ ├── social.ts # ソーシャルインタラクションツール
│ │ ├── comments.ts # コメント管理ツール
│ │ ├── track-management.ts # トラックのアップロードと管理
│ │ ├── playlist-management.ts # プレイリストの作成と管理
│ │ ├── messaging.ts # 直接メッセージングツール
│ │ ├── analytics.ts # 分析とメトリクスツール
│ │ ├── blockchain.ts # 暗号通貨とブロックチェーンツール
│ │ ├── monetization.ts # 有料コンテンツと支払いツール
│ │ └── notifications.ts # プラットフォーム通知ツール
│ ├── resources/ # MCPリソースの実装
│ │ ├── tracks.ts # トラック関連のリソース
│ │ ├── users.ts # ユーザー関連のリソース
│ │ └── playlists.ts # プレイリスト関連のリソース
│ └── prompts/ # MCPプロンプトの実装
│ ├── music-search.ts # 音楽の発見プロンプト
│ ├── track-info.ts # トラック分析プロンプト
│ ├── artist-profile.ts # アーティストプロファイルプロンプト
│ ├── music-creation.ts # 音楽作成プロンプト
│ ├── playlist-creation.ts # プレイリスト作成プロンプト
│ ├── messaging.ts # メッセージングプロンプト
│ ├── analytics.ts # 分析プロンプト
│ ├── blockchain.ts # ブロックチェーンプロンプト
│ ├── monetization.ts # 収益化プロンプト
│ └── notifications.ts # 通知プロンプト
サンプルワークフロー
音楽の発見
search-tracks --query "electronic" --limit 5
stream-track --trackId "123456"
get-trending-tracks --genre "House" --limit 10
similar-artists --userId "123456"
コンテンツの作成
upload-track --userId "123" --title "Summer Vibes" --genre "Electronic" --audioFileUrl "https://example.com/track.mp3"
create-playlist --userId "123" --playlistName "Chillout Mix" --description "Perfect for relaxing"
add-tracks-to-playlist --userId "123" --playlistId "456" --trackIds ["789", "101", "102"]
ソーシャル機能
follow-user --userId "123" --followeeId "456"
favorite-track --userId "123" --trackId "789"
add-track-comment --trackId "789" --userId "123" --comment "Great track!"
収益化
track-access-gates --trackId "789"
purchase-options --contentId "789" --contentType "track"
purchase-track --contentId "789" --walletAddress "0x123..." --purchaseOption "option1" --paymentToken "USDC" --amount "4.99" --signerPrivateKey "privateKey"
テスト
ローカル開発用のテストを行うには、以下の手順を実行します。
- MCP Inspectorをインストールします。
npm install -g @modelcontextprotocol/inspector
- サーバーとともにインスペクターを実行します。
npx @modelcontextprotocol/inspector node ./build/index.js
📄 ライセンス
MIT