by glassBead-tc
audius-mcp-atris is a Model Context Protocol (MCP) server that enables Large Language Models (LLMs) to interact with the Audius music platform. It provides an extensive set of tools for natural language interaction, allowing users to discover music, manage content, and analyze data on Audius through conversational AI.
audius-mcp-atris is a Model Context Protocol (MCP) server designed to provide comprehensive access to the Audius music platform via Large Language Models (LLMs). It offers 105 tools, covering approximately 95% of the Audius Protocol API, enabling natural language interaction with Audius content.
Installation:
npm install audius-mcp-atris
or yarn add audius-mcp-atris
npm install
and npm run build
.Configuration:
Create a .env
file based on .env.example
with your Audius API key and secret.
Running the Server:
npm start
(for production) or npm run dev
(for development).Connecting to LLMs (e.g., Claude):
claude mcp add audius npx audius-mcp-atris
claude_mcp_config.json
specifying npx
and audius-mcp-atris
with your API keys.npm install -g audius-mcp-atris
), then configure Claude CLI or Desktop to use the installed command.Natural Language Interaction:
Once connected, you can ask your LLM questions in natural language about Audius content, such as:
Q: What is the Model Context Protocol (MCP)? A: The Model Context Protocol (MCP) allows LLMs to interact with external services and data sources in a structured way. audius-mcp-atris is an MCP server for Audius.
Q: What are the prerequisites for running audius-mcp-atris? A: Node.js 16 or higher is required. An Audius API key is optional but recommended for production use.
Q: Can I use audius-mcp-atris with other LLMs besides Claude? A: Yes, it can be used with any LLM application that supports the Model Context Protocol.
Q: How do I test audius-mcp-atris locally?
A: You can use the MCP Inspector. Install it globally (npm install -g @modelcontextprotocol/inspector
) and then run npx @modelcontextprotocol/inspector node ./build/index.js
.
Q: What kind of data can I access as resources?
A: You can access track, user, playlist, and album data as structured resources using URI templates like audius://track/{id}
.
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 asLATEST_PROTOCOL_VERSION
insrc/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.
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
Reviews feature coming soon
Stay tuned for community discussions and feedback