Enables interaction with the Audius music platform API, supporting user, track, and playlist operations through the Model Context Protocol.
Note: Version 2.0.0+ exclusively uses STDIO transport for all capabilities.
An MCP (Model Context Protocol) server that provides access to the Audius music platform via LLMs (Large Language Models).
With Atris MCP, you can ask your LLM questions in natural language about Audius content. Examples include:
Install directly from npm:
npm install audius-mcp-atris
Or with yarn:
yarn add audius-mcp-atris
git clone https://github.com/glassBead/audius-mcp-atris.git
cd audius-mcp-atris
npm install
npm run build
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
Start the server:
npm start
For development with automatic rebuilding:
npm run dev
To use this server with Claude:
The easiest way to use this MCP server is with npx, which can run the package without installing it globally:
claude mcp add audius npx audius-mcp-atris
Edit your claude_mcp_config.json
file (location varies by platform):
~/Library/Application Support/Claude/claude_mcp_config.json
%APPDATA%\Claude\claude_mcp_config.json
~/.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 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" } } }
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" } } } }
The server provides the following functionality:
Access Audius data using these URI templates:
audius://track/{id}
: Track details by IDaudius://user/{id}
: User profile by IDaudius://playlist/{id}
: Playlist details by IDaudius://album/{id}
: Album details by IDThe server offers guided experiences for common music-related tasks:
├── 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
// 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"
// 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"]
// 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!"
// 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"
For local development testing:
npm install -g @modelcontextprotocol/inspector
npx @modelcontextprotocol/inspector node ./build/index.js
MIT
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!