Connecting AI Assistants & the Pliris API (MCP)

Connect Claude, Cursor, or any MCP client to your Pliris catalog — API keys, OAuth, Pliris Chat, and the full list of tools.

Your entire From Studio to Stage catalog — bands, songs, arrangements, setlists — is reachable from outside the web app. Pliris™ exposes an MCP server that AI assistants can talk to, a command-line tool, and Pliris Chat — ask by SMS, WhatsApp, Slack, or Telegram. Every surface hits the same server and runs with the exact permissions of your account — they can't see or change anything you can't already in the web app.

  • Server (MCP): https://mcp.fromstudiotostage.com
  • CLI package: @fromstudiotostage/pliris (npm)
  • Pliris Chat: SMS +1 844 419 0521 · WhatsApp +1 615 527 4838 · also Slack & Telegram (setup)
  • Rate limit: 60 requests/minute per API key (shared across all clients using that key)

Authentication

There are two ways to authenticate. Both resolve to the same per-user access.

A. API key (works everywhere)

  1. In the web app, go to Settings → MCP access → Generate key. The key (pls_…) is shown once — copy it.
  2. Provide it as a bearer token: Authorization: Bearer pls_….
  3. Revoke any key anytime from the same page. Keys show name, prefix, created date, and last-used date.

B. OAuth 2.0 + PKCE (for clients that support it)

MCP clients that speak OAuth can connect with just the server URL — no manual key. The server implements discovery, dynamic client registration, the authorization code flow with PKCE (S256), and token exchange. The flow:

client → GET  https://mcp.fromstudiotostage.com/.well-known/oauth-authorization-server
client → /authorize → bands.fromstudiotostage.com/oauth/authorize  (you click Allow)
       → /callback → client redirect_uri → /token  (mints a key)  → connected

Both paths require an active Bands subscription — the server checks access on every authenticated request.

Connect an AI assistant (MCP)

The server speaks the Model Context Protocol over HTTP, so any MCP-capable client (Claude Desktop, Claude Code, Cursor, ChatGPT, etc.) can use it.

Claude Code (terminal):

claude mcp add pliris --transport http https://mcp.fromstudiotostage.com \
  --header "Authorization: Bearer YOUR_PLIRIS_API_KEY"

Then start claude, run /mcp to confirm it connected, and ask in plain English.

Claude Desktop / Cursor (config):

{
  "mcpServers": {
    "pliris": {
      "url": "https://mcp.fromstudiotostage.com",
      "headers": { "Authorization": "Bearer YOUR_PLIRIS_API_KEY" }
    }
  }
}

Pro tip: Under Settings → MCP access → Download skill bundle you'll get a SKILL.md, a Claude Desktop config, and a Cursor mcp.json pre-filled — paste your key and go. Direct formats: …/skill?format=skill | claude | cursor.

Pliris Chat (SMS, WhatsApp, Slack & Telegram)

For anyone who just wants answers — no app, CLI, or AI tool.

  1. In the web app, go to Settings → Pliris Chat → SMS → toggle on, enter your mobile number, Save. This one switch turns the assistant on for every channel.
  2. Text a question to +1 844 419 0521, or connect WhatsApp, Slack, or Telegram from the other Settings → Pliris Chat pages.
  3. Reply HELP for tips, STOP to turn it off.

Answers are scoped to the bands you can access and gated on your subscription. See Pliris Chat for the full walkthrough — every channel, every message type, and how to edit setlists or build sets by message.

What you can do — the tools

Every surface above is backed by the same tools:

