GitHub - glassBead-tc/audius-mcp-atris: Model Context Protocol server for Audius. Perform market research, purchase premium tracks, upload songs, and much more! (original) (raw)

Atris MCP for Audius (v2.4.0)

Note: Version 2.0.0+ exclusively uses STDIO transport for all capabilities. The server targets Model Context Protocol version 2025-06-18 and exports this value as LATEST_PROTOCOL_VERSION in src/config.ts.

An MCP (Model Context Protocol) server that provides comprehensive access to the Audius music platform via LLMs (Large Language Models), with 105 tools covering ~95% of the Audius Protocol API.

Features

Natural Language Capabilities

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

Music Discovery

Artist Information

Playlist Management

Track Analysis

Content Monetization

Social & Community Interactions

Workflow Automation & Creative Assistance

Prerequisites

Installation

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:
  2. Build the TypeScript code:

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=2.4.0
AUDIO_STREAMING=false

Usage

Running the Server

Start the server:

For development with automatic rebuilding:

Connecting to Claude

To use this server with Claude:

  1. Install Claude for Desktop or Claude CLI

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):

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

Track Tools

User Tools

Content Creation

Social Interaction

Monetization

Blockchain & Wallet

Resources

Access Audius data using these URI templates:

Prompts

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

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