glassBead-tc / audius-mcp-atris

Model Context Protocol server for Audius. Perform market research, purchase premium tracks, upload songs, and much more!

Repository from Github https://github.comglassBead-tc/audius-mcp-atrisRepository from Github https://github.comglassBead-tc/audius-mcp-atris

Atris MCP for Audius

An MCP (Model Context Protocol) server that provides access to the Audius music platform via LLMs (Large Language Models).

Features

  • Tools: Access tracks, users, playlists, albums, and perform searches on Audius
  • Content Creation: Upload tracks, create playlists, manage your Audius content
  • Social Features: Follow users, favorite tracks, comment on content
  • Monetization: Access premium content, purchase tracks, send tips to artists
  • Analytics: Track play counts, trending data, and listener insights
  • Resources: Access track, user, playlist, and album data as structured resources
  • Prompts: Use guided experiences for music discovery, curation, and analysis

Natural Language Capabilities

With Atris MCP, you can ask your LLM questions in natural language about Audius content. Examples include:

Music Discovery

  • "Find me electronic tracks with a high BPM"
  • "What are the trending tracks in the hip-hop genre this week?"
  • "Recommend artists similar to [artist name]"
  • "Help me discover underground artists in the jazz genre"
  • "Find tracks with a relaxing mood for a meditation playlist"

Artist Information

  • "Tell me about the artist [name]"
  • "Who are the most popular followers of [artist]?"
  • "What tracks has [artist] released recently?"
  • "Show me the analytics for [artist]'s most popular tracks"
  • "Which artists are similar to [artist name]?"

Playlist Management

  • "Create a playlist of upbeat electronic tracks"
  • "Add the top trending hip-hop tracks to my workout playlist"
  • "Remove track [title] from my playlist [name]"
  • "Reorder my playlist to create a better flow between songs"
  • "Help me curate a playlist for a party"

Track Analysis

  • "Analyze the listener demographics for [track]"
  • "Who are the top fans of [track]?"
  • "How is [track] performing compared to other tracks in its genre?"
  • "What's the listening trend for [track] over the past month?"
  • "Show me the engagement metrics for [track]"

Content Monetization

  • "Set up NFT gating for my new track"
  • "How much should I charge for my premium content?"
  • "Show me my tipping history and stats"
  • "Analyze my revenue streams across the platform"
  • "Help me understand the purchase options for [content]"

Social & Community Interactions

  • "Find fans who frequently engage with my music"
  • "Show me comments on my latest track"
  • "Help me compose a message to collaborate with [artist]"
  • "Who should I follow to grow my network in the [genre] scene?"
  • "Analyze my social engagement and suggest improvements"
  • "Find the most supportive fans who've tipped me"
  • "Track my notification history and prioritize important ones"

Workflow Automation & Creative Assistance

  • "Plan my next track release with a marketing timeline"
  • "Automate weekly playlist updates based on my listening habits"
  • "Schedule content announcements for optimal engagement"
  • "Generate descriptive tags for my new ambient track"
  • "Compare my genre categorization to similar artists"
  • "Suggest a pricing strategy based on my existing catalog performance"
  • "Help me craft an engaging artist bio for my profile"

Prerequisites

  • Node.js 16 or higher
  • An Audius API key (optional, but recommended for production use)

Installation

NPM Installation (Recommended)

Install directly from npm:

npm install audius-mcp-atris

Or with yarn:

yarn add audius-mcp-atris

Manual Installation

  1. Clone this repository:
git clone https://github.com/glassBead/audius-mcp-atris.git
cd audius-mcp-atris
  1. Install dependencies:
npm install
  1. Build the TypeScript code:
npm run build

Configuration

Create a .env file in the root directory based on the provided .env.example:

# Audius API Configuration
AUDIUS_API_KEY=your_api_key_here
AUDIUS_API_SECRET=your_api_secret_here
AUDIUS_ENVIRONMENT=production # or staging, development

# MCP Server Configuration
SERVER_NAME=audius-mcp
SERVER_VERSION=1.0.0

