Portal MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Portal MCP Servershow my top tracks by streams in the last 30 days"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Portal Model Context Protocol (MCP) Server
Connect your Portal music distribution catalog and streaming analytics directly to Claude Desktop, Cursor IDE, and ChatGPT.
Features
Streaming Trends & Analytics: Ask your LLM about your daily stream counts, 30/90-day growth, DSP shares (Spotify vs Apple Music), and top-performing tracks.
Catalog Inspection & Compliance Linter: Review tracklists, ISRC codes, UPCs, release artwork, and detect missing metadata before submission.
Safe Draft Fixes: Edit release titles, genres, copyright lines, and track names on draft releases directly via AI prompts.
Kernel-Level Immutability: All distributed, in-review, and approved releases are locked at the PostgreSQL database level (
triggers), making unauthorized modifications structurally impossible.
Related MCP server: ableton-mcp
Quick Start: Connecting to Claude Desktop
1. Generate an MCP Token
Go to Portal Settings -> AI & MCP Integrations -> click Generate Token.
Select your desired permissions (portal:analytics.read, portal:catalog.read, portal:catalog.write_draft).
Copy your token (format: pmcp_live_...).
2. Configure Claude Desktop
Open your Claude Desktop configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add the portal server:
{
"mcpServers": {
"portal": {
"command": "npx",
"args": ["-y", "@blackmatter/portal-mcp"],
"env": {
"PORTAL_API_KEY": "pmcp_live_YOUR_TOKEN_HERE"
}
}
}
}Restart Claude Desktop. The hammer icon will show the Portal tools available!
One-Click Install via Smithery
Install automatically for Claude Desktop using the Smithery CLI:
npx -y @smithery/cli install @blackmatter/portal-mcp --client claudeQuick Start: Connecting to Cursor IDE
Add to your project's .cursor/mcp.json or your global Cursor MCP settings:
{
"mcpServers": {
"portal": {
"command": "npx",
"args": ["-y", "@blackmatter/portal-mcp"],
"env": {
"PORTAL_API_KEY": "pmcp_live_YOUR_TOKEN_HERE"
}
}
}
}Available Tools
Tool | Scopes Required | Description |
|
| Total streams, 30d/90d counts, Spotify listeners for user's artists. |
|
| Granular breakdown per release and DSP for a specific artist ID. |
|
| Lists user's releases with status filtering and pagination. |
|
| Complete release metadata, tracks, ISRCs, and artwork. |
|
| Diagnoses missing metadata, empty genres, unlinked audio, or unassigned ISRCs. |
|
| Updates title, genre, copyright lines for Draft/Edit releases. |
|
| Updates track title, ISRC, explicit flag for Draft/Edit tracks. |
|
| Submits a valid draft for compliance review ( |
Security Guarantees
Zero Service-Role Leaks: The server never operates as a master admin. All requests are authenticated and bound to the user's
auth.uid().PostgreSQL RLS: You can only ever see and touch data that your Portal account owns.
Database-Level Immutability:
releases_enforce_immutability_on_locked_states: Releases inProcessing,In Review,Approved,Takedown Pending, orTakedowncannot have metadata modified or rows deleted.tracks_enforce_immutability_on_locked_release: Tracks belonging to locked releases cannot be added, modified, or deleted.
Remote Mode (SSE / HTTP)
For web clients, remote MCP hosts, and cloud agents:
npx -y @blackmatter/portal-mcp --sse --port=3000SSE Endpoint:
http://localhost:3000/sseMessage Endpoint:
http://localhost:3000/messageAuthentication: Pass
Authorization: Bearer pmcp_live_...or query parameter?token=pmcp_live_....
Development & Contributing
Contributions are welcome!
git clone https://github.com/BlackMatter-Studios/portal-mcp.git
cd portal-mcp
npm install
npm test
npm run buildLicensed under the Apache-2.0 License.
This server cannot be deployed
Maintenance
Related MCP Connectors
Talk to your live-events CRM (campaigns, analytics, paid ads, segments) in Claude and ChatGPT.
Connect Claude, Cursor, or ChatGPT to your business data. Ask questions, get answers.
Connect your ads, shop, analytics, social, CRM and finance platforms once, then let Claude, ChatGPT, Cursor or any MCP client read, join and explain your numbers. Public statistics from the World Bank, IMF, Eurostat, OECD, WHO and SEC filings come as context, searchable and chartable from the same tools. Read-only by design, every number carries its source.
Connect your team's living knowledge base — docs, data, issues, CRM — to Claude and ChatGPT.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables natural language control over Ableton Live for generating musical patterns, melodies, and full song arrangements. It also provides tools for sample searching and mixing assistance through an OSC-based connection with Claude Desktop.1MIT
- AlicenseBqualityFmaintenanceConnects Ableton Live to Claude AI through the Model Context Protocol, enabling AI-assisted music production and Live session manipulation via over 200 tools.10055MIT
- AlicenseNot gradedqualityDmaintenanceEnables semantic search of local audio samples by describing sounds, MIDI generation, stem separation, and other music production tools from Claude Desktop.2MIT

SongPilot MCP Serverofficial
AlicenseAqualityFmaintenanceEnables AI assistants like Claude to interact with SongPilot workspace for creating artwork, planning releases, writing bios, and managing music catalog.1MIT