Audius MCP Server
Enables interaction with the Audius music platform API, supporting user, track, and playlist operations through the Model Context Protocol.
README
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
- Audio Streaming: Stream audio content directly from Audius to AI applications
- 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
Installing via Smithery
To install Atris for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @glassBead-tc/audius-mcp-atris --client claude
NPM Installation (Recommended)
Install directly from npm:
npm install audius-mcp-atris
Or with yarn:
yarn add audius-mcp-atris
Manual Installation
- Clone this repository:
git clone https://github.com/glassBead/audius-mcp-atris.git
cd audius-mcp-atris
- Install dependencies:
npm install
- Build the TypeScript code:
npm run build
Docker Installation
You can also build and run the MCP server using Docker:
- Build the Docker image:
docker build -t audius-mcp-atris .
- Run the container:
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
Note: Setting AUDIUS_ENVIRONMENT to "production" ensures the SDK connects to public Audius discovery nodes instead of trying to use local nodes.
- For Claude Desktop, configure your
claude_mcp_config.jsonto use 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"
}
}
}
}
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
This will automatically start both the main MCP server and the audio streaming server. The audio streaming server runs on port 7070 by default (configurable via STREAM_SERVER_PORT environment variable).
If you need to start only the streaming server for testing or development:
node start-stream-server.js
Connecting to Claude
To use this server with Claude:
- 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
- Stream Track: Stream audio from Audius tracks directly
- 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 IDaudius://user/{id}: User profile by IDaudius://playlist/{id}: Playlist details by IDaudius://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
// Stream an audio track
stream-track --trackId "123456"
// 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:
- Install the MCP Inspector:
npm install -g @modelcontextprotocol/inspector
- Run the inspector with your server:
npx @modelcontextprotocol/inspector node ./build/index.js
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.