Usage

Running the Server

Start the server:

npm start

For development with automatic rebuilding:

npm run dev

Connecting to Claude

To use this server with Claude:

  1. Install Claude for Desktop or Claude CLI

NPX Installation (Recommended)

The easiest way to use this MCP server is with npx, which can run the package without installing it globally:

For Claude CLI:

claude mcp add audius npx audius-mcp-atris

For Claude Desktop:

Edit your claude_mcp_config.json file (location varies by platform):

  • macOS: ~/Library/Application Support/Claude/claude_mcp_config.json
  • Windows: %APPDATA%\Claude\claude_mcp_config.json
  • Linux: ~/.config/Claude/claude_mcp_config.json

Add this configuration:

{
  "mcpServers": {
    "audius": {
      "command": "npx",
      "args": [
        "audius-mcp-atris"
      ],
      "env": {
        "AUDIUS_API_KEY": "your_api_key_here",
        "AUDIUS_API_SECRET": "your_api_secret_here"
      }
    }
  }
}

For Other LLM Applications:

For applications that support Model Context Protocol, use this configuration in their respective config files:

{
  "audius": {
    "command": "npx",
    "args": [
      "audius-mcp-atris"
    ],
    "env": {
      "AUDIUS_API_KEY": "your_api_key_here",
      "AUDIUS_API_SECRET": "your_api_secret_here"
    }
  }
}

Local Installation Method

If you prefer a local installation:

# Install the package globally
npm install -g audius-mcp-atris

# Then configure Claude CLI
claude mcp add audius audius-mcp-atris

# Or for Claude Desktop, use this in your config:
{
  "mcpServers": {
    "audius": {
      "command": "audius-mcp-atris",
      "env": {
        "AUDIUS_API_KEY": "your_api_key_here",
        "AUDIUS_API_SECRET": "your_api_secret_here"
      }
    }
  }
}

Available Tools

The server provides the following functionality:

Discovery Tools

  • Search: Find tracks, users, playlists with various filters
  • Advanced Search: Search with genre, mood, BPM, and other filters
  • Trending Discovery: Get trending or underground tracks
  • Similar Artists: Find artists similar to those you like

Track Tools

  • Get Track Info: Detailed track information by ID
  • Search Tracks: Find tracks with various filters
  • Trending Tracks: Discover what's hot on Audius
  • Track Comments: View and add comments on tracks
  • Track Analytics: Listen counts, trending data, audience insights

User Tools

  • User Profiles: Get detailed user information
  • User Tracks: List tracks uploaded by a user
  • Follow User: Follow other users
  • User Analytics: Track play metrics, supporters, and more

Content Creation

  • Upload Track: Add new tracks to Audius
  • Update Track: Modify existing track metadata
  • Create Playlist: Build collections of tracks
  • Playlist Management: Add, remove, and reorder tracks

Social Interaction

  • Follow Artists: Connect with favorite creators
  • Favorite Tracks: Save and show appreciation for music
  • Comments: Add comments to tracks
  • Reposts: See who has reposted content
  • Messaging: Send and receive direct messages

Monetization

  • Premium Content: Access and purchase gated content
  • NFT-Gated Content: Check and verify NFT-based access
  • Purchase Tracks: Buy premium content with various payment options
  • Send Tips: Support artists directly
  • Track Transactions: View tip history and stats

Blockchain & Wallet

  • Wallet Management: Manage Ethereum and Solana wallets
  • Token Balances: Check cryptocurrency balances
  • Transactions: View history and execute transfers
  • Rewards: Access Audius platform rewards and challenges

Resources

Access Audius data using these URI templates:

  • audius://track/{id}: Track details by ID
  • audius://user/{id}: User profile by ID
  • audius://playlist/{id}: Playlist details by ID
  • audius://album/{id}: Album details by ID

Prompts

