SongPilot MCP Server
OfficialClick 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., "@SongPilot MCP ServerCreate artwork for my song 'Midnight Dreams'"
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.
songpilot-mcp (archived)
This adapter is retired. SongPilot now runs a hosted MCP server, so there is nothing to install.
To connect Claude, add a custom connector with this URL and sign in to SongPilot:
https://app.songpilot.ai/agents/mcpClaude Code:
claude mcp add --transport http songpilot https://app.songpilot.ai/agents/mcpSetup: https://songpilot.ai/mcp
Available Tools
1 toolrun_orchestratorA
Run the SongPilot orchestrator to interact with AI agents.
This is the primary interface for interacting with SongPilot's AI system. The orchestrator routes your requests to appropriate specialists (visual-director, manager, publicist, etc.) based on your needs.
Args: message: Your request or question for the SongPilot AI. Examples: - "Create artwork for my song 'Midnight Dreams'" - "Help me plan a release strategy for my new album" - "Write a bio for my artist profile" - "Which of my songs are ready for release?"
session_id: Optional session identifier for conversation continuity.
If omitted, the server maintains session continuity automatically.
Use this if you want to explicitly reference a previous conversation.
context: Optional context about your current activity.
Providing context helps the AI give more relevant responses:
{
"currentPage": "/songs",
"activeTab": "albums",
"focusedResource": {"type": "album", "name": "My Album"}
}
ctx: FastMCP context (auto-injected, used for logging).Returns: The AI's response as text. This may include suggestions, questions, generated content, or action items depending on your request.
Examples: >>> result = await run_orchestrator("Create artwork for my song 'Midnight Dreams'") >>> print(result) "I'd be happy to help create artwork for 'Midnight Dreams'! What style are you envisioning? Minimal, artistic, or something else?"
>>> # Continue conversation with context
>>> result = await run_orchestrator(
... "Make it minimal with blue tones",
... context={"currentPage": "/songs", "activeTab": "singles"}
... )Raises: SongPilotError: If the API call fails (network error, auth error, etc.)
Note: - Session continuity is maintained automatically within a Claude conversation - The orchestrator remembers context from previous messages - API calls may take 10-30 seconds for complex generation tasks
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | ||
| message | Yes | ||
| session_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden and delivers real behavioral facts: session continuity is automatic and server-maintained, calls may take 10-30 seconds for complex generation, and a SongPilotError is raised on network/auth failures. These are the traits an agent needs to set expectations. It does not detail rate limits or what 'session continuity' means across distinct clients, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads purpose well and uses clear sections, but is bloated: the message examples are restated in the Examples block, the Returns prose and doctest duplicate each other, and the Note bullets repeat the session-continuity point already made under session_id. Roughly a third of the text is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-entry orchestrator tool this is close to complete: request intent, session behavior, context hints, latency, and error mode are all covered. An output schema exists, so the description need not explain return values, yet it does so anyway without harm. Missing auth/permission expectations and any payload-size or rate constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate and it largely does: it explains message with concrete examples, explains session_id's optionality and explicit-reference purpose, and spells out the context object with a literal JSON example including currentPage/activeTab/focusedResource. It omits the ctx param (auto-injected, reasonably so) and does not formalize the context schema, keeping it from a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Run the SongPilot orchestrator') and immediately clarifies the mechanism: routes requests to appropriate specialists (visual-director, manager, publicist). An agent knows exactly what this does and what class of tool it is. No siblings exist to distinguish from, but within its own scope it is precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Declares itself 'the primary interface for interacting with SongPilot's AI system,' which tells the agent this is the default entry point, and the message examples show the range of accepted requests. There are no alternative tools to exclude and no when-not-to-use guidance, which caps it below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.2.0- First observed
run_orchestrator
TDQS
Scored across 1 tool
There is only one tool, so there is no possibility of an agent confusing it with another tool. Its purpose (routing natural-language requests to SongPilot specialists) is unambiguous by construction.
The lone name 'run_orchestrator' follows a clear verb_noun snake_case pattern. With a single tool, consistency is trivially satisfied and the name is readable and descriptive.
A single catch-all tool is very thin for the apparent breadth of the domain (artwork, release planning, bios, song status, artist profiles). The router pattern is deliberate, but agents get no discoverable capability surface beyond one opaque entry point.
There are no structured operations for core entities like songs, albums, artists, or releases — no list/get/create/update equivalents. Everything must go through free-text routing, so agents cannot perform predictable, verifiable actions and will fail on tasks requiring structured access.
Maintenance
Related MCP Connectors
One workspace of tools for Claude and ChatGPT: connect 600+ apps, generate media, build tools.
- platform7nOAuthtech.p7n
Connect Claude to your Platform7n workspaces — chat, links, and tasks. One-click OAuth.
Connect an AI assistant to a Capacities space (objects, daily notes, search).
Give Claude, Cursor, or another AI assistant direct access to your QuickSnip library.
Related MCP Servers
- FlicenseAqualityDmaintenanceConnects Claude with Spotify, allowing users to control playback, search for music, get track/artist information, and manage the queue via the Spotify API.51-
- FlicenseDqualityDmaintenanceEnables Claude to interact with Spotify by searching songs, creating playlists, getting recommendations, and managing your music through your Spotify account.73-
- FlicenseNot gradedqualityDmaintenanceEnables Claude to control Spotify features including playback control, playlist management, search, and accessing user's listening history and preferences through the Spotify API.1-
- FlicenseAqualityDmaintenanceIntegrates Spotify with Claude to enable voice-controlled music playback, playlist management, and personalized recommendations through conversational AI. It provides comprehensive tools for searching tracks, managing liked songs, and analyzing listening habits.151-