Tool Returns / does
list_bands Bands you can access — id, name, account, your role
list_songs Songs in a band (+ each song's arrangements: key, tempo, length); optional title search
list_arrangements Arrangements for a song — name, length, key, tempo, sync timecode
list_setlists Setlists in a band, with item counts
get_setlist A setlist with its ordered items + song/arrangement metadata
add_song_to_setlist Append an arrangement to a setlist (requires manage rights on the band)
remove_song_from_setlist Remove an arrangement from a setlist (requires manage rights on the band)
ask_about_songs Natural-language Q&A across your catalog, AI-summarized
list_members Members of an account or band — name, email, role
invite_member Invite to an account (admin) or specific bands (view / download / manage)
remove_member Remove a member from an account
create_arrangement Create a new song + arrangement (or a new arrangement on an existing song) — the catalog entry stems get uploaded to
list_custom_templates Your account's uploaded Ableton templates — id (UUID), name, whether it bundles samples
build_ableton_set Queue a cloud build of a downloadable Ableton set from a setlist or a single arrangement; returns a job_id
get_build_status Status/phase/progress of a build; once done, the .zip download link
analyze_arrangement Mix an arrangement's uploaded stems into a reference and (by default) run music.ai analysis — tempo, key, time signature, sections, lyrics, chords
get_analyze_status Progress/result of an analyze_arrangement call
import_ableton_file Re-import an edited .als/project zip (from a URL) onto an existing arrangement — updates tempo, locators, sections, per-stem clip regions
dynamic_alignment Run dynamic loudness/level alignment across an arrangement's stems so they sit consistently in the mix
get_alignment_status Progress/result of a dynamic_alignment call

Read tools are available to anyone with access to that band. invite_member / remove_member enforce your role — a viewer gets a clear permission error, never a silent change.

For the full build / analyze / import workflows (including custom templates), see Cloud Builds, Custom Templates & Analysis via the API.

Security model

  • Acts as you. Every call runs through the same permission checks and policies as the web app. The tools cannot see or change anything your account can't.
  • Subscription-gated. Authenticated requests require active Bands access.
  • Revocable. Kill any key instantly under Settings → MCP access; OAuth grants are revoked the same way.
  • Rate-limited. 60 requests/min per key.

Troubleshooting

Symptom Likely cause / fix
401 unauthorized Missing/expired key — re-generate under Settings → MCP access
403 No active Bands subscription Subscription inactive — the surface stays read-blocked until it's active
429 Rate limit exceeded >60 req/min on that key — slow down or use a second key
MCP client won't connect Confirm the URL is exactly https://mcp.fromstudiotostage.com and the Authorization: Bearer … header is set
Chat not answering as you Your texting number must match the one saved in Settings → Pliris Chat → SMS (enabled); on Slack use your Pliris email, on Telegram finish the link step
Permission error on invite/remove Your role doesn't allow it on that account/band

Frequently asked questions

How do I connect Claude to my Pliris catalog?

Add the Pliris MCP server at https://mcp.fromstudiotostage.com with your API key as a bearer token — in Claude Code, run claude mcp add pliris --transport http https://mcp.fromstudiotostage.com --header "Authorization: Bearer YOUR_PLIRIS_API_KEY", then /mcp to confirm. For Claude Desktop or Cursor, Settings → MCP access → Download skill bundle gives you a pre-filled config.

Where do I find my Pliris API key?

In the web app under Settings → MCP access → Generate key. The pls_… key is shown only once, so copy it immediately; you can revoke any key anytime from the same page.

Do I have to use an API key, or does OAuth work?

Both work and resolve to the same per-user access. MCP clients that support OAuth 2.0 + PKCE can connect with just the server URL — the server handles discovery, dynamic client registration, and token exchange, so no manual key is needed.

Can an AI assistant see or change things I can't in Pliris?

No — every call acts as you and runs through the same permission checks and policies as the web app, so the tools cannot see or change anything your account can't. Requests also require an active Bands subscription.

What is the rate limit for the Pliris API?

60 requests per minute per API key, shared across all clients using that key. If you hit 429 Rate limit exceeded, slow down or use a second key.

Where to go next

Stuck at any point, click the support bubble in the bottom-right corner of any page, or email support@fromstudiotostage.com. You'll hear back within 24 hours.