Skip to main content
Glama
SongPilotAI

SongPilot MCP Server

Official
by SongPilotAI

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/mcp

Claude Code:

claude mcp add --transport http songpilot https://app.songpilot.ai/agents/mcp

Setup: https://songpilot.ai/mcp

Available Tools

1 tool
run_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

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNo
messageYes
session_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness3/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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. 1 tool updatev0.2.0
    • First observedrun_orchestrator

TDQS

A4/5.0

Scored across 1 tool

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count2/5

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.

Completeness2/5

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Integrates 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.
    15
    1
    -