Skip to content

Repository files navigation

MCP Server for Platinumlist

npm version License: MIT

A Model Context Protocol (MCP) server for discovering events, artists and venues through the Platinumlist API.

Features

  • 🎫 Search events & shows — by name, city, date range, status, event type
  • 🎤 Search artists — by name with pagination
  • 🏟️ Search venues — by name or city with map links
  • 🏙️ Search cities & countries — resolve IDs for event filtering
  • 🗂️ Search event types — categories like Concerts, Sports, Festivals
  • 🌐 Multilingual — responses in English, Arabic, French, Russian, Greek
  • 💱 Currency & timezone — offer prices in your currency, times in your timezone
  • 📅 Always current — results default to today onwards, no stale events
  • 🏷️ Filter by statuson sale, pre-sale, sold out and more
  • Sort by popularity — get the most popular events first (default)
  • 🧩 Structured output — every tool also returns machine-readable JSON
  • 📄 Pagination — navigate through large result sets

Getting API key

The MCP server requires a Platinumlist Discovery API key. To obtain the key, contact Alex at alex.nesvet@platinumlist.net


Step 1 — Install Node.js

npx is included with Node.js. You need to install it once on your machine.

Windows

  1. Go to nodejs.org
  2. Click the LTS button to download the installer
  3. Run the installer with default settings
  4. Open Command Prompt or PowerShell and verify:
node -v
npm -v

Alternatively, using winget:

winget install OpenJS.NodeJS.LTS

macOS

Using Homebrew (recommended):

brew install node

Or download from nodejs.orgLTS and verify:

node -v
npm -v

Ubuntu / Linux

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

Step 2 — Configure Claude Desktop

Open your Claude Desktop config file:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Add the following:

{
  "mcpServers": {
    "platinumlist": {
      "command": "npx",
      "args": ["-y", "@platinumlist/mcp-server"],
      "env": {
        "API_KEY": "your-platinumlist-api-key",
        "LANGUAGE": "en",
        "API_CURRENCY": "AED",
        "CLIENT_TIMEZONE": "Asia/Dubai"
      }
    }
  }
}

Only API_KEY is required — LANGUAGE, API_CURRENCY and CLIENT_TIMEZONE are optional defaults (see Configuration) and can also be changed at runtime via the set_language / set_preferences tools.

Restart Claude Desktop — the 🔌 MCP icon will appear in the interface.


Configuration

Variable Required Description
API_KEY Your Platinumlist API key (see Getting API key)
API_BASE_URL API base URL (default: https://api.platinumlist.net/v/7)
LANGUAGE Default response language: en, ar, fr, ru, el (default: en)
RATE_LIMIT_REQUESTS Max API requests per window (default: 30)
RATE_LIMIT_WINDOW_MS Rate limit window in ms (default: 60000 = 1 min)
API_TIMEOUT_MS Per-request API timeout in ms (default: 20000 = 20 s)
API_CURRENCY Default currency for offer prices, ISO 4217 (e.g. AED, USD)
CLIENT_TIMEZONE Default client IANA timezone (e.g. Asia/Dubai)

Available Tools

Full parameter reference: TOOLS.md

Tool Description
search_events Search events with flexible filters
get_event Full details of an event by ID
get_event_promo_medias Promotional images and videos for an event
search_event_shows Search individual show dates across all events
get_event_show Full details of a specific show by ID
get_event_show_offers Ticket offers (pricing) for a specific show
search_artists Search artists by name
get_artist Full details of an artist by ID
search_venues Search venues by name or city
get_venue Full details of a venue (address, map link)
search_cities Search all cities
search_active_cities Search cities that have active events
get_city Full details of a city by ID
search_countries Search countries
get_country Full details of a country by ID
search_event_types Search event categories (Concerts, Sports…)
get_event_type Details of a type with parent/children hierarchy
set_language Set response language for the session
set_preferences Set session currency and client timezone
get_rate_limit_status Check remaining API request quota

Every read tool above returns both formatted text and a structuredContent JSON object (via the tool's outputSchema). Clients that support MCP structured output read the JSON automatically; others fall back to the text. No format parameter, no separate tools. See TOOLS.md.


Example Usage

Once connected, you can ask Claude naturally:

Find me events in Dubai next month that still have tickets available,
sorted by popularity. Show the top 5.
Search for venues in Abu Dhabi and show me the address and map link for the first result.
Find the artist Coldplay and get their full details.
Are there any pre-sale events happening between July 1 and July 31?
What event categories are available? I'm looking for something sports-related.
Покажи ближайшие концерты в Дубае.
أظهر لي الفعاليات القادمة في دبي.

For Developers — System Prompt

If you are integrating this MCP server into your own application via the Anthropic API, add the following system prompt to enable automatic language detection and smart rate limit handling:

You are a helpful assistant for discovering events, artists, and venues through Platinumlist.

## Language
Detect the language of each user message and call set_language with the appropriate code
before making any other tool calls. Supported: en, ar, fr, ru, el. Use en as fallback
for unsupported languages. If the user explicitly requests a different language, call
set_language to switch. Apply the same language consistently across all tool calls
within one user request.

## Currency & timezone
If the user asks for prices in a specific currency (e.g. "in USD") or states their
location/timezone, call set_preferences with currency (ISO 4217, e.g. AED/USD) and/or
timezone (IANA, e.g. Asia/Dubai). These persist for the session.

## Rate limits
Before executing tasks that require more than 5 tool calls, check get_rate_limit_status
first. If remaining requests are low, inform the user and suggest waiting before
proceeding with large tasks.

Claude Desktop users — you can add this to your config as a systemPrompt field, or simply start a conversation and Claude will handle language detection automatically based on what you type.


License

MIT © Platinumlist

About

MCP server for searching events through the Platinumlist Discovery API

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages