Back to Templates

BBC Radio & Music API Integration Hub for AI Assistants

Created by

Created by: David Ashby || cfomodz

David Ashby

Last update

Last update 5 days ago

Share


⚠️ ADVANCED USE ONLY - Radio & Music Services MCP Server (75 operations)

🚨 This workflow is for advanced users only!

This MCP server contains 75 operations which is significantly more than the recommended maximum of tools for most AI clients.

🔍 Recommended Alternative for basic use cases

Seek a simplified MCP server that utilizes the official n8n tool implementation for Radio & Music Services if available, or an MCP server with only common operations as it will be more efficient and easier to manage.

🛠️ Advanced Usage Requirements

BEFORE adding this MCP server to your client:

Disable or delete unused nodes - Review sections and disable/delete those you don't need

AFTER adding the MCP server to your client:
1.Selective tool enabling - Instead of enabling all tools (default), manually select only the specific tools you need for that Workflow's MCP client.
2. Monitor performance - Too many tools can slow down AI responses

💡 Pro Tips

Keep maximum 40 enabled tools - Most AI clients perform better with fewer tools

  • Group related operations and only enable one group at a time

  • Use the overview note to understand what each operation group does

  • Ping me on discord if your business needs this implemented professionally

⚡ Quick Setup

  1. Import this workflow into your n8n instance
  2. Credentials Add Radio & Music Services credentials
  3. Activate the workflow to start your MCP server
  4. Copy the webhook URL from the MCP trigger node
  5. Connect AI agents using the MCP URL

🔧 How it Works

This workflow converts the Radio & Music Services API into an MCP-compatible interface for AI agents.

MCP Trigger: Serves as your server endpoint for AI agent requests
HTTP Request Nodes: Handle API calls to https://rms.api.bbc.co.uk/
AI Expressions: Automatically populate parameters via $fromAI() placeholders
Native Integration: Returns responses directly to the AI agent

📋 Available Operations (75 total)

🔧 Broadcasts (3 endpoints)

GET /broadcasts: Broadcasts
GET /broadcasts/latest: Latest Broadcasts
GET /broadcasts/{pid}: Broadcasts by PID

🔧 Categories (2 endpoints)

GET /categories: List of categories
GET /categories/{id}: Category by ID

🔧 Collections (1 endpoints)

GET /collections/{pid}/members: Collection Members

🔧 Experience (1 endpoints)

GET /experience/homepage: Homepage Experience

🔧 Music (6 endpoints)

GET /music/popular/artists: Popular Artists
GET /music/popular/artists/{id}: Single Artist Popularity
GET /music/popular/playlists: Popular Playlists
GET /music/popular/playlists/{id}: Single Playlist Popularity
GET /music/popular/tracks: Popular Tracks
GET /music/popular/tracks/{id}: Single Track Popularity

🔧 My (54 endpoints)

DELETE /my/categories/follows: Unfollow category
GET /my/categories/follows: List of followed categories
POST /my/categories/follows: Follow category
GET /my/music/export: Music Exports
GET /my/music/exports/jobs: Music Export Jobs
POST /my/music/exports/jobs: Music Export Jobs
GET /my/music/exports/tracks: Music Export Tracks
GET /my/music/favourites: Favourite Tracks or Clips
POST /my/music/favourites: Favourite Tracks or Clips
PUT /my/music/favourites: Favourite Tracks or Clips
GET /my/music/favourites/{type}: Favourite Tracks or Clips by Type
DELETE /my/music/favourites/{type}/{id}: Favourite Track or Clip
GET /my/music/favourites/{type}/{id}: Favourite Track or Clip
POST /my/music/favourites/{type}/{id}: Favourite Track or Clip
PUT /my/music/favourites/{type}/{id}: Favourite Track or Clip
GET /my/music/follows: Followed Networks, Categories, Artists, Playlists and Genres
POST /my/music/follows: Followed Networks, Categories, Artists, Playlists and Genres
PUT /my/music/follows: Followed Networks, Categories, Artists, Playlists and Genres
GET /my/music/follows/{type}: Followed Networks, Categories, Artists, Playlists and Genres by Type
DELETE /my/music/follows/{type}/{id}: Followed Network, Category, Artist, Playlist and Genre
GET /my/music/follows/{type}/{id}: Followed Network, Category, Artist, Playlist and Genre
POST /my/music/follows/{type}/{id}: Followed Network, Category, Artist, Playlist and Genre
PUT /my/music/follows/{type}/{id}: Followed Network, Category, Artist, Playlist and Genre
DELETE /my/music/preferences/export: Music Export Preferences
GET /my/music/preferences/export: Music Export Preferences
POST /my/music/preferences/export: Music Export Preferences
DELETE /my/music/preferences/export/{vendor}: Music Export Vendor Preferences
GET /my/music/preferences/export/{vendor}: Music Export Vendor Preferences
POST /my/music/preferences/export/{vendor}: Music Export Vendor Preferences
PUT /my/music/preferences/export/{vendor}: Music Export Vendor Preferences
DELETE /my/networks/follows: Unfollow network
GET /my/networks/follows: List of followed networks
POST /my/networks/follows: Follow network
POST /my/plays: Write Play Event
GET /my/playspace/containers/suggested: Suggested Playspace Container
GET /my/playspace/containers/{id}: Playspace Container by ID
GET /my/programmes/recommendations: Recommended Programmes
GET /my/radio/favourites: Favourite Episodes and Clips
POST /my/radio/favourites: Favourite Episodes and Clips
PUT /my/radio/favourites: Favourite Episodes and Clips
GET /my/radio/favourites/{type}: Favourite Episodes and Clips by Type
DELETE /my/radio/favourites/{type}/{pid}: Favourite Episode or Clip
GET /my/radio/favourites/{type}/{pid}: Favourite Episode or Clip
POST /my/radio/favourites/{type}/{pid}: Favourite Episode or Clip
PUT /my/radio/favourites/{type}/{pid}: Favourite Episode or Clip
GET /my/radio/follows: Followed Brands and Series
POST /my/radio/follows: Followed Brands and Series
PUT /my/radio/follows: Followed Brands and Series
GET /my/radio/follows/{type}: Followed Brands or Series by Type
DELETE /my/radio/follows/{type}/{pid}: Followed Brand or Series
GET /my/radio/follows/{type}/{pid}: Followed Brand or Series
POST /my/radio/follows/{type}/{pid}: Followed Brand or Series
PUT /my/radio/follows/{type}/{pid}: Followed Brand or Series
GET /my/radio/plays: Played Episode or Clip

🔧 Podcasts (4 endpoints)

GET /podcasts: All Podcasts
GET /podcasts/featured: Featured Podcasts
GET /podcasts/{pid}: Podcast
GET /podcasts/{pid}/episodes: Podcast Episodes

🔧 Radio (4 endpoints)

GET /radio/networks.json: Networks
GET /radio/popular: Popular Episodes & Clips
GET /radio/programmes: Radio programmes
GET /radio/programmes/{pid}: Available radio programme by Pid

🤖 AI Integration

Parameter Handling: AI agents automatically provide values for:
• Path parameters and identifiers
• Query parameters and filters
• Request body data
• Headers and authentication

Response Format: Native Radio & Music Services API responses with full data structure

Error Handling: Built-in n8n HTTP request error management

💡 Usage Examples

Connect this MCP server to any AI agent or workflow:

Claude Desktop: Add MCP server URL to configuration
Cursor: Add MCP server SSE URL to configuration
Custom AI Apps: Use MCP URL as tool endpoint
API Integration: Direct HTTP calls to MCP endpoints

✨ Benefits

Zero Setup: No parameter mapping or configuration needed
AI-Ready: Built-in $fromAI() expressions for all parameters
Production Ready: Native n8n HTTP request handling and logging
Extensible: Easily modify or add custom logic

🆓 Free for community use! Ready to deploy in under 2 minutes.