The server offers guided experiences for common music-related tasks:

  • Music Discovery: Find recommendations based on preferences
  • Track Analysis: Analyze track characteristics and get insights
  • Artist Profiles: Generate comprehensive artist overviews
  • Music Creation: Assist with track creation and publishing
  • Playlist Curation: Help with creating and promoting playlists
  • Messaging: Guide interactions with other users
  • Analytics: Generate reports and insights on music performance
  • Blockchain: Assist with crypto and token operations
  • Monetization: Guide premium content setup and purchases
  • Notifications: Manage and organize platform notifications

Development

Project Structure

├── src/
│   ├── index.ts          # Entry point
│   ├── server.ts         # MCP server setup
│   ├── config.ts         # Configuration handling
│   ├── sdk-client.ts     # Audius SDK client wrapper
│   ├── tools/            # MCP tool implementations
│   │   ├── tracks.ts               # Track-related tools
│   │   ├── users.ts                # User-related tools
│   │   ├── playlists.ts            # Playlist-related tools
│   │   ├── search.ts               # Search-related tools
│   │   ├── social.ts               # Social interaction tools
│   │   ├── comments.ts             # Comment management tools
│   │   ├── track-management.ts     # Track upload and management
│   │   ├── playlist-management.ts  # Playlist creation and management
│   │   ├── messaging.ts            # Direct messaging tools
│   │   ├── analytics.ts            # Analytics and metrics tools
│   │   ├── blockchain.ts           # Cryptocurrency and blockchain tools
│   │   ├── monetization.ts         # Premium content and payment tools
│   │   └── notifications.ts        # Platform notification tools
│   ├── resources/        # MCP resource implementations
│   │   ├── tracks.ts     # Track-related resources
│   │   ├── users.ts      # User-related resources
│   │   └── playlists.ts  # Playlist-related resources
│   └── prompts/          # MCP prompt implementations
│       ├── music-search.ts      # Music discovery prompts
│       ├── track-info.ts        # Track analysis prompts
│       ├── artist-profile.ts    # Artist profile prompts
│       ├── music-creation.ts    # Music creation prompts
│       ├── playlist-creation.ts # Playlist creation prompts
│       ├── messaging.ts         # Messaging prompts
│       ├── analytics.ts         # Analytics prompts
│       ├── blockchain.ts        # Blockchain prompts
│       ├── monetization.ts      # Monetization prompts
│       └── notifications.ts     # Notification prompts

Example Workflows

Music Discovery

// Search for electronic tracks
search-tracks --query "electronic" --limit 5

// Get trending tracks in a genre
get-trending-tracks --genre "House" --limit 10

// Find artists similar to a specific one
similar-artists --userId "123456"

Content Creation

// Upload a new track
upload-track --userId "123" --title "Summer Vibes" --genre "Electronic" --audioFileUrl "https://example.com/track.mp3"

// Create a playlist
create-playlist --userId "123" --playlistName "Chillout Mix" --description "Perfect for relaxing"

// Add tracks to a playlist
add-tracks-to-playlist --userId "123" --playlistId "456" --trackIds ["789", "101", "102"]

Social Features

// Follow a user
follow-user --userId "123" --followeeId "456"

// Favorite a track
favorite-track --userId "123" --trackId "789"

// Add a comment
add-track-comment --trackId "789" --userId "123" --comment "Great track!"

Monetization

// Check track access gates
track-access-gates --trackId "789"

// View purchase options
purchase-options --contentId "789" --contentType "track"

// Purchase a track
purchase-track --contentId "789" --walletAddress "0x123..." --purchaseOption "option1" --paymentToken "USDC" --amount "4.99" --signerPrivateKey "privateKey"

Testing

For local development testing:

  1. Install the MCP Inspector:
npm install -g @modelcontextprotocol/inspector
  1. Run the inspector with your server:
npx @modelcontextprotocol/inspector node ./build/index.js

License

MIT

About

Model Context Protocol server for Audius. Perform market research, purchase premium tracks, upload songs, and much more!


Languages

Language:TypeScript 98.3%Language:JavaScript 1.4%Language:Shell 0